2

I am looking for a tool that can help me automate test cases on website. I am currently using Selenium WebDriver, but it takes a lot of time to write down the test cases using WebDriver. Also many times a test written for one browser doesn't run perfectly on other browser.

So I am looking for a tool (other than Selenium IDE) through which I can generate the test scripts (preferably for Selenium) and those scripts can be run on different browser without much maintenance in case any elements id changes on the page.

If that tool can provide a good reporting and performance analysis like which page took how much time to open, that would be awesome.

4
  • 3
    You are looking for a silver bullet. Hint: There is no silver bullet as Fred Brooks wrote in 1986. Guess what: if it were, you will not be the first one finding it. Everyone else would be using such magical technology for a long time. Jul 15, 2016 at 14:07
  • Such a system that is reliable and easy to maintain does not currently exist publically. I am working on a project for my company which meets most all of your criteria (closed source non-public), it is possible but difficult to design (the actual implementation is quite simple).
    – Paul Muir
    Jul 19, 2016 at 12:02
  • Hopefully, this article may help you: katalon.com/resources-center/blog/…
    – Joey Rock
    Oct 2, 2017 at 8:09
  • "without much maintenance in case any elements id changes on the page." => This is solved with the visual web testing approach, which operates with on the image/screenshot of the website via image search and OCR. There are some commercial tools in this area and with Kantu at least one free one.
    – timfredo
    Oct 5, 2017 at 7:36

7 Answers 7

6

Yes, that would be awesome, but there is no such tool. (If you are very ambitious, you can try writing it yourself.)

The reality of cross-platform UI automation is that it is brittle and requires a lot of maintenance. Any vendor who claims otherwise is more interested in taking your money than solving your problems.

Here are some alternatives:

  • Hire someone who is better at using WebDriver than you are.
  • Ask yourself whether you are trying to be too ambitious with your UI automation. Choose areas where WebDriver makes sense. Leave the rest for manual testing.
  • Look for ways to change your product so that WebDriver is easier to use.
2

You can try various TDD framework, I have used Robot before and it was really good.

http://robotframework.org/

You can also take a look here,

http://toolsqa.com/cucumber/cucumber-tutorial/

Robot and Cucumber both offer a high level of selenium scripting.

1

I think a code-less test automation like http://www.testing-whiz.com/ will fit your needs. Of course, you need to pay to use.

2
  • Do you have any experience with thar? Was is effective. I remember the old times when I was generating HTML pages with Microsoft Word, then I manually fixed some problems in auto-generated HTML page and Word could not understand that. So I have bad experience with auto-generated elements for UI-related things.
    – dzieciou
    Jul 15, 2016 at 12:11
  • I just tried a trial version last month and I see that tool is helpful for who wants to build a automation project without programming skills. Actually, this tool is just a keyword driven framework, it allows you easy define a test in a nice UI.
    – Tam Minh
    Jul 18, 2016 at 2:42
1

The commercial edition of iMacros can export the recorded scripts as Selenium WebDriver code.

So you first use the (very good) iMacros recorder, then use the iMacros Editor to export/convert the scripts to Selenium.

those scripts can be run on different browser without much maintenance in case any elements id changes on the page.

In this case I would recommend a screenshot-based solution such as Sikuli or Kantu. Picture-driven scripts are by design insensitive to element ID changes. Sikuli is desktop-based and thus will work with every browser. Kantu works inside Chromium, so the web automation scripts run very stable, but you are limited to testing with the Chrome browser engine.

0

You can use Nightwatch.js instead of Selenium as this is easy to use and learn.

You can write your script in less time and it will fulfill almost all requirement as Selenium.

This is node.js based testings environment. The good thing is, It uses selenium server to run the cases.

here is the guide by which you can set up test environment quickly: http://nightwatchjs.org/guide

And it is Free :)

0

I would suggest getting down to HTTP protocol level and focus on simulating browser rather than driving a real browser.

Pros:

  • Reliable record and replay (at least more reliable, with minimal correlation)
  • Increased execution speed
  • Functional tests can be converted to load tests in few seconds (even more increased execution speed)
  • Multiple browsers can be simulated by sending the relevant User-Agent header

Cons:

  • Client-side JavaScript won't be executed. You will still be able to record and replay JavaScript-driven calls i.e. AJAX
  • Actual page "rendering" won't happen. You will still get the response in HTML form, but you will treat it as plain text.

If you're interested, there is a number of free and open source tools available, i.e. check out Open Source Load Testing Tools: Which One Should You Use? article for the most popular ones highlighted and compared.

0

For automated testing I can recommend Ranorex. We’ve been using it for years because it allows us to easily execute the same test in different browsers, without changing the original test. Both generating a test with drag & drop functionality and coding is possible.

Not the answer you're looking for? Browse other questions tagged or ask your own question.