I have 2 simple tests in Selenium IDE, when executed from IDE the order is being maintained. But when I use the Side file to run using Selenium Side runner then order is different.
As you can see the test order here is 1- Amazon Login and then 2- Search Product. This does work fine when executed from IDE but when I use the Selenium Side runner with Selenium grid then Search product is being executed first and then Login. Not sure what's the problem here.
Note: When I open the .side file in text editor then also the order is reversed this is the reason behind the execution. i.e. when saving the project in IDE it's doing something wrong.
I don't have the Run in parallel enabled.
Any help would be appreciated.
Related
Using Webdriver, I have automated web based Application in eclipse and using QTP, I have automated Power Builder application(like desktop App).
Now both become depended module for me, from PB data's are flowing to web base application.
so, how can I achieve this. please someone provide me how to proceed with situation and give me some strategy to proceed
We have exactly the same situation where powerbuilder application is integrating with the web application, below is the solution we have followed
We are using jenkins for executions, but this can be done without jenkins also.
We have one jenkins job which executes a UFT test first and then executes the selenium test if UFT test is successfull.
At the end of test execution UFT test will generate a file with the information required by selenium test and then jenkins will trigger selenium test, selenium test will read this file to gather any required information.
Results are interpreted in the following way
If UFT test fails then jenkins will not trigger the selenium test. If the whole jenkins job is executed successfully then integration is working, if the UFT part failed then Powerbuilder is having issue and if selenium part failed then web application is having issue.
I am using "selenium-server-server-standalone-2.44.0.jar" jar file to run my test suite in selenium test runner. It runs well in firefox & chrome, but it gives this info text in the test run report
"info: Selenium 1.0 (Core, RC, etc) is no longer under active development. Please update to WebDriver ASAP"
How do i update to webdriver manually? or How can i get rid of this info text?
The info message you are seeing is essentially warning you that if you continue to use the Selenium RC API, your tests can stop working with more recent releases of browsers. In the upcoming Selenium 3, the RC API will be dropped outright.
There is no way to just get rid of the text, it is a warning message, and it is a valuable warning message.
In order to move on to WebDriver you will need to rewrite all your tests. A suggestion is to start with failing ones first. Start by reading through the official documentation. There is also a link from there pointing you towards more specifics. While you are at it, you might also want to consider refactoring your code to use PageObjects, which was not available in Selenium 1.
Note that while you are migrating your tests, it is quite possible to run a mix of WebDriver and RC tests in the same project.
Point is WebDriver is half finished kind of thing and people not that deeply testing websites, it was useful to have IDE and automate quickly, so this selenium 1.0 works much better and should not be disabled at any point.
Is there any possible way to execute the output of either Selenium IDE browser plugin or Selenium Builder plugin with the selenium-server-standalone.jar?
When I try to execute the Selenium IDE selenese output with the -htmlSuite flag of the selenium-server JAR, the server complains that sendKeys is not a valid command. sendKeys is a selenium V1 command, but the Selenium IDE outputs V2. You'd think the server could execute V2 syntax, but it can't.
When I save V1 syntax from Selenium Builder, and try to execute that with the -htmlSuite flag I get an error that "click" does not implement the event interface. (I'm guessing some other v1/v2 incompatibility)
There doesn't seem to be a way to execute the JSON output of Builder against the server either (there's a Jenkins plugin that claims to do this, but it doesn't seem to have enough logging or debug information to tell if it did anything at all).
Is there anyway to run the output of any GUI tool against Selenium Server 2?
UPDATE:
According to this bug, the selenese runner part of selenium server is abandoned. https://code.google.com/p/selenium/issues/detail?id=4349 But why would someone bother compiling, packaging and shipping abandoned code that doesn't work? I find it really hard to believe that something as popular as Selenium doesn't work with its own IDE browser plugin.
Yes, you can. First, do your research in the Selenium documentation and start a Selenium Grid on your computer. Then, you can use Maven to run Selenium Builder scripts (using a method like what I have done here: http://djangofan.github.io/maven-selenium-builder/ )
Of course, for the Builder scripts to connect to the Grid hub you need to change the calls to:
new FirefoxDriver();
to this instead:
new RemoteWebDriver( "http://hubIP:4444/wd/hub", capabilities );
, or something similar.
Thats it.
The correct answer is, "no, Selenium Server v2 does not support Selenium IDE output nor Selenium Builder output".
If you want to use the output of Selenium IDE browser plugin you need the incredible Selenese Runner project.
https://github.com/vmi/selenese-runner-java
Why this requires a 3rd party tool and isn't part of the Selenium family of products is beyond me.
I have some Selenium IDE scripts for automating tasks (deploying to an internal server via it's web interface), and I want to have bookmarks to launch them.
Don't want go to Tools -> Selenium IDE -> search test -> launch test, just want to click a bookmark and let the script run.
How can I achieve this? Am I missing a point?
Don't know if it makes a difference, but I'm currently using Firefox (if I have to change browser for this, it wouldn't be a problem).
Thanks
Not sure whether you be able to run tests pressing on a bookmark as browser plugins are usually run with a key combo. And bookmark is URL. Well the main issue in your question how to associate bookmark
with browser addon launching.
Well, I've investigated a lil bit workaround. Speaking about getting Selenium HTML Test Suites Running Automatically (i mean an alternative to bookmarks) some solutions are possible:
solution 1:
Patch the Selenium server code to support HTML suites.
Build a script to execute your HTML test suites.
Build a script to read the suites’ output reports and consolidate
the information for inclusion into your CC.NET report.
Setup details you can get here
Solution 2:
Selenium IDE plugin for Firefox to create tests
Java to run Selenium Server
Selenium Server to run test suites
Nant to generate reports for CruiseControl.NET
CruiseControl.Net as a continuous integration engine
Setup details here
Hope this be useful for you.
Bookmarks are nothing else than URLs, which makes it impossible to "bookmark" a functionality of a plugin, such as the Selenium IDE.
However, there might be other plugins out there that do what you want. I haven't had a closer look at it, but one candidate could be the Favorites (Selenium IDE) Firefox Add-on.
We looking to use Selenium grid to parallelize our tests but some of our tests need to run java code local to the testing machine. In other words as well as automating the browser we also need to run some java code on the test machine. Are there hooks in Selenium Grid that will allow us to do this?
PS we are also looking at Jenkins to setup our environment.
EDIT: To be clearer, the java code I need to execute does a get from the web application, downloading pdf files that we cannot do with selenium alone. It then does some processing on those PDF files. I suppose the processing could be done on the server hub but the downloading can't. Unless someone can explain how to download a pdf using selenium and save it to a given location?
Selenium cannot execute your java code in the remote control machine. It will get executed only in the hub machine. However, taking screenshot, deal with popup, uploading the files in a specific path can be taken care by Grid.