自动化Selenium中循环的最佳方法
我想自动化一些重复的任务——比如多次提交表单。我在页面加载问题上结结巴巴,所以我想让你问一下你是怎么做到的。比如说,我想在我们的表格上提交十个不同的条目。所以我可以这样做:自动化Selenium中循环的最佳方法,selenium,webdriver,Selenium,Webdriver,我想自动化一些重复的任务——比如多次提交表单。我在页面加载问题上结结巴巴,所以我想让你问一下你是怎么做到的。比如说,我想在我们的表格上提交十个不同的条目。所以我可以这样做: for (int i =0; i<10; i++){ String name = getNextName(); String surname = getNextSurname(); Webelement newUserButton = driver.findElement(By.id("newUser"))
for (int i =0; i<10; i++){
String name = getNextName();
String surname = getNextSurname();
Webelement newUserButton = driver.findElement(By.id("newUser")));
newUserButton.click();
WebElement name = driver.findElement(By.id("name")));
name.sendKeys(name);
WebElement surname = driver.findElement(By.id("surname")));
surname.sendKeys(surname);
WebElement submit = driver.findElement(By.id("submit")));
submit.click();
}
for(inti=0;i听起来您需要添加一个显式的等待-请参阅Webdriver页面
通过显式等待,您可以告诉webdriver等待表单处于就绪状态—通常某个字段可见或重置(取决于单击提交时表单发生的情况).如果您使用的是Selenium 2.0,您可以通过在代码中创建WebDrivewWait对象,使WebDriver等待某个操作发生。您可以查看此链接以了解更多信息-您所说的“仅在表单准备就绪时等待”是什么意思?准备就绪的定义是什么?提交。单击()将等待页面完成加载,然后再继续,因此可能是其他一些细微之处导致了问题。循环崩溃时的错误到底是什么?不是解决方案,但我认为您可以从循环中执行所有元素定义,如Webelement newUserButton=driver.findElement(By.id(“newUser”)
或者每次查找元素都有意义吗?@Nix-Form ready意味着单击后所有字段都被加载。@prestomanifesto-submit.click();不这样做-验证:)听起来像我需要的。明天我会研究它,告诉你它是怎么回事!正是我需要的。而且一直都在我眼前:)