我有一个带有输入文本字段的JSP页面。
<table>
<tr>
<td><input type="text" id="searchText" name="searchInput"/></td>
</tr>
</table>
我编写了一个selenium测试用例,用于验证搜索输入文本是否存在。
public class UIRecipeListTest extends SeleneseTestBase {
@Before
public void setup() {
WebDriver driver = new FirefoxDriver(new FirefoxBinary(new File(
"C:\\Program Files (x86)\\Mozilla Firefox 3.6\\firefox.exe")), new FirefoxProfile());
String baseUrl = "http://localhost:8080/RecipeProject/";
selenium = new WebDriverBackedSelenium(driver, baseUrl);
}
@Test
public void testShowRecipes() {
verifyTrue(selenium.isElementPresent("searchText"));
selenium.type("searchText", "salt");
}
}
verifyTrue
测试返回true
。但是,selenium.type
测试失败并出现此错误:
com.thoughtworks.selenium.SeleniumException: Element searchText not found
我该怎么做才能使测试工作?
答案 0 :(得分:7)
第一个参数需要是一个选择器。 searchText
不是有效的CSS或xpath选择器。
你会使用selenium.type("css=input#searchText", "salt");
还想指出你似乎是在Selenium的两个版本之间。
selenium.type(String,String)
来自Selenium 1 API。你应该保持1个版本,如果它是Selenium 2,你需要做类似的事情,
WebElement element = driver.findElement(By.id("searchText"))
并使用
element.sendKeys("salt");