I have following selenium IDE code when exported to JUnit 4 (Webdriver) returns an error.
Though It works fine when I export it as Selenium RC.
Kindly tell me the webdriver equivalent for below errors --
IDE Code :
<tr>
<td>deleteAllVisibleCookies</td>
<td></td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/index.html</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>content</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>librarySelect</td>
<td>label=XYZ Software Inc.</td>
</tr>
<tr>
<td>type</td>
<td>userNameInput</td>
<td>demoUser</td>
</tr>
<tr>
<td>type</td>
<td>passwordInput</td>
<td>demoPassword</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>submitButton</td>
<td></td>
</tr>
.......
<tr>
<td>clickAndWait</td>
<td>link=Admin</td>
<td></td>
</tr>
.......
Exported Webdriver Code: [Contains Error]
@Test
public void testArchivalLogReport() throws Exception {
// ERROR: Caught exception [ERROR: Unsupported command [deleteAllVisibleCookies | | ]]
driver.get(baseUrl + "/index.html");
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | content | ]]
// ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
// ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
// ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
// ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | relative=up | ]]
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | menu | ]]
driver.findElement(By.linkText("Admin")).click();
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | relative=up | ]]
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | content | ]]
driver.findElement(By.xpath("//td[11]/span/b")).click();
// ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
// ERROR: Caught exception [ERROR: Unsupported command [selectWindow | name=content | ]]
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | name=content | ]]
// Warning: verifyTextPresent may require manual changes
try {
assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Data Extract[\\s\\S]*$"));
} catch (Error e) {
verificationErrors.append(e.toString());
}
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | relative=up | ]]
// ERROR: Caught exception [ERROR: Unsupported command [selectFrame | menu | ]]
driver.findElement(By.xpath("//a/font")).click();
}
Exported RC Code is Fine and looks like :
@Test
public void testArchival Log Report() throws Exception {
selenium.deleteAllVisibleCookies();
selenium.open("/index.html");
selenium.selectFrame("content");
selenium.select("librarySelect", "label=XYZ Software Inc.");
selenium.type("userNameInput", "demoUser");
selenium.type("passwordInput", "demoPassword");
selenium.click("submitButton");
selenium.waitForPageToLoad("30000");
selenium.selectFrame("relative=up");
selenium.selectFrame("menu");
selenium.click("link=Admin");
..........
}
How I am Exporting ? I am using Java/ Junit 4/ Webdriver
I can see Java/ Junit 4/ Webdriver Backed in option, Should I go with that ?? it gives me the same exported file as in Selenium RC option, only change is how we get webdriver.
IDEscript built using some plugins?Webdriver. Your frame change for example, would be expressed asdriver.switchTo().frame()where you pass in an element or an index. The way you're exporting shouldn't matter - you'll just have to use theWebdriverapi, which is fully documented, to fill in the blanks - ie, where you have those commented errors.