Documentation is good, but it lacks real-time examples. Providing real-time examples would be really helpful. Some parts are not automatable, especially CAPTCHAs and complex applications where objects are not identified properly. This requires manual intervention and object identification adjustments, which can be time-consuming.
In the future, Selenium should be able to automate desktop-based applications, as it is not currently able to handle non-web-based, Windows-based applications. Additionally, there is a need for Selenium to be more user-friendly, allowing users from all backgrounds to automate test cases without requiring too much coding knowledge.
Automation Leader at a energy/utilities company with 1-10 employees
Real User
Top 20
2024-10-18T04:27:00Z
Oct 18, 2024
There is a challenge with concurrent testing, where parallelization is not fully supported. Sequential tests depending on each other cannot be executed in parallel. This feature could be improved.
One key area for improvement is the documentation. It is difficult to navigate, especially when integrating with other frameworks. Clearer guidance on best practices and more streamlined workflows are needed. I recommend building an ecosystem around it that allows easier integration with other project management and communication tools, such as Slack or Jira, to facilitate collaboration and streamline the testing process.
The solution could be improved regarding communication with browsers, as it is slower and a bit tricky compared to other frameworks. However, with the latest changes involving BiDirectional communication, it is becoming a top choice in automation frameworks.
There are some synchronization issues with Selenium HQ; often, the solution is unable to match the browser speed, which has led to poor results. Some mechanisms should be added to Selenium HQ to improve synchronization. It's an open-source solution with regular updates, but previously, in the 3.14.0 version at our company, we had to setup the ChromeDrivers, but in the latest feature, it wasn't necessary as the solution got easily integrated into the cloud.
QA Team Lead at a comms service provider with 10,001+ employees
Real User
2022-11-23T15:06:10Z
Nov 23, 2022
We are thinking about codeless automation, like what ACCELQ offers. They could maybe release a similar product that would be a codeless product. The initial setup was difficult. It would be nice to have it on the cloud, like ACCELQ. That way, we don't need to set up it ourselves and don't need hardware for that. That would also allow for many people at many subsidiaries or locations to work simultaneously with it. I'd like the possibility of automatically checking the installed browser version and automatically downloading the Selenium driver that suits the installed browser. Otherwise, you have to download and set up it manually, and if you get a new browser version, you have to do it every time, and it's time-consuming.
One limitation of Selenium is that it is purely focused on web application testing. For example, if there is a webpage where we need to upload some documents or emails in the webpage and I want to automate that scenario with the help of Selenium, it will not be possible. I can not upload any documents because when I am clicking on the browser the Windows pop up will appear. It would be beneficial if Selenium HQ would develop integrated plugins, and inbuilt features, which would help us to automate Windows based applications. With the help of other third party plugins, like AutoIt, Robot Class, or Sikuli we can integrate Windows based applications. Another limitation of Selenium HQ is that we can not automate the capture part. EML processing is not available in Selenium, particularly if a website requires some capture kind of validations before logging into the application. To overcome this situation, we can disable the capture part from the application side, so we can get access to the database directly.
If they can integrate more recording features, like UFT, it would be helpful for automation, but it's not necessary. They can also add a few more reporting features for advanced reporting.
It would be awesome if there was a standalone implementation of Selenium for non-developer users. For example, for business users. If a business wants to test something and doesn't have the knowledge of coding and programming, they should still be able to. They should offer a single setup. By that, I mean software that you don't need to set up component by component. They should make up a setup file that puts all software together in the place that it should be and it works.
Selenium HQ doesn't have any self-healing capabilities. It would also be improved with the ability to input multiple identifiers and quickly search the content. In the future, Selenium HQ should include machine learning features.
The reporting part can be better. They need some APIs or maybe in-built libraries for reporting. At times, it's difficult to locate elements on certain applications on the web. Locating the elements, like web tables, becomes a little difficult sometimes. They can improve that feature also.
I'm based in Romania, and we have a personal crisis. We do not have enough resources or enough people to employ and hire. So, I'm hiring whoever I find, and they don't always have enough technical knowledge to operate Selenium.
Senior Software Developer at a pharma/biotech company with 10,001+ employees
Real User
2022-05-04T07:07:32Z
May 4, 2022
There are a few things we have to actually design and plan when we are building the automation. There are new tools which handle it by themselves, but that is a give and take when you actually use or choose a tool. Shadow DOM could be improved and the handling of single page applications. Right now, it's a bit complicated and there are a lot of additional scripts required if you want to handle a single page application in a neat way. With these technologies, at times you have a lot of callbacks. Those aren't handled very well with Selenium. At some point of time, suppose you have entered something and the button needs to be enabled. Now, in normal terms, it seems to be a client side action, so if you enter something on the client side, JavaScript is running. It'll say, "Value is this, so I'll enable the button." With this technology, if you enter something, it will go back to the server, get some value, and then it will enable the button. At some point of time, your project's delayed, and there is a callback happening in the background. It will not try to understand that, and it may just timeout.
Developer / Team Lead at a computer software company with 11-50 employees
Real User
2022-03-18T10:22:57Z
Mar 18, 2022
I don't have that much experience with it, but I know that Selenium is more used for websites. It is not for testing desktop applications, which is a downside of it. It can support desktop applications more.
Quality and Testing Services Leader at a tech services company with 11-50 employees
Real User
2022-01-12T15:45:58Z
Jan 12, 2022
Selenium has problems with some objects. The objects are not in the squares of the screen. The layout can be a bit strange. It makes it hard to find objects. We'd like to see some more image management in future releases.
Senior Test Automation Consultant at FAIR Consulting Group
MSP
2022-01-04T20:57:11Z
Jan 4, 2022
I find Selenium to be slow - its server takes a long time to interact with your browser and sometimes fails. It's also somewhat outdated, for example, it has no capacity to handle things like desktop pop-ups, does not support mobile testing, and has very limited reporting. In future releases, I would like Selenium to focus on headless execution when executing their test cases, using PhantomJS or Chrome Headless.
Automation Tester at a tech services company with 201-500 employees
Real User
2021-11-03T20:12:09Z
Nov 3, 2021
One drawback to Selenium is that there is nothing like an object repository, such as that found in QTP, especially considering continuous integration practices that have become common nowadays. In future, if they can provide an object repository or some kind of repository for data, then that I would greatly appreciate it. For example, once you have the app credentials and all the other security data and you don't want to show them to other people who are not authorized, a repository for this kind of data would be very useful. You could then simply grant access to only those people who need it. Another improvement I can think of is in the area of documentation and support. With Selenium, we're using freeware software, and because of this there is no support or anything from the vendor. In this case, you have to rely solely on your own coding experience and exposure to the tool, and you often have to search through many pages of code when you want to change something in your implementation. It also makes you rely on your problem-solving skills to a large degree, because some problems are not that easy to solve by yourself. If I can compare Selenium with another solution such as SoapUI Pro, there's a big difference when it comes to coding your own solutions. With SoapUI Pro, if you want to fetch some data, you don't need to write any code or anything, and for someone with no coding experience, this makes it much easier to be able to use effectively. So, ultimately, more support for non-technical people would make for a great improvement in Selenium.
Beyond the many advantages that Selenium HQ brings, there are also several disadvantages. For example, there are some complex scripts which can make Selenium unreliable in some cases. For email-based applications, we can't automate as we would like to, making it necessary to bring in a third-party product to do so. Eggplant, for example, offers email-based processing, like with the OCR engine, and for automation testing and reporting I would like to see a similar feature in Selenium.
Software engineer at a financial services firm with 10,001+ employees
Real User
2021-10-05T17:57:00Z
Oct 5, 2021
Selenium should implement more islands for a desktop feature. My laptop and desktop have a calibrator or some other desktop applications. We can automate those things through Selenium, so they should be adding them in the subsequent versions. For now, I guess Selenium could add some other features like object communications for easy expansion.
There are some network issues, as the line is not very clear. There are some areas that need improvement. I continuously see failures in threads when it is running in parallel. I find that it fails, especially when I use APM automation on the mobile side. I have experienced these issues, and since the APM is also based on the Selenium pack. It is a challenge to locate them, or knowing the location of the unique elements on the APM application. I don't see many issues with the Web applications but there are several with the APM. As an open-source solution, there is no dedicated support. Extending functions on the codes would be very helpful.
The parallel testing in Selenium is lacking. The latest versions are often unstable. There's no UI in Selenium. Beginners who want to start using it must have knowledge of Java, Python, or any programming language. If you are using a Chrome extension, that is a BlazeMeter extension, you can record and make the script, however, that is not very helpful for beginners. The editor is based on Eclipse. It would be nice if there was some in-built UI for this. I am leading a 20 person team where I have some junior staff and we have to set up lots of demos and training for them to be comfortable with Selenium. Occasionally, if someone is downloading the latest version of Java, it might not align with the Selenium version. There needs to be a way for Selenium to alert you if there will be a conflict between versions.
We have a lot of inheritance going here. I've been doing it for so long, so it is pretty straightforward for me, but you have to know Java to be able to work in our framework. I know some people use Python, but you have to know Java. That's kind of the hardest thing when you're doing interviews. People just don't know Java. This is where probably Worksoft has an advantage because it is codeless. So basically, you are just pointing, clicking, and providing things like Excel spreadsheets for your test data. In that sense, if you are using Worksoft, it is a lot easier to train or onboard somebody. We use X path for our selectors, and sometimes, it is difficult to create locators for elements. It is very time-consuming because they're embedded deeply. A lot of that comes from the way that you architect your page. If devs are putting the IDs on their elements, it is great, and it allows you to get those elements super fast, but that's not necessarily the case. So, Selenium should be able to get your elements a lot quicker. Currently, it is time-consuming to get your selectors, locate your locators, and get to the elements. You have to find the element on the page, and then you have to go to the page and the console. In the console, you can put the next path in there to locate the element manually in the JavaScript to say that this one will work, and let's use this because we'll put a string of that element. After that, we get the element based on that stream. That's probably the most time-consuming part of that. It is dependent on how well you've designed the front-end UI. We use something called Data Tests attribute through which we can locate elements super fast. If people consistently use those, that's great, but a lot of times when they go in there to fix some bugs, they're not consistent in doing that. They usually just find a way to locate the element and change that in the code. If you change something, then your code or your test is going to fail because the locator has changed the element, and you can't get it anymore. You have to manage a way to get it. So, when you're running your suite of tests and you see some failures, it takes some research to find out why did this paneling go, and then you find out that it happened because of the frontend change. Someone removed this element and changed it, and you have to change your locator, which is very time-consuming. It is kind of like a false belt. It is failing, but it is not. It is only failing because of your locator. It is not failing because the app is not functioning correctly. It is a kind of false failure. Sorting the elements quicker would be a big thing with Selenium.
Project Lead at a computer software company with 1,001-5,000 employees
Real User
2021-05-19T11:39:00Z
May 19, 2021
In the past, we had difficulty with screenshots, but this has been remedied. We feel that all the current solutions are usable and the providers are helpful. This said, the login could be improved, to obviate the need for relying on another one for integration with Selenium HQ. It would be nice if the solution provided an internal login system, one which would allow us to easily debug it. Until such time as a login system will be added from the vendor application, it will not be possible to identify the exact cause of a potential failure, unless there should be an interaction with, say, the UI element. Selenium HQ currently allows for an exception should an element be stale, not be found, or intractable.
It would be better if it accommodated non-techy end-users. I think it's still a product for developers. That's why it's not common for end-users, and especially for RPA activities or tasks. It's hard to automate tasks for end-users. If it will be easier, more user-friendly, and so on, perhaps it can be more interesting for this kind of user. The second thing, when you are working in IT, you know about such tools. But if you are on the business side, you don't have much information at all. I would like to see easy onboarding with training for end-users. Because there is a lot of stuff for developers, but for end-users, I would say none or approximately none.
Sometimes it's difficult to understand the solution. It's a good solution, however, it has many specific things you need to know, or you need to learn about. For people that don't know about technology, maybe it's difficult to use. You have to know how to program. You need to be a developer. The tool has two steps: first, when you record, and second when you play back. However, in the middle, you need to look at a file. You need to save a file and after that look at them. It would be ideal if the solution allowed for the process to be one step and more automatic. The initial setup is quite complex.
Systems Analyst at a computer software company with 1,001-5,000 employees
Real User
2020-11-25T16:50:35Z
Nov 25, 2020
Whenever an object is changed or something is changed in the UI, then we have to refactor the code. This means that we have to spend a lot of time on maintenance.
Software Test Engineer at a tech vendor with 201-500 employees
Real User
2020-10-21T04:34:06Z
Oct 21, 2020
It is not a licensed tool. The problem with that is that it won't be able to support Windows desktop applications. There is no support for Windows desktop applications. They can do something about it. Its user interface can also be improved, which is not great compared to the other latest tools. Anybody who has been working on functional testing or manual testing cannot directly work on Selenium HQ without learning programming skills, which is a disadvantage.
The locating of web elements is a complex process where you require the WebDriver application and create a locator by using By Class. They are not always matching. It would be better to have a simplified way to locate and identify web elements. Another negative point is that you cannot delete the application, you can only delete the web application.
Automation Test Lead at a financial services firm with 501-1,000 employees
Real User
2020-09-06T08:04:40Z
Sep 6, 2020
Selenium uses a layer-based approach that is somewhat slower than Eggplant when it comes to executing code. The performance is something in need of improvement. There is no direct option for image validation and this would be a useful addition in the future. In our application, we have a graphical representation that needs to be validated, and it can be done by validating all of the images. However, we can't do that with Selenium so we don't cover these scenarios in our test cases.
Automation Lead - Robotic Process Automation at a financial services firm with 501-1,000 employees
Real User
2020-07-29T07:45:00Z
Jul 29, 2020
In terms of improvement, there should be standardized frameworks, which do not exist. Currently, you have to first sit down and look inward. This function is provided by some tools like Katalon. There should be standardized frameworks to build automation.
Selenium is good when the team is really technical because Selenium does less built-in methods. If it came with more built-in and pre-built methods it would be even easier for less technical people to work with it. That's where I think the improvement can be. I would also like to see a good method for image based automation. That's what I believe is a very upcoming thing and is something that Selenium really lacks. The imagery is kind of an automation. It's more of an object decipher, so that's something I really want to see because most of the tools are moving in that direction.
In terms of improvement, I think there could be additional readability and abstraction in the solution, similar to the way other frameworks function. The solution could possibly use a more generic framework with more machine learning. If the community or IT companies had the budget, they might be able to work on that but it would definitely improve the solution, particularly in areas such as image comparison and image recognition. Machine learning capability would enable a self-healing capability in terms of locators. Selenium is not a magician, you need to provide instructions in order for it to identify any element in the web. That would really be an advantageous feature. Jason Arbon, CEO at test.ai, demonstrated this in Appium, which derives from Selenium. I'd also like to see a one-click install package. For now, I have to use TestNG, then Java, and then build them back. That could be simplified.
Integration Specialist at a financial services firm with 10,001+ employees
Real User
Top 5
2019-11-14T06:33:00Z
Nov 14, 2019
The solution is an open-source tool. They should also build other features and tools to assist in further capabilities. A drawback of Selenium is that it only focuses on web applications. If it could be integrated into one application together with APM, it would be in peer competition with other players. Developers tend to bundle both in one, but Selenium is just in a silo. The solution's UI path needs to be modernized. The solution needs to offer a mobile platform.
Quality Analyst at a financial services firm with 1,001-5,000 employees
Real User
2018-08-20T06:37:00Z
Aug 20, 2018
It does require a programming skill set. I would like the product not to require a heavy programming skill set and be more user-friendly for someone without a programming background.
Principal Consultant at Digital Web Advisors Pvt Ltd
Consultant
2018-05-11T19:08:00Z
May 11, 2018
Improvement in Selenium's ability to identify and wait for the page/element to load would be a big plus. This would ensure that our failed test cases will drop by 60%. Introduction of FluentWait has improved things, but it does not work in all scenarios
Selenium HQ is an umbrella project that includes a number of tools and frameworks that allow for web browser automation. In particular, Selenium offers a framework for the W3C WebDriver specification, a platform- and language-neutral coding interface that works with all of the main web browsers.
Selenium is a toolset for automating web browsers that uses the best methods available to remotely control browser instances and simulate a user's interaction with the browser. It enables users to...
Documentation is good, but it lacks real-time examples. Providing real-time examples would be really helpful. Some parts are not automatable, especially CAPTCHAs and complex applications where objects are not identified properly. This requires manual intervention and object identification adjustments, which can be time-consuming.
In the future, Selenium should be able to automate desktop-based applications, as it is not currently able to handle non-web-based, Windows-based applications. Additionally, there is a need for Selenium to be more user-friendly, allowing users from all backgrounds to automate test cases without requiring too much coding knowledge.
There is a challenge with concurrent testing, where parallelization is not fully supported. Sequential tests depending on each other cannot be executed in parallel. This feature could be improved.
One key area for improvement is the documentation. It is difficult to navigate, especially when integrating with other frameworks. Clearer guidance on best practices and more streamlined workflows are needed. I recommend building an ecosystem around it that allows easier integration with other project management and communication tools, such as Slack or Jira, to facilitate collaboration and streamline the testing process.
The solution could be improved regarding communication with browsers, as it is slower and a bit tricky compared to other frameworks. However, with the latest changes involving BiDirectional communication, it is becoming a top choice in automation frameworks.
There are some synchronization issues with Selenium HQ; often, the solution is unable to match the browser speed, which has led to poor results. Some mechanisms should be added to Selenium HQ to improve synchronization. It's an open-source solution with regular updates, but previously, in the 3.14.0 version at our company, we had to setup the ChromeDrivers, but in the latest feature, it wasn't necessary as the solution got easily integrated into the cloud.
They should leverage the tools for supporting Windows apps. Additionally, they could add more customization features for reporting.
When we upgrade the version, some features are missing. I want the product to include some AI capabilities.
I have found that at times the tool does not catch the class features of website content correctly. The product's AWS configuration is also hard.
They should add more functionality to the solution. Also, they should provide technical support services.
I would like to see some reporting or test management tools.
We are thinking about codeless automation, like what ACCELQ offers. They could maybe release a similar product that would be a codeless product. The initial setup was difficult. It would be nice to have it on the cloud, like ACCELQ. That way, we don't need to set up it ourselves and don't need hardware for that. That would also allow for many people at many subsidiaries or locations to work simultaneously with it. I'd like the possibility of automatically checking the installed browser version and automatically downloading the Selenium driver that suits the installed browser. Otherwise, you have to download and set up it manually, and if you get a new browser version, you have to do it every time, and it's time-consuming.
We can only use Selenium HQ for desktop applications which would be helpful. We are only able to do online based applications.
One limitation of Selenium is that it is purely focused on web application testing. For example, if there is a webpage where we need to upload some documents or emails in the webpage and I want to automate that scenario with the help of Selenium, it will not be possible. I can not upload any documents because when I am clicking on the browser the Windows pop up will appear. It would be beneficial if Selenium HQ would develop integrated plugins, and inbuilt features, which would help us to automate Windows based applications. With the help of other third party plugins, like AutoIt, Robot Class, or Sikuli we can integrate Windows based applications. Another limitation of Selenium HQ is that we can not automate the capture part. EML processing is not available in Selenium, particularly if a website requires some capture kind of validations before logging into the application. To overcome this situation, we can disable the capture part from the application side, so we can get access to the database directly.
If they can integrate more recording features, like UFT, it would be helpful for automation, but it's not necessary. They can also add a few more reporting features for advanced reporting.
It would be awesome if there was a standalone implementation of Selenium for non-developer users. For example, for business users. If a business wants to test something and doesn't have the knowledge of coding and programming, they should still be able to. They should offer a single setup. By that, I mean software that you don't need to set up component by component. They should make up a setup file that puts all software together in the place that it should be and it works.
Selenium HQ doesn't have any self-healing capabilities. It would also be improved with the ability to input multiple identifiers and quickly search the content. In the future, Selenium HQ should include machine learning features.
The reporting part can be better. They need some APIs or maybe in-built libraries for reporting. At times, it's difficult to locate elements on certain applications on the web. Locating the elements, like web tables, becomes a little difficult sometimes. They can improve that feature also.
I'm based in Romania, and we have a personal crisis. We do not have enough resources or enough people to employ and hire. So, I'm hiring whoever I find, and they don't always have enough technical knowledge to operate Selenium.
There are a few things we have to actually design and plan when we are building the automation. There are new tools which handle it by themselves, but that is a give and take when you actually use or choose a tool. Shadow DOM could be improved and the handling of single page applications. Right now, it's a bit complicated and there are a lot of additional scripts required if you want to handle a single page application in a neat way. With these technologies, at times you have a lot of callbacks. Those aren't handled very well with Selenium. At some point of time, suppose you have entered something and the button needs to be enabled. Now, in normal terms, it seems to be a client side action, so if you enter something on the client side, JavaScript is running. It'll say, "Value is this, so I'll enable the button." With this technology, if you enter something, it will go back to the server, get some value, and then it will enable the button. At some point of time, your project's delayed, and there is a callback happening in the background. It will not try to understand that, and it may just timeout.
I don't have that much experience with it, but I know that Selenium is more used for websites. It is not for testing desktop applications, which is a downside of it. It can support desktop applications more.
I would like for the next release to support parallel testing.
Selenium has problems with some objects. The objects are not in the squares of the screen. The layout can be a bit strange. It makes it hard to find objects. We'd like to see some more image management in future releases.
I find Selenium to be slow - its server takes a long time to interact with your browser and sometimes fails. It's also somewhat outdated, for example, it has no capacity to handle things like desktop pop-ups, does not support mobile testing, and has very limited reporting. In future releases, I would like Selenium to focus on headless execution when executing their test cases, using PhantomJS or Chrome Headless.
One drawback to Selenium is that there is nothing like an object repository, such as that found in QTP, especially considering continuous integration practices that have become common nowadays. In future, if they can provide an object repository or some kind of repository for data, then that I would greatly appreciate it. For example, once you have the app credentials and all the other security data and you don't want to show them to other people who are not authorized, a repository for this kind of data would be very useful. You could then simply grant access to only those people who need it. Another improvement I can think of is in the area of documentation and support. With Selenium, we're using freeware software, and because of this there is no support or anything from the vendor. In this case, you have to rely solely on your own coding experience and exposure to the tool, and you often have to search through many pages of code when you want to change something in your implementation. It also makes you rely on your problem-solving skills to a large degree, because some problems are not that easy to solve by yourself. If I can compare Selenium with another solution such as SoapUI Pro, there's a big difference when it comes to coding your own solutions. With SoapUI Pro, if you want to fetch some data, you don't need to write any code or anything, and for someone with no coding experience, this makes it much easier to be able to use effectively. So, ultimately, more support for non-technical people would make for a great improvement in Selenium.
Beyond the many advantages that Selenium HQ brings, there are also several disadvantages. For example, there are some complex scripts which can make Selenium unreliable in some cases. For email-based applications, we can't automate as we would like to, making it necessary to bring in a third-party product to do so. Eggplant, for example, offers email-based processing, like with the OCR engine, and for automation testing and reporting I would like to see a similar feature in Selenium.
Selenium should implement more islands for a desktop feature. My laptop and desktop have a calibrator or some other desktop applications. We can automate those things through Selenium, so they should be adding them in the subsequent versions. For now, I guess Selenium could add some other features like object communications for easy expansion.
There are some network issues, as the line is not very clear. There are some areas that need improvement. I continuously see failures in threads when it is running in parallel. I find that it fails, especially when I use APM automation on the mobile side. I have experienced these issues, and since the APM is also based on the Selenium pack. It is a challenge to locate them, or knowing the location of the unique elements on the APM application. I don't see many issues with the Web applications but there are several with the APM. As an open-source solution, there is no dedicated support. Extending functions on the codes would be very helpful.
The parallel testing in Selenium is lacking. The latest versions are often unstable. There's no UI in Selenium. Beginners who want to start using it must have knowledge of Java, Python, or any programming language. If you are using a Chrome extension, that is a BlazeMeter extension, you can record and make the script, however, that is not very helpful for beginners. The editor is based on Eclipse. It would be nice if there was some in-built UI for this. I am leading a 20 person team where I have some junior staff and we have to set up lots of demos and training for them to be comfortable with Selenium. Occasionally, if someone is downloading the latest version of Java, it might not align with the Selenium version. There needs to be a way for Selenium to alert you if there will be a conflict between versions.
We have a lot of inheritance going here. I've been doing it for so long, so it is pretty straightforward for me, but you have to know Java to be able to work in our framework. I know some people use Python, but you have to know Java. That's kind of the hardest thing when you're doing interviews. People just don't know Java. This is where probably Worksoft has an advantage because it is codeless. So basically, you are just pointing, clicking, and providing things like Excel spreadsheets for your test data. In that sense, if you are using Worksoft, it is a lot easier to train or onboard somebody. We use X path for our selectors, and sometimes, it is difficult to create locators for elements. It is very time-consuming because they're embedded deeply. A lot of that comes from the way that you architect your page. If devs are putting the IDs on their elements, it is great, and it allows you to get those elements super fast, but that's not necessarily the case. So, Selenium should be able to get your elements a lot quicker. Currently, it is time-consuming to get your selectors, locate your locators, and get to the elements. You have to find the element on the page, and then you have to go to the page and the console. In the console, you can put the next path in there to locate the element manually in the JavaScript to say that this one will work, and let's use this because we'll put a string of that element. After that, we get the element based on that stream. That's probably the most time-consuming part of that. It is dependent on how well you've designed the front-end UI. We use something called Data Tests attribute through which we can locate elements super fast. If people consistently use those, that's great, but a lot of times when they go in there to fix some bugs, they're not consistent in doing that. They usually just find a way to locate the element and change that in the code. If you change something, then your code or your test is going to fail because the locator has changed the element, and you can't get it anymore. You have to manage a way to get it. So, when you're running your suite of tests and you see some failures, it takes some research to find out why did this paneling go, and then you find out that it happened because of the frontend change. Someone removed this element and changed it, and you have to change your locator, which is very time-consuming. It is kind of like a false belt. It is failing, but it is not. It is only failing because of your locator. It is not failing because the app is not functioning correctly. It is a kind of false failure. Sorting the elements quicker would be a big thing with Selenium.
In the past, we had difficulty with screenshots, but this has been remedied. We feel that all the current solutions are usable and the providers are helpful. This said, the login could be improved, to obviate the need for relying on another one for integration with Selenium HQ. It would be nice if the solution provided an internal login system, one which would allow us to easily debug it. Until such time as a login system will be added from the vendor application, it will not be possible to identify the exact cause of a potential failure, unless there should be an interaction with, say, the UI element. Selenium HQ currently allows for an exception should an element be stale, not be found, or intractable.
It would be better if it accommodated non-techy end-users. I think it's still a product for developers. That's why it's not common for end-users, and especially for RPA activities or tasks. It's hard to automate tasks for end-users. If it will be easier, more user-friendly, and so on, perhaps it can be more interesting for this kind of user. The second thing, when you are working in IT, you know about such tools. But if you are on the business side, you don't have much information at all. I would like to see easy onboarding with training for end-users. Because there is a lot of stuff for developers, but for end-users, I would say none or approximately none.
Sometimes it's difficult to understand the solution. It's a good solution, however, it has many specific things you need to know, or you need to learn about. For people that don't know about technology, maybe it's difficult to use. You have to know how to program. You need to be a developer. The tool has two steps: first, when you record, and second when you play back. However, in the middle, you need to look at a file. You need to save a file and after that look at them. It would be ideal if the solution allowed for the process to be one step and more automatic. The initial setup is quite complex.
Whenever an object is changed or something is changed in the UI, then we have to refactor the code. This means that we have to spend a lot of time on maintenance.
It is not a licensed tool. The problem with that is that it won't be able to support Windows desktop applications. There is no support for Windows desktop applications. They can do something about it. Its user interface can also be improved, which is not great compared to the other latest tools. Anybody who has been working on functional testing or manual testing cannot directly work on Selenium HQ without learning programming skills, which is a disadvantage.
The locating of web elements is a complex process where you require the WebDriver application and create a locator by using By Class. They are not always matching. It would be better to have a simplified way to locate and identify web elements. Another negative point is that you cannot delete the application, you can only delete the web application.
Selenium uses a layer-based approach that is somewhat slower than Eggplant when it comes to executing code. The performance is something in need of improvement. There is no direct option for image validation and this would be a useful addition in the future. In our application, we have a graphical representation that needs to be validated, and it can be done by validating all of the images. However, we can't do that with Selenium so we don't cover these scenarios in our test cases.
In terms of improvement, there should be standardized frameworks, which do not exist. Currently, you have to first sit down and look inward. This function is provided by some tools like Katalon. There should be standardized frameworks to build automation.
Selenium is good when the team is really technical because Selenium does less built-in methods. If it came with more built-in and pre-built methods it would be even easier for less technical people to work with it. That's where I think the improvement can be. I would also like to see a good method for image based automation. That's what I believe is a very upcoming thing and is something that Selenium really lacks. The imagery is kind of an automation. It's more of an object decipher, so that's something I really want to see because most of the tools are moving in that direction.
In terms of improvement, I think there could be additional readability and abstraction in the solution, similar to the way other frameworks function. The solution could possibly use a more generic framework with more machine learning. If the community or IT companies had the budget, they might be able to work on that but it would definitely improve the solution, particularly in areas such as image comparison and image recognition. Machine learning capability would enable a self-healing capability in terms of locators. Selenium is not a magician, you need to provide instructions in order for it to identify any element in the web. That would really be an advantageous feature. Jason Arbon, CEO at test.ai, demonstrated this in Appium, which derives from Selenium. I'd also like to see a one-click install package. For now, I have to use TestNG, then Java, and then build them back. That could be simplified.
I would like to see XPath made more reliable so that it can be used in all browsers.
The solution should listen to the community and build new features for it based on their advice.
The solution need to offer up much more information in regard to performance testing using selenium.
The API that Selenium gives you doesn't act well with browsers. This should be improved. Right now, it's not stable.
The solution is an open-source tool. They should also build other features and tools to assist in further capabilities. A drawback of Selenium is that it only focuses on web applications. If it could be integrated into one application together with APM, it would be in peer competition with other players. Developers tend to bundle both in one, but Selenium is just in a silo. The solution's UI path needs to be modernized. The solution needs to offer a mobile platform.
It does require a programming skill set. I would like the product not to require a heavy programming skill set and be more user-friendly for someone without a programming background.
Improvement in Selenium's ability to identify and wait for the page/element to load would be a big plus. This would ensure that our failed test cases will drop by 60%. Introduction of FluentWait has improved things, but it does not work in all scenarios