我必须编写一个selenium自动化测试脚本,在这个脚本中,测试必须创建一个模板来填充表单中的Generalize数据,并手动输入特定的细节(尝试在这里等待,直到手动输入完成),然后单击SAVE按钮。但是,如果某些必填字段被保留,系统将显示JavaScript的验证警报。我使用alert alert=driver处理此警报。切换到()。警惕();警觉的接受();在这之后,我想回到主页,等待几分钟写下缺少字段的描述,现在点击保存按钮。
如何在Selenium web驱动程序中实现这一点?
您可以尝试以下代码:driver。导航背();
接受警报框后。我们想通过获取窗口句柄细节来切换到主窗口。
//Stores the handle details
String windowHandle=driver.getWindowHandles();
//Alert portion
Alert alert = driver.switchTo().alert();
alert.accept();
//After switching back to main window..
driver.navigate.windows(windowHandle);
//It takes to the main window....
当您首先处理警报时,您必须检查警报是否存在。我将采用这种方法:
public boolean isAlertPresent() {
boolean presentFlag = false;
try {
// Check the presence of alert
Alert alert = driver.switchTo().alert();
// Alert present; set the flag
presentFlag = true;
// if present consume the alert
alert.accept();
} catch (NoAlertPresentException ex) {
// Alert not present
ex.printStackTrace();
}
return presentFlag;
更多点击这里,也不要忘记调试一步一步地了解什么步骤警报出现/不出现。希望这对你有帮助。
问题内容: 我正在尝试使用switch来发出警报并执行操作,但是我遇到了错误。 现在真正的问题是当我将下面的代码放入try中时,catch可以正常工作。我的意思是它可以完美地处理警报。但是当我不经尝试使用相同代码时,捕获代码将引发以下异常 请在下面找到错误 问题答案: 这个想法是当您处理警报时,您必须先检查警报是否存在。我会使用这种方法: 在这里您可以获得详细信息,也不要忘记逐步调试以了解出现/不
问题内容: 我试图单击此页面上的元素: 在这一点上,我想单击“现金流量”,“资产负债表”或“季度”。我知道这些按钮已加载,因为我可以使用BeautifulSoup从页面源中提取它们。但是,当我尝试使用Selenium时: 全部返回“无法定位元素”,除了“季度”返回一个元素,但它位于图上方的一个元素而不是我感兴趣的表格上方的一个元素。 我认为这是由于位于错误的iframe中,而我找到了所有ifram
我目前正在试用Amazon设备场,并且能够让一个虚拟应用程序工作。 然而,当我尝试在Amazon device farm上获得我想要的实际应用程序时,我无法做到这一点。我可以上传.ipa文件,压缩并上传py.tests/appium测试及其依赖项,但是测试失败。 我认为可能发生的是,民主同盟军没有识别一些自动解除通知和全球定位系统坐标警报的Desired_capabilities。 我的设置非常类
我有一个需求,我想在多个驱动程序之间切换来执行测试。例如,启动android应用程序,执行一些步骤,并在桌面浏览器中进行验证。一旦完成,切换回android应用程序,并继续其余的流程。可以有多个实例,我必须在多个驱动程序之间切换
我在一个场景中执行以下步骤: 打开浏览器-->导航到并单击打开新窗口的链接 使用-->在子窗口上执行操作。 关闭子窗口。 切换回父窗口。 获取当前窗口的标题。 步骤1到3工作很好。但是步骤4抛出了一个异常。为了更清楚,我在抛出异常之前包含了日志消息。n 我们正在使用一个基于flashSelenium的特殊框架,这里的开发人员已经成功地将flash Selenium与WebDriver集成在一起(最
问题内容: 我有一个应用程序,允许用户选择一个选项,并根据用户选择从组件中删除一个JPanel,添加新的JPanel并重新验证该组件 看到代码: c是一个组件 我有几个JPanels,用户可以在它们之间切换,并且开关可以正常工作。但是,当我根据用户选择添加此JPanel时,以后添加的JPanels无法正确加载。是什么原因造成的? } 问题答案: 更好的方法是转向CardLayout。但是如果您想坚