如何以编程方式按下JS警报中的确定按钮?如何以编程方式按下提示确定按钮?
我想要做的是:每次创建警报后,按下OK按钮。
这是用于使用Selenium RC的UI测试。
此外,我已经检查:Click in OK button inside an Alert (Selenium IDE)。
编辑:我已经使用了chooseOkOnNextConfirmation()
,并在点击生成警报之前点击它。我也试过把它放在后面。没有工作!
如何以编程方式按下JS警报中的确定按钮?如何以编程方式按下提示确定按钮?
我想要做的是:每次创建警报后,按下OK按钮。
这是用于使用Selenium RC的UI测试。
此外,我已经检查:Click in OK button inside an Alert (Selenium IDE)。
编辑:我已经使用了chooseOkOnNextConfirmation()
,并在点击生成警报之前点击它。我也试过把它放在后面。没有工作!
如果您实际上可以看到警告对话框,则无法完成。硒应该为你处理。但是,as stated in Selenium documentation:
硒试图(通过更换 window.alert,window.confirm和window.prompt)隐藏那些对话框,这样他们就不会停止 执行您的网页。如果您看到弹出式提醒,可能是因为它在页面加载过程中触发了 ,这通常为时过早,因此我们无法保护页面。
这是Selenium RC(因此也是Selenium IDE)的一个已知限制,也是Selenium 2(WebDriver)开发的原因之一。如果你想赶上onload
JS警报,你需要to use WebDriveralert handling。
这就是说,你可以使用Robot
或selenium.keyPressNative()
填写任何文字,并按下回车和一味确认对话框。这不是最干净的方式,但它可以工作。但是,您将无法获得alert
消息。
Robot
将所有有用的键映射到常量,这样很容易。随着keyPressNative()
,要使用10
作为价值按为输入或27
Esc键,因为它与ASCII codes工作。
你不能。除非你使用可以控制浏览器的东西(例如硒)。
我做我们硒硒RC和看着那个问题,但没有任何工作。不管怎样,谢谢你! –
如果你可以模拟空格键的按键或回车键,那么就会解除警报。不过,最好先从外面做这件事,因为他们往往会阻止。
如果这是JavaScript的话,那么最好使用console.log()
。
使用chooseOkOnNextConfirmation你可以做到这一点。
selenium.chooseOkOnNextConfirmation(); // prepares Selenium to handle next alert
selenium.click(locator);
String alertText = selenium.getAlert(); // verifies that alert was shown
assertEquals("This is a popup window", alertText);
欲了解更多信息,请通过此链接link
您可以使用GSEvent。h用于处理任何类型的按键事件,它在GraphicsServices框架中是可用的,它是私人的framewrk(所以,你不能在appstore上提交它)。
selenium.chooseOkOnNextConfirmation();在Selenium RC工作。
我们必须评论Alert OK按钮的代码,然后才能正常工作。
$this->chooseOkOnNextConfirmation();
$this->click('locator');
$this->getConfirmation();
上述过程使用Selenium RC为我工作在PHPUnit
斯威夫特3你想尝试演艺警觉,确定这些代码和取消按钮
let sharephotoAction = UIAlertController.init(title: "Confirm Ticket", message:"Please Collect Your Ticket Before 1 Hours Ago in Location", preferredStyle: .alert)
sharephotoAction.addAction(UIAlertAction(title: "Ok", style: .default, handler: { (alertAction) in
_ = Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(self.Save), userInfo: nil, repeats: false)
}))
sharephotoAction.addAction(UIAlertAction(title: "Cancle", style: .default, handler:nil))
self.present(sharephotoAction, animated: true, completion:nil)
有任何你仍在使用Selenium RC的理由?它被正式弃用。 – Arran
你可以使用'chooseOkOnNextConfirmation'来做到这一点。 –