Hot answers tagged

3

Putting a sleep in a selenium test is generally not the best solution. Selenium has keywords to wait for some condition on a page, such as wait for condition, wait until element is visible, wait until page contains, and wait until page contains element. These are preferable, since the wait will usually be as short as possible. With a fixed-time wait, you may ...


3

From: http://robotframework-seleniumlibrary.googlecode.com/hg/doc/SeleniumLibrary.html?r=2.9.1 Possible values for browser are all the values supported by Selenium and some aliases that are defined for convenience. The table below lists the aliases for most common supported browsers. firefox FireFox ff FireFox ie Internet Explorer ...


3

Selenium itself is only a framework to drive web-browsers, but you can combine it with some code to check and or manipulate the database the application under test uses. If you use Selenium with a programming language then you can use the same language in combination with a database library to access and change the database. Supported databases depend on ...


3

Overview Robot framework is an excellent choice that meets all of your goals. Robot can be used for UI tests (via selenium), REST and SOAP service tests, database tests, and just about any other type of acceptance test. You can even use robot tests to improve your manual testing process. Robot is keyword driven Robot is keyword-driven, which makes it very ...


3

Welcome to SQA poc, Many people's first encounter with automation is to start with a record and playback tool. You quickly learn the limitations of that method because the code it produces is crude and not very maintainable. I do know some people who continue to use a recorder only for the purpose of getting the ID's or other unique identifiers, however ...


2

To prevent overwriting the earlier results, you can specify where you want the logs and results with command line options --output, --log (-l) and --report (-r). There is also an option --timestampoutputs (-T) for automatically timestamping the result files to get output-20080604-163225.xml or similar. There seems to be at least two database libraries ...


2

At least on http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.8.5#getting-started is nicely detailled installation instructions.


2

Since this question was cross-posted to stackoverflow, I'll cross-post my answer: Unfortunately, the use of test templates more-or-less require that the data is hard-coded in the test case. However, the test template is not much more than a wrapper around a for loop. You could do something like this: | | ${database_rows}= | Run sql query | | ... | Select * ...


2

If you can't determine why the browser won't launch, you can make your tests more robust. Make sure to clean the environment during test warmup, add some retry/wait/timeout wrappers around the section that launches the browser, and kill any processes and services that aren't relevant to the test. In order to find out why the browser is crashing, you can ...


2

Selenium Webdriver is a web test automation framework and primarily used for functional testing of front-end part of the application (that piece, that the user sees in his/her browser). Since this framework is open source and can be relatively easily extended, someone could have already implemented some additional libraries for interacting with database. ...


2

Selenium WebDriver itself cannot be used to test databases, but the language you are using to code your WebDriver tests (eg. C# or Java, etc.) can.


2

TestNG has been created as an alternative to JUnit in unit testing. While, RobotFramework has been created for acceptance testing. Each has remarkable features: TestNG TestNG is easily integrated into maven cycle and used mostly with Data Driven testing TestNG is pure Java Annotations are easier to understand Test cases can be grouped more easily ...


2

The syntax is cumbersome, but there are a couple things you can do. If you don't care about the message returned by the first keyword, you can use Run keyword and return status. This is perhaps the easiest solution, since the keyword will return either True or False. ${status}= Run keyword and return status ... Page should contain element ...


2

You will find the answer here: http://robotframework.org/Selenium2Library/doc/Selenium2Library.html For reference, in this case I would use the keyword "Get Element Attribute" and compare it against the expected result.


2

You can use the Selenium2Library Get Element Attribute keyword to get the style attribute: | | ${style}= | Get element attribute | id=check_style@style You can then either use a regular expression to find the background color attribute or do some additional parsing. The latter would be easier to do in python than with robot keywords. For example, if you ...


1

Take a more precise look at the error message. It says "Element must be user-editable in order to clear it". Seems like your issue relates not to "Input Text" keyword but to earlier one which you probably have in your test (like "Clear Element Text" one). Make sure that this keyword has also a valid locator set. If it doesn't work you have also to make ...


1

I will answer my own questions if somebody else stumbles unto this same problem. No, there is no (simple) way for doing this. Sudslibrary is based on suds and that support only Soap 1.1. Soap 1.1 does not support authentication with certification. If possible, publish version of the service you are testing that uses basicHttpBinding ( accessible with ...


1

The usual definition of a test plan is detailed here. The image you've posted, however, is exactly how Microsoft Test Manager is organized. You create a "test plan" (in their terminology this means the tests to be executed) for a certain release or sprint. In a test plan, you may have one or more test suites, which contain test cases. (Normally grouped in a ...


1

It seems like you don't want to report error if element was not found. In such case, the most straight-forward way is to run the keyword and ignore errors if element is not found: Run Keyword And Ignore Error Click Element id=element_id Also, hard-coding sleep intervals can make your tests slow and flaky. Using Wait Until Page Contains is better.


1

When you instantiate Selenium set the full path to the Firefox install you want to use instead of just using "firefox" which will use the defaul path. def setUp(self): self.selenium = selenium("localhost", 4444, "*firefox C:\\Program Files\\Mozilla self.selenium.start()


1

Based on the example of RF keywords list, you should write the condition, in your case should be ${CreateButtonVisible} == 'PASS' Run Keyword If ${CreateButtonVisible} == 'PASS' Create Button


1

You mention in the comments: What happens in my application is, after POSTing something, it takes sometime to update everything(indexing involved), for that specific reason we need to wait sometime and refresh the page, otherwise if I use wait for condition/wait until element is visible/wait until page contains/wait until page contains element , I cannot ...


1

If you use Selenium2Library, which is much better than SeleniumLibrary so possible values for browser are as follows: firefox | FireFox ff | FireFox internetexplorer | Internet Explorer ie | Internet Explorer googlechrome | Google Chrome gc | Google Chrome chrome | Google Chrome opera | Opera phantomjs | PhantomJS htmlunit | HTMLUnit htmlunitwithjs | ...


1

Use Run Keyword And Return Status It runs the given keyword with given arguments and returns the status as a Boolean value. This keyword returns True if the keyword that is executed succeeds and False if it fails. This is useful, for example, in combination with Run Keyword If. If you are interested in the error message or return value, use Run Keyword And ...


1

You should use the "Checkbox Should Be Selected" and "Checkbox Should Not Be Selected" keywords for that. If you don't expect a specific value (selected/not selected), then use the "Run Keyword and return status" which "two values, so that the first is either 'PASS' or 'FAIL', depending on the status of the executed keyword"


1

Here is an answer here which might help: https://groups.google.com/forum/?fromgroups=#!topic/selenium-users/nFhusJoAzV8 I know that I have had issues with firefox driver not killing the firefox process when it was finished and had to add code to kill all firefox processes as part of the cleanup of my tests.


1

Well it depends on what you set up, in my environment I had Python, Java, PiP and EasyInstall loaded then it was simply a matter of running: pip install robotframework But it's simple enough to find the instructions on the Robot Framework site and check out the link to the Installation Instructions. The Robot Framework site has links to examples as well, ...


1

I can suggest two options for you: If your app is more like a UI testing, please try using Sikuli. It does not matter which language you have used, if it is on screen, Sikuli can test it. If you want more involved testing, including UI & functional, try Ranorex. Sikuli is free open source: http://www.sikuli.org/ Ranorex is paid but gives you a ...


1

Selenium/Python is what we use and are very happy with it. Re #1: You can write tests in pure Python (without Selenium) to test rest/DB and run them using same test runner. Test are just python programs using Selenium libraries or whatever else you need. And there are libraries for anything I ever needed. Re #2: Python is famously easy to read. Our own ...


1

Please add your HTML code properly so we can look into this. Please go through the below links. Select option Selenium2Library



Only top voted, non community-wiki answers of a minimum length are eligible