CircleCI nightly automation

A Qxf2 client is using CircleCI for their continuous integration and deployment needs. We decided to run a small subset of critical tests in our automation suite against every new commit and deploy. We also run our entire automation suite, which takes longer, once every night. This post outlines how we setup CircleCI to achieve this setup. Why this post? […]

How to compare PDFs using Python

Problem:How do you compare two PDF files programmatically using Python? Adobe makes it easy to compare the changes in two PDF files. However as testers, we sometimes need to compare a lot of PDF files (especially reports!) against some preset baselines. In these cases, it helps to have a script that can compare PDF files and tell you if they […]

Common XPath mistakes

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 […]

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 […]

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 […]