Ever wondered if your XPath is good enough? Did your XPath break for any minor changes made in the webpage? Did your XPath return a different element? If your answer to one of those questions is yes, then this is the right post for you. Why this post? While learning to write XPaths, I made a few mistakes that were […]
Common XPath mistakes
Getting started with XPaths
Assuming you already know what you want to automate and that you have a good reason to automate it, then GUI automation is largely about: a) identifying a web element you want to interact with b) performing an action on the identified element c) repeat steps a),b) until you have automated the workflow that you identified. To perform step a), […]
State of Testing Survey 2016
The State of Testing Survey 2016 goes live on Thursday, January 7th, 2016. This is a worldwide survey that tries to identify the existing state of testing. Taking the survey is one step into bringing more transparency into our profession. If you are a professional tester, I strongly recommend participating in the survey. Like most surveys, you will receive a […]
Getting started with MongoDB and Python
I was recently playing around with MongoDB. It took me a little while to get setup and write some simple Python scripts to access it. I thought I would write up a summary and share my learning. Why this post? Companies have begun adopting MongoDB at a good clip. I think, interacting with a NoSQL database will soon become a […]
InsecurePlatformWarning: A true SSLContext object is not available
I was using Python’s Requests module at a recent client engagement. I and ran into this error: requests/packages/urllib3/util/ssl_.py:100: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.requests/packages/urllib3/util/ssl_.py:100: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL […]
Reporting automation results to TestRail using Python
We have been hard at work integrating our Python based GUI automation framework (that uses the Page Object pattern) with a test case management tool for reporting purposes. In this post we will show you how to report the results of your automated checks to a visual test case management tool – TestRail. TestRail offers a free trial – so […]
Connecting to BrowserStack from CircleCI containers
Problem: How do I connect to BrowserStack from CircleCI’s build containers? Why this post? A recent Qxf2 client was using CircleCI for their continuous integration and deployment needs. Partnering with our client, we had identified that it would be useful to run a minimal set of automated GUI tests as part of their continuous integration and deployment process. The GUI […]
Setup Python and Selenium tests on CircleCI
Problem: Many testers do not get a chance to explore CircleCI Why this post? CircleCI is powerful, fast and easy-to-use Continuous Integration and Deployment tool for web applications. CircleCI seems to be growing in popularity as a cloud based continuous integration and deployment tool. Due to a variety of reasons, many testers do not get the opportunity to explore and […]
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 […]
Selenium tutorial for beginners
We recently presented a Selenium tutorial aimed at beginners. Avinash Shetty of Qxf2 Services presented the tutorial as part of the Mangaluru Software Testing group meetup at Mangalore Infotech’s spacious office. Several members who attended the meetup found the talk and examples useful. So we thought we would share the material on our blog too. You can practice your Selenium […]