【发布时间】:2017-10-28 10:56:18
【问题描述】:
我正在尝试创建一个脚本来测试一个网站(js 应用程序),代码几乎完成但我遇到了一个问题。该脚本应该在网站上编辑一个问题(该问题使用数据库中的大量变量),并且取决于脚本是否失败或是否有其他人编辑了该问题,脚本有机会弹出消息(不是单独的窗口或新选项卡)。我希望代码:
如果存在则单击该元素,如果该元素不存在则转到下一行代码。
我尝试使用但没有帮助:
Alert alert = driver.switchTo().alert();
alert.accept();
我的代码:
driver.findElement(By.xpath("//button[2]")).click();
// Click unselect all
Thread.sleep(1000);
driver.findElement(By.linkText("Romania")).click();
// Select Romania
log.debug("Select Romania");
Thread.sleep(2000);
driver.findElement(By.linkText("Germany")).click();
// Select Germany
log.debug("Select Germany");
Thread.sleep(2000);
driver.findElement(By.xpath("//div[4]/a")).click();
// Click Save Button
log.debug("Click Save");
Thread.sleep(3000);
**driver.findElement(By.xpath("//div[4]/div/div/div/div/div/button")).click();**
// Pop-up message
log.debug("Click Pop-up message");
Thread.sleep(3000);
/////////////// Single Answer
driver.findElement(By.linkText("Change")).click();
// Click Change Template
log.debug("Click Change");
Thread.sleep(2000);
您可以在 ****(弹出窗口)之间找到问题所在的行,如果元素存在,我如何单击或移动到 driver.findElement(By.linkText("Change")).click( );如果找不到元素。
如果需要更多信息,请告诉我。
编辑: 提供有关弹出窗口出现原因的更多详细信息。脚本编辑一个问题,问题有多个模板,并且脚本应该在选择模板后遍历每个模板,脚本会将数据库中的变量与问题相关联。 模板:
单选题 单答案下拉问题 多选题 多选下拉题 日期
当模板从多个答案更改为单个答案/日期或相反时,弹出消息显示为警告(使用的变量将被删除)。 在完美的情况下,如果脚本成功完成(它将以单一答案下拉列表结束 - 第一个问题是单一答案,因此不会出现弹出窗口)并且没有人编辑问题我不会遇到弹出窗口,但如果脚本将模板更改为多个答案后由于 x 原因而失败,当我重新启动脚本时,我将收到该弹出窗口/警告。
如上面代码所示更改问题的语言时也会出现此问题,我有多个步骤遇到此问题。
目前为了让脚本运行并避免上述问题,我需要自己编辑问题并在运行脚本之前选择特定的语言和模板。
【问题讨论】:
标签: java selenium automation webdriver