Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
we are just trying to evaluate which one is best - Selenium or Eggplant
Selenium is of course free of cost. The following are some problems we faced:
1. click actually requires focus on the page. so when a test case is running we just have to see the selenium running. Any click by the user, for example if i want the test case to run in background, then i can't do that. I dont know how fireEvent() method will help in this case.
Our application has many form and any click or value change or focus on any element reloads(through ajax) some component on the webpage. So the page is fully ajax driven. So we were getting many Stalereference exceptions when using selenium. We handled this with using our own wrappers on top of webelement which handles such exceptions.
Will eggplant be a better alternative?
The Automation tools have to have the browser open to truly do the automation tests. It's an actual representation of what the end-user would do (clicks, changing URL, clicking browser [BACK]/[FORWARD] buttons, key-presses, etc..), so it must launch an instance of the browser. Selenium IDE can only run in Mozilla Firefox, but if you set up Selenium Remote Control server, and choose a client (NUnit using .NET, JUnit using Java, etc..) and launch your browser from Visual Studio (using NUnit) or from Eclipse (using JUnit), then you can test your script in multiple browsers. They also have Web Driver which is a newer way architecture than Selenium RC (Remote Control).
I've never used Eggplant, so I can't criticize on it.
As for the things you had issues with during your proof of concept, I can help you with those. Selenium is actually JavaScript running on top of any JavaScript running on your page (ie: AJAX in your case), so it will work fine for those situations. Can you describe the behavior of the StaleReference Exceptions?
I am using Selenium and Webdriver. In ChromeDriver, the browser can actually run in background (verified by myself :) )
So I would suggest Selenium - and moreover, you can find support here ;)
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I am looking at creating automation test cases for a VueJS application that will be supported across several different desktop browsers and mobile (iOS and Android) browsers. I have came across several options including Protractor, Test Cafe, Nightwatch, and Cypress. Cypress is only supported with Chrome browsers so I won't be able to use that, and Protractor seems more geared towards testing of Angular applications. So I am looking for feedback from people who have used Test Cafe or Nightwatch.
Questions:
Which of the 2 tools do you find better and why?
What are the pros/cons of one vs. the other? (Selenium Based vs. Not doesn't matter to me)
Does either support mobile browser testing?
Did anyone have any issues with either that stopped you from using it and going with another approach?
I have not used test cafe till now but I have used Nightwatch. It's really a nice framework developed in nodeJS.
Pros:
List item
Built-in test runner- Built-in command line test runner which can run the tests in parallel.
Parallel cross-browser testing- Same test we can run in multiple browsers at the same time
Much better api then selenium webdriver
Inbuilt assertion library
Inbuilt screenshots
Return object- Every method that you call will return an object. We can have a chain of command like open.click.sendkeys.wait.click.select.end
Syntax- looks the easiest and the most readable
It has a very good inbuilt debugging mechanism.
It is extendable- You can write your own custom commands and add custom assertions
10.Grouping tests- You can group test. eg Smoke test, login test etc
It is also supported across several different desktop browsers and mobile browsers (iOS and Android)
Cons: less support
I had experiance with nightwatch js . Its very easy to implement.Its suport all languages like react js, angular js or any scripting language. Only the neagtive side is less support. Another better option is webdriver.io (not selenium webdriver)
Nightwatch is based on selenium. Test Cafe has his own mechanism and have some advantages, like mobile testing and auto waiting mechanism and simpler setup.
I'd like to know if this is feasible: I'm doing manual testing on a website but I'd like to test the website on Chrome and Firefox at the same time, so is there a way to mimic my mouse clicks and keyboard input on from Chrome to Firefox using webdriver or any other technology?
Edit:
More info as asked in the comment.
I work as a tester, and I've written some E2E tests using webdriver.io and I know that I can run my test on multiple browsers concurrently using multiremote.
I have tried tests recorders too since a long time ago and didn't find much luck, and what I'm trying to do can be partially accomplished with some tests recording services, by recording the tests and then running them on multiple environments.
However what I'm trying to find is a way to read the actions of the user from one browser say Chrome, and apply them on another, so I imagine this will involve finding the selector and the action applied and applying them in the other browser.
I know I can write the tests or record them, but it was just an idea, and it would be great to have it for exploratory testing on multiple browsers at the same time, when I googled it all I got was writing scripts or recording, so I wanted to ask experienced people about their experience, and I think I could have posted this in https://sqa.stackexchange.com/ however it's more related to programming than to QA, so I needed programmers.
P.S: I'll try editing the question more to make it more readable. Thank you.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed last year.
Improve this question
I am job searching and am seeing a lot of Selenium requirements in job descriptions lately. I know that Selenium is an automation tool for web testing but what I don't know is how it compares to using AutoIt and Sikuli. I am very familiar with AutoIt and Sikuli tools but not familiar with Selenium as far as enterprise use. I could simply download Selenium and fool around with it but as far as professional experience, I have none.
So my question to automation professionals out there is if I have a good deal of experience in AutoIt and Sikuli, would I be a good fit for a position that deals solely with Selenium?
Have experience only with AutoIt and Selenium .
What I can say about AutoIt -> script written on it are suitable for WIN platform only.
Imagine the situation when you need to run you test (that covers a piece of functionality on a web page) on 2 notes: win note and macBook.
For Win your script be working OK , for Mac it will fail.
OR, a little bit modified: if you need run your script simultaneously on several machines and/or in several browsers. Selenium will fit OK for this.
But for another side: such case like attachment a file on a webPage or any other kinda of attachment - will not work with pure Selenium. AutoIt will handle it nice.
So it was 2 little casees in particular.
In overall, selenium is used for functional UI automation of web application(-s) . And if you have experience of scripting you will be able to adjust your skills.
My recommendation to you - start recording script with SElenium IDE , then export these recorded scripts in testNg , and then try to understand their structure.
Good luck! :)
As someone who has fairly extensive experience with Sikuli and Selenium (but none at all with Autolt), I would say that Sikuli skills are not very transferable to Selenium. The theory side--the logic and algorithmic thinking you'd use to problem solve would be much the same, but the technique of execution are so very different between the two, that if I were doing the hiring, I wouldn't hire a person with no experience in Selenium but vast experience in Sikuli, if there were any reasonable Selemium-experienced people to choose from.
I imagine, though, that if you could demonstrate proficiency, or create and show your own projects that use an array of Selenium skills, that could go a long way to smoothing reservations a hiring company might have...
Take that for what it's worth, esp since I have no experience with Autolt.
Selenium is used for Web-Automation or Web Applications or website related automation.
Autoit can only be used for Windows GUI Automation or Windows based applications. No Image Recognition purely on elements based usage.
Sikuli on the other hand, can be used for automating both i.e. Desktop Apps and Web-Apps. It basically finds the match of the given Image in the screen by using Image Recognition and then you can perform tasks on that like click, double click, input text etc.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 months ago.
Improve this question
I am currently setting up a development environment for my new project and I am thinking hard about one thing. I plan on using Yii. I want to have functional tests automated, I already have gerrit and Jenkins in place, working.
I read this note and found out that selenium has something like html suite. I never heard of it before, I always wrote my tests to be run via PHPUnit. I used default Yii functional tests environment as described here.
So my question is, what are pros and cons of both approaches? I already can think of one pro and con of html suite. Pro is, that writing tests is really easy - you just "click" them in Selenium IDE. The con is, that I probably would have to run db fixtures before testing and I couldn't change them, or run them like - load fixtures, run test, load fixture, run test, but I guess that would be make the tests much sloppier. What do you think/what is your experience in that matter?
there is an easy way to write functional tests.
you can downlaod an addon for selenium IDE and then add the php formatter for this addon, and you can make and export functional tests very eeeasy.
then you should configure your protected/config/test.php and protected/tests/bootstrap.php
you should probably edit protected/tests/phpunit.xml and remove any browser, other than fire fox.
then do like Willem Renzema said and change the test made by this addon and change the name of the class to WebTestCase and remove the setUp()
then you are ready to run tests!
cheers
The two packages that are well integrated with Yii, is PhPUnit and Selenium Remote Control. So these two are more common between Yii developers.
Regarding, deploying functional test, I'm not sure how deep you want to go, but as far as I used it, it was pretty easy. Functional tests, are literally php classes, which are extended from CWebTestCase.
Yii CWebTestCase class description
Naming convention is you have to name you class ending with Test like ExampleTest.php, and store the files under protected/tests/functional. You need to set up everything including, both packages and also changing Yii configuration file and your default browser. If everything goes well, a sample test can be like this:
class ExampleTest extends WebTestCase
{
public function testContact()
{
$this->open('?r=site/contact');
$this->assertTextPresent('A string on contact page');
$this->assertElementPresent('name=ContactForm[name]');
$this->type('name=ContactForm[name]','tester');
$this->type('name=ContactForm[email]','tester#example.com');
$this->type('name=ContactForm[subject]','test subject');
$this->click("//input[#value='Submit']");
$this->waitForTextPresent('Body cannot be blank.');
}
}
That's all I knew about it and I hope it helped.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Could you please let me know the limitations od Selenium IDE, Selenium RC, Selenium GRID
Thanks all for the help
You can't interact with flash elements and java applets
Don't expect Selenium to work as you expect it to 100% of the time. For instance, sometimes it doesn't know when the page has finished loading (because of AJAX running in the background).
Other limitations:
1) It can't use a proxy to connect to any website
That's because Selenium, technically is already a proxy, and you can't really configure it to go through another proxy (at least not that I know of)
2) Buggy with IE, Opera, and even Google Chrome
For the most part, most of the functionality interacting with the GUI will work in Firefox. Not so much with the other browsers.
One argument which I often here against Selenium is, it is only for web applications and can not be used for desktop application.
I'm using Selenium-rc without a web-driver, and I see the following problem:
very difficult with cross-browser, if you write tests for firefox, not the fact what that they will work in MS-IE or chrome. I think that Selenium two chose the wrong way, if each browser has its own implementation of the driver, I think will be compatibility problems.
Selenium doesn't have an integrated spreadsheet for data driven testing (parameterization), always need to use external files for it.
Selenium IDE does not allow for conditional statements, loops, assserting HTML. Selenium RC has problems with modal dialogs, yet there are hacks, it's not completely flexible for it. I'm also noticing that RC tests are not completely compatible with Selenium 2 using the python driver. Also agree with #Rusty Robot that not all tests are guaranteed compatible across browsers. With all that being said, I think Selenium will be around for a while as there is a lot of investment from Google. I remember seeing some number that throughout Google they have over 51K test scripts and an entire Server farm to run their tests. Just like any automated framework, there will be overhead and costs for maintenance, but overall I'm enjoying my experience with it.