While trying to send a WebSocket transaction, I hit the following error Connection is already closed. I received this error when working on an application that involved a WebSocket connection. The Websocket handshake between the client and server was successful. After that I was able to send data to server using ws.send(“request_data_1”). I had no trouble receiving the data using […]
WebSocket Error – Connection is already closed.
WebSocket testing
A WebSocket is a standard protocol for two-way data transfer between a client and server. It is supported by all modern browsers. Why this post? My know-how of WebSocket connections was very limited. When I had to test an application which involved a WebSocket connection, I couldn’t find much information on how to go about testing it. It took me […]
Pytest-xdist: Run tests in parallel
Problem: How do you run tests in parallel with pytest? We have begun using pytest as our test runner at most of our clients. At one client, our tests are triggered by CircleCI and run on BrowserStack. Our GUI automation suite grew in size and was starting to take a long time to run against a vast combination of OSes […]
How to investigate pytest-warnings
We recently integrated pytest, a Pythonic test runner, with our framework. After the tests were executed, pytest threw a couple of warnings. We decided to share our findings as the Google search results to debug the pytest-warnings were not quite revealing. Solution: Use thepy.test -r wcommand to gather additional information about the warnings. Reporting in pytest: The py.test command runs […]
Urllib’s urlencode: The weird case of %22 and %27
When I was doing some API testing using Python Mechanize, I struck an internal server error. I tried to find the root cause of the error and I realized that Python’s urllib is doing something weird when encoding strings. It is replacing double quotes with single quotes. I spent more than hour to debug this issue before I realized what […]
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 […]
An analogy to understand web APIs
I noticed many testers with no knowledge of web APIs do not have an easy way to start learning about them. Most tutorials directly dive into the technical details of how to use APIs as part of writing automated checks. I wanted to provide an easy analogy for APIs that will set you up to explore this topic further. DISCLAIMER: […]
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) […]