2012-05-25 60 views
2

如何以编程方式按下JS警报中的确定按钮?如何以编程方式按下提示确定按钮?

我想要做的是:每次创建警报后,按下OK按钮。

这是用于使用Selenium RC的UI测试。

此外,我已经检查:Click in OK button inside an Alert (Selenium IDE)

编辑:我已经使用了chooseOkOnNextConfirmation(),并在点击生成警报之前点击它。我也试过把它放在后面。没有工作!

+0

有任何你仍在使用Selenium RC的理由?它被正式弃用。 – Arran

+0

你可以使用'chooseOkOnNextConfirmation'来做到这一点。 –

回答

0

如果您实际上可以看到警告对话框,则无法完成。硒应该为你处理。但是,as stated in Selenium documentation

硒试图(通过更换 window.alert,window.confirm和window.prompt)隐藏那些对话框,这样他们就不会停止 执行您的网页。如果您看到弹出式提醒,可能是因为它在页面加载过程中触发了 ,这通常为时过早,因此我们无法保护页面。

这是Selenium RC(因此也是Selenium IDE)的一个已知限制,也是Selenium 2(WebDriver)开发的原因之一。如果你想赶上onload JS警报,你需要to use WebDriveralert handling

这就是说,你可以使用Robotselenium.keyPressNative()填写任何文字,并按下回车一味确认对话框。这不是最干净的方式,但它可以工作。但是,您将无法获得alert消息。

Robot将所有有用的键映射到常量,这样很容易。随着keyPressNative(),要使用10作为价值按输入27 Esc键,因为它与ASCII codes工作。

0

如果你可以模拟空格键的按键或回车键,那么就会解除警报。不过,最好先从外面做这件事,因为他们往往会阻止。

如果这是JavaScript的话,那么最好使用console.log()

0

使用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

-1

您可以使用GSEvent。h用于处理任何类型的按键事件,它在GraphicsServices框架中是可用的,它是私人的framewrk(所以,你不能在appstore上提交它)。

0

selenium.chooseOkOnNextConfirmation();在Selenium RC工作。

我们必须评论Alert OK按钮的代码,然后才能正常工作。

0
$this->chooseOkOnNextConfirmation(); 
$this->click('locator'); 
$this->getConfirmation(); 

上述过程使用Selenium RC为我工作在PHPUnit

0

斯威夫特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) 
相关问题