4 ms·
Also, by switching from Java to Ruby ecosystem is one way to improve your selenium tests. For start, use watir-webdriver and page-object gems.
by karlosmid 11y ago
Also, by switching from Java to Ruby ecosystem is one way to improve your selenium tests. For start, use watir-webdriver and page-object gems.
- pmontra 11y agoUsing Capybara alone one gets most of the stuff they had to implement (page, with, retries, ...) but I'll look into those gems you suggest. Maybe the Scala ecosystem is still immature on the side of integration testing. They could implement them in Ruby if they are familiar with the language. I don't feel OK about using two languages but at least it could enforce strict separation between integration testing and the application.
- EdwardDiego 11y agoImprove them how though? Speed? Reliability? If it's just a nicer API, that's all well and good, but until the key problems I face with Selenium are solved (slow and non-deterministic tests) then a nicer API to it is just rearranging deck-chairs on the Titanic.
- karlosmid 11y agoIt seems that you try to use selenium 2, or webdriver, in order to run your unit tests. Selenium is for browser test, and by its nature it can not run in milliseconds. Its execution time is in seconds. Even when use phantomjs webdriver. It is integration testing approach because it combines execution of several javascript modules. That run in real browser. Selenium has its purpose, but fast test execution is not one of them.
- EdwardDiego 11y ago> It seems that you try to use selenium 2, or webdriver, in order to run your unit tests. Nope. Integration tests. But integration tests that start a Firefox instance from scratch and have to be rerun multiple times to pass due to non-determinism are slow.
- karlosmid 11y agoCould you please provide one example of non-determinism? I would like to understand what exactly do YOU mean by that term.