We have open-sourced our test automation framework. You can now write Selenium and Appium tests in Python using the Page Object pattern. Our Pythonic web, mobile and REST API test automation framework will help you get started with QA automation quickly. It comes with many useful integrations like – email, Slack, TestRail, BrowserStack, Sauce Labs, etc. You can find it […]
Qxf2 has open sourced a Python-based automation testing framework
A configurable pothole for testing autonomous cars – Part 4
This is our last post in a four-part series about building a configurable pothole for testing autonomous cars. We built the configurable pothole prototype with five independent Scotch Yoke units controlled by servo motors and an Arduino UNO. For more background, please read the previous post of this series where we discuss how to interface Scotch Yoke units with Arduino UNO and […]
A configurable pothole for testing autonomous cars – Part 3
This is our third post about building a configurable pothole to test autonomous cars. We are making the configurable pothole with five independent Scotch Yoke units controlled by servo motors and an Arduino UNO. For more background, please read the second post of this series where we discuss two methods which convert angular movement to linear movement, why we selected […]
A configurable pothole for testing autonomous cars- Part 2
Autonomous cars are becoming a reality. We were wondering how testers could contribute to overcoming the engineering challenges related to self-driving cars. In the previous post of series, we discussed how self-driving cars work, typical sensors used in self-driving cars and some unconquered engineering challenges for self-driving cars. At the end of the post, we decided pothole detection was a suitable […]
A configurable pothole for testing autonomous cars – Part 1
A lot of research and development activity is going towards producing self-driving cars. Google and Tesla are playing a major role. We read many articles to figure out what all the fuss was about. And before we knew it, we were hooked. We even tried to imagine where we, testers, could play a role. We ended up building a configurable […]
Python+Selenium+pytest tutorial
One of our clients recently introduced us to a really nice, Pythonic test runner called pytest. Thank you Vachan Wodeyar of Kahuna, Inc. for introducing and helping us get started with pytest! Our GUI automation framework lacked a good test runner. So it was tough to run all our tests with just one command. It also made reporting results […]
Get started with SQLite and Python
There are times when we repurpose our automated checks to scrape information off the pages it visits. This can happen when you are using automation to explore a product, looking for patterns in client data, analyzing production data to spot patterns, etc. Storing the scraped data can be tricky. Approaches to storing the scraped data range between two extremes: a) […]
Get Set Test an iOS app using Appium and Python
It has been more than a year since I wrote my first blog on mobile automation using Appium for Android applications. There were many requests to come up with a similar blog for iOS applications. But due to time constraints I couldn’t get to it. But as they say, better late than never! I finally have a guide to help […]
Obtaining BrowserStack screenshots and video links
At Qxf2 we use BrowserStack to run our automated checks against different browsers. BrowserStack is a cloud-based, cross-browser, testing tool that takes away the pain of maintaining a physical lab and saves us a lot of time. Why this post? BrowserStack is a great tool to execute your automated tests. However BrowserStack is not a good tool to report the […]
Selenium & HTML5 canvas: Verify what was drawn
Problem: How do you verify what was drawn on a canvas element using Selenium? Why this post? The HTML5 canvas element is opaque to Selenium and does not lend itself well to GUI automation. An application I was testing had an HTML5 canvas element that users could interact with. Users could place pre-defined objects upon the canvas element and then […]