D
D
Doglexx2019-02-26 19:46:36
Automation
Doglexx, 2019-02-26 19:46:36

Translation of test framework (Selenium/Facebook PHP WebDriver) into another language?

Good afternoon!
There is a framework for functional testing, which is written on top of the Selenium bundle (Facebook PHP WebDriver) in PHP.
From the functionality:
- navigation, searching for elements and checking their status (there is / is not on the page, visible / invisible, etc.), various interactions with them (click, hover, enter a value, etc.), waiting for various states elements
- parsing HTML (Simple HTML DOM library)
- logging (a simple self-written logger)
- working with the database (preparing data before the test, searching for the necessary objects for work)
The essence of the problem.
Initially, PHP was chosen for automation because The tested web project is also written on the PHP/JS/MySQL stack, and in which case, one of the developers could join in writing the tests.
Over time, it became clear that there is always work for developers on the main project, and PHP is in little demand in the QA automation environment and it is extremely problematic to find a person for support in which case it is extremely problematic.
As far as I understand, there are much fewer tools and libraries than in Java, JS, Python + it is much easier to find an automator in these languages.
In light of the situation described above, from time to time there is a desire to rewrite the framework into a more popular language.
The volume of the framework, including tests, is currently ~ 10,000 lines.
At the moment I have commercial experience only in PHP\JS. I wrote a number of tests in Python in the context of taking courses, I liked the language, I am superficially familiar with Java.
I am considering the following solutions to the problem:

  • Leave it as is, in PHP. The option is a priority for obvious reasons - the framework has already been written, there is experience with PHP, unlike other languages.
  • switch to Java. Native language for Selenium, many libraries, but entry threshold is higher than other languages
  • switch to js. Gaining popularity, relatively easy to learn. Based on Java :)
  • switch to Python. It seemed simpler and clearer than JS, quite popular. But this is repulsed by the uncertainty with the versions of the language itself and, accordingly, libraries, which for 10 years has not been able to switch from version 2 to version 3.

Personally, if I decide to rewrite, I tend to prioritize:
1. Python
2. JS
3. Java (extremely reluctantly because it is much more difficult than the rest, maybe I'm wrong, and I have no experience with it)
Thanks to those who read to the end. And I will be doubly grateful to those who tell me what to do from the height of their experience)
ps I kindly ask you not to slide into holywar.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
Y
yayashitoya, 2019-02-26
@yayashitoya

It is not difficult for a QA engineer to learn another language. If he really knows, say Python
The economic feasibility of rewriting a ready-made solution is not clear.

R
Roman, 2019-02-26
@procode

Well, except perhaps for self-development))
You understand that all the languages ​​listed are approximately the same and have their own strengths and weaknesses.
Here, as Russian women say: **d to **d to change is only a waste of time))))
If for professional growth and with an eye to the future, I would choose Java.
And if we talk about the business side of the issue - most likely we need a good refactoring of the code in the source language.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question