This post will show you how to use Python to parse Google Calendar events. Google’s API documentation is good but we haven’t found a realistic example anywhere. So we are sharing what we have. In this post, you will learn to look for all-day events with the word ‘PTO’ in the event title. Overview Here are the steps we will […]
Parsing Google Calendar events with Python
Easily Maintainable API Test Automation Framework
For a long time, Qxf2’s API tests were not really object-oriented. We were relying on (at best) a facade pattern or (at worst) the God class anti-pattern. Our colleague, David Schwartz of Secure Code Warrior, helped us make our API automation framework more object-oriented and easier to maintain. Thanks, Dex, for all the guidance, examples, code, code reviews and for […]
Scraping websites using Octoparse (no programming!)
Did you know you can scrape data from webpages without writing a single line of code? In this post, we will talk about a tool called Octoparse. We used Octoparse to scrape data from a list of URLs, without any coding at all. Data is valuable and it’s not always easy to get the correct data from the web sources […]
Qxf2 has open sourced a Python-based automation testing framework
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 […]
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) […]