[PYTHON] Memories of fighting with Selenium

At first

This article is the 25th article of Selenium / Appium Advent Calendar 2016. I received a large bird of refrain.

encounter

I met Selenium when I was in the second company. I worked as an engineer at a commercial package software vendor. When renewing the product I was involved in from the old version [^ 1] to the new version [^ 2], the issue was how to maintain quality, and we talked about automated testing. At that time, there were certainly various web screen automatic testing tools [^ 3], and as a result of comparison, I decided to use Selenium.

Selenium2 Selenium 3 is out now, but at that time Selenium 2 was just out. Unlike now, only Chrome was operating using a dedicated exe, so IE stopped with an error, even if it worked, it was easy for me, and for me who was aiming for multi-browser testing, it was a real worry. did. It's sensuous, but the sense of stability of each browser using Selenium is Chrome >>>>>>>>>>>>>>> FireFox >>>> {Insurmountable Wall} >>>>>>> IE It was that kind of feeling. I remember that IE Driver came out from the middle and the operation of IE became stable at once, and I was saved from the bottom of my heart. Now that the exe for FireFox has been developed, I think it's a good time.

Various problems and solutions

It's easy to get your browser running automatically. Selenium University teacher will do all the difficult things. The problem is operation. Unlike unit tests, the cost of automated web screen testing is very high, so we made various efforts to reduce it. In particular

--Test case description cost --Multi-browser support cost --Cost due to parameter change --Cost of preparing the environment

Was solved by using a self-made tool that wraps Selenium and a service that provides a test environment. Please see Presentation at PyConJP2015 for specific details. By the way, at this point, it is the one when I belonged to the 4th company. By the way, it is the 5th company now.

What I want to do from now on

I would like to take advantage of this experience even at the company I belong to so that I can carry out automatic web screen tests on a daily basis. After all, the balance with cost becomes a problem, so now I think that I should start with a fully automatic startup check only with Chrome. If you would like to work with us, or if you are interested in us, please contact us from at the bottom of the top page of our engineer blog on Qiita. is. We look forward to!

[^ 1]: Execution environment is Windows only, implemented in Delphi, server side is Java [^ 2]: Regardless of the OS of the execution environment, it will be reborn as a Web application to JavaScript, and the server side will remain Java [^ 3]: I remember CasperJS as if it was a comparison target.

Recommended Posts

Memories of fighting with Selenium
Scraping with selenium
Scraping with selenium ~ 2 ~
Scraping with Selenium
Beginning with Selenium
Automatic operation of Chrome with Python + Selenium + pandas
ScreenShot with Selenium (Python)
Scraping with Selenium [Python]
Scraping with selenium in Python
Scraping with Selenium + Python Part 1
Equation of motion with sympy
Python: Working with Firefox with selenium
Get a list of purchased DMM eBooks with Python + Selenium
Scraping with Selenium in Python
Parallel processing with Parallel of scikit-learn
I want to color black-and-white photos of memories with GAN
Prediction of Nikkei 225 with Pytorch 2
Scraping with Selenium + Python Part 2
Prediction of Nikkei 225 with Pytorch
Try Selenium Grid with Docker
I-town page scraping with selenium
Error-free calculation with big.Float of golang
Implementation of Bulk Update with mongo-go-driver
Grid search of hyperparameters with Scikit-learn
Play with numerical calculation of magnetohydrodynamics
Judgment of holidays including holidays with bash
Scraping with Selenium in Python (Basic)
Scraping with Python, Selenium and Chromedriver
Summary of scraping relations (selenium, pyautogui)
Getting Started with Python Basics of Python
Make testing with Selenium more accessible
Life game with Python! (Conway's Game of Life)
Prediction of Nikkei 225 with Pytorch ~ Intermission ~
Automation of remote operations with Fabric
10 functions of "language with battery" python
Prediction of sine wave with keras
4th night of loop with for
Basics of touching MongoDB with MongoEngine
Implementation of Dijkstra's algorithm with python
Coexistence of Python2 and 3 with CircleCI (1.0)
Bookkeeping Learned with Python-The Flow of Bookkeeping-
Application of graphs with plotly sliders
Basic study of OpenCV with Python
4/22 prediction of sine wave with keras
[EC2] How to take a screen capture of your smartphone with selenium
Automatic posting of web design gary site with python + selenium (1) Environment construction