Automation using the Selenium
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Practice selenium code to make automation of some test on the

This is my current project, on which I'm working as a software tester. As I started, I have tested it manually ("black box") and now I'm able to provide some automated tests, to improve efficiency of testing.

  1. I have automated some tests, which were not easy to automate, but the problem is, that the tests execution need a huge amount of time. Every test can be played many times until the result appears. The issue is on the website, which throws many errors. Thats why the tests must to be played many times in a row.

I found a solution, which can can improve a velocity of tests. I need to implement a multithreading system, which allows to run many tests at the same time. Theoretically it can reduce the execution time up to 6 time. But the main problem is with the website, which I can't avoid.

In the folder "main" is now the newest version of Browserstack Automation. This version is built using multithreading, which performance is about 50 times faster then previous version. The previous version had a queue of 6 tests and each test should have 3 successfully generated screenshots in a row to pass this test, otherwise the test should be ran one more time from the beginning. I thought, that it is too slow and not effective. The tests were running many hours, especially when iPad screenshots were not generated for a many times. Actually iPad screenshots failing most of the times, then coming Samsung screenshots, which have medium failure rate and most stable screenshots are Desktop.

The strategy is to use all the test separately and all the screenshots (Desktop, Samsung an iPad) separately too. Threads solved this task very good. I run now all 6 tests separately in the same time and I'm not using all three devices per attempt anymore. First I make Desktop for all tests, then Samsung and then iPad. All the tests are running independent from each other, that allows to move to the goal without to waiting another tests.

Add a ZIPing for the 5th Thread. It is needed because of similar screenshots on the tests 2 and 5. This is the way to know, which screenshot from which test.