1

Currently at my company we are using webdriverio + selenium for e2e automated testing. In the past months we have experienced a lot of trouble making our tests work correctly, and most of the cases were due to selenium bugs or random failures.

I'm currently looking for a non-selenium solution that might be worth a try.

What tools would be suitable for me to use, and what are their advantages and disadvantages compared to Selenium?

(Edit) We are automating a SPA website which is a health record system for doctors, built mostly in Vuejs. It is completely reactive, meaning that web elements are inserted/removed while using the application. It uses card to show data (while in read mode) and they become a form by clicking on them (edit mode). So basically the system doesn't any weird behavior, it just presents data and allows the user to provide/edit the info.

  • Please edit your question to tell us what kind of web application you are working with and what sort of budget restraints you have. I will edit your question to make it less opinion-based so it does not get closed for that, but we still need more information. – Kate Paulk Sep 1 '17 at 11:33
  • Why would you invest time and effort to learn something which is not a W3C standard and may go belly up in a few years? – Peter M. Sep 1 '17 at 13:42
  • It makes sense Peter. So what do you suggest me? – Marco Navarro Sep 1 '17 at 14:01
  • @MarcoNavarro To use selenium/webdriver, as I explained in my answer. And also why. – Peter M. Sep 1 '17 at 21:51
1

It all depends on the project respectively the system under test (SUT) since you need pros and cons relative to it (as already pointed out by Kate Paulk).

I might be a bit biased since I'm working for a tool vendor myself, but I disagree with Alexey R. "[…] what is more valuable - it is free." There're awesome open source test tools, but sometimes you end up paying more on the bottom line—like I said, it depends. Joe Colantonio's blog post "How to Choose Between Open-Source and Commercial Test Tools" gives some insights on that topic.

As mentioned by Peter Masiar, the fact that Selenium's WebDriver is a W3C standard is a huge advantage. However, many say that Selenium is not a test tool—it's just an API to automate browsers. Just have a look at seleniumhq.org:

Selenium automates browsers. That's it! What you do with that power is entirely up to you.

This is also why there're a lot of others tools which leverage the powerful WebDriver API, but offer additional, domain-specific functionality on top of it.

To get back to your actual question: you may want to have a look at this SO thread, which recommends tools such as Nightwatch.js, WebdriverIO, and TestCafé for testing Vue.js apps.

  • I updated the question. Have a look @beatngu13. Thanks for insights. – Marco Navarro Sep 1 '17 at 14:01
  • @MarcoNavarro thanks for updating the question, I adapted my answer accordingly. – beatngu13 Sep 1 '17 at 15:17
  • Testcafe looks promising. Will give a try. – Marco Navarro Sep 1 '17 at 16:04
  • Using tool which is based on free/libre Selenium/webdriver and adds some additional functionality might be a valid option (or might be not worth the time investment, if you wander too far from webdriver API that you get into vendor lock-in). Non-selenium is a complete waste of time, IMHO. – Peter M. Sep 1 '17 at 21:57
0

I'm afraid you have to deal with Selenium since it is a sort of industry standard and what is more valuable - it is free.

Try to use different drivers since the most of the bugs go from a driver implementation.

Otherwise you'll have to use commercial solutions like HP UFT.

  • 1
    Not only free - is also libre = open source. If there is some problem which affects you and no-one else cares enough to fix it, you can do it yourself (or hire someone). Because sources are available, migration to other common platforms is guaranteed. Too many people are concerned about cost and not concerned about the freedom to change sources and the future. – Peter M. Sep 1 '17 at 13:40
  • @PeterMasiar I am almost agree with you except some proprietary web drivers since webdrivers hold quite a big part of the entire functionality. – Alexey R. Sep 1 '17 at 13:41
0

Disadvantages of any non-selenium tool are abundant:

  • Selenium is W3C standard for browser automation. This is a HUGE deal, it means it is here to stay for foreseable future, and any next generation of browser automation (or whatever technology will be used in 50 years) will be based on Selenium.

  • Selenium is open-source (libre: liberty as free speech, not free beer). It means that there is huge community of developers who contribute to it's success (and because invested time in learning it, are interested in it succeeding any competitors), by contributing code or answering questions to recruit more users. And in any future changes in technology, developers have sources and can adapt them.

Like it or hate it, Selenium is here to stay, and any competing technologies is just a dog barking on a caravan. Dog barks, caravan moves on.

You can see that once a technology becomes commodity, people are not making money on the commodity part of it (because marginal cost of making millionth copy of a software package is almost zero), but on additional services and consultations how to use it. Interned was possible only because we have libre (open-source) operating system (Linux), web server (Apache), databases (Postgres, MySQL) and development languages (Perl, Python, Ruby, etc). Decades ago, developer had to pay for a compiler, database, OS, so had to charge for products. People who did not experiences such ecosystem do not understand how profound is the switch to libre = open source software.

Imagine how different would be architecture if architects had to pay license fee for using different kinds of windows, walls, doors etc in their design.

  • Personally, I think the comparison with architecture isn't a good one. Architects actually pay for (extremely expensive) software to get their job done. There's a vast amount of awesome OSS, but there're also many great proprietary products. It's not about open source vs. closed source, it's about finding the best set of tools for the given task. – beatngu13 Sep 1 '17 at 15:33
  • Comparison with architects is NOT about the software they use, but the elements of architecture. Windows, doors, bricks etc are commodity. In our world, some layers of software (OS, database) are commodity. Software is different in sense that marginal price (make one more copy) of commodity product is ZERO. Think about it. No other product is like that. – Peter M. Sep 1 '17 at 16:21
  • I get your point, but I see it differently. IMHO test automation is software development. This usually—not necessarily—involes both OSS and proprietary products (even GitHub isn't open source). And I think the "make one more copy"-thing is a fundamental debate which we shouldn't carry out here. – beatngu13 Sep 1 '17 at 18:49
  • Yes, test automation IS software development, but automated tests ARE NOT commodity like OS is. So to develop test automation products, you use commodity toolchain where you can, like Selenium. For version control, you can easily replace proprietary tool with opensource. For the code you developed, if you developed against proprietary API and it fails, you have vendor lockout to failed product. – Peter M. Sep 1 '17 at 21:17
  • I partly agree with that. But as you said, "where you can". When an open source tool doesn't address your particular needs—which is what the OP says—why not switch to an alternative (be it proprietary or not)? Lock-ins are not exclusive to closed source. Selenium is a standard, that's why you don't face this kind of problem. Please, don't get me wrong, I love OSS. I'm just saying that it's not per se the best way to go. – beatngu13 Sep 1 '17 at 21:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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