我怎样才能在一个JS警报按OK按钮编程?
我想要做的:每次创建警报后,按下OK按钮。
这对于使用Selenium RC的UI测试。
另外,我已经检查: 点击警报(硒IDE)中确定按钮 。
编辑:我已经使用chooseOkOnNextConfirmation()
并把它放在单击生成警报的按钮之前。 我也试过之后将其放置。 没有工作!
我怎样才能在一个JS警报按OK按钮编程?
我想要做的:每次创建警报后,按下OK按钮。
这对于使用Selenium RC的UI测试。
另外,我已经检查: 点击警报(硒IDE)中确定按钮 。
编辑:我已经使用chooseOkOnNextConfirmation()
并把它放在单击生成警报的按钮之前。 我也试过之后将其放置。 没有工作!
如果你可以看到一个警告对话框,那么就无法完成。 硒应该为您处理。 但是, 如硒文档中所述 :
硒试图从你(通过更换window.alert,window.confirm和window.prompt)隐瞒这些对话,使他们不会停止页面的执行。 如果你看到一个警告弹出,这可能是因为它在页面加载过程中,通常是太早了我们保护的页面被解雇。
这是硒RC(因此,硒IDE,太)和硒为什么2(webdriver的)被开发的原因之一的已知限制。 如果你想赶上onload
JS警报,您需要使用的webdriver 报警处理 。
这就是说,你可以使用Robot
或selenium.keyPressNative()
填写任何文字,然后按Enter盲目确认对话框。 这不是最干净的方式,但它可以工作。 你将无法得到alert
消息,但是。
Robot
拥有所有映射到常量有用的按键,这样会很容易。 随着keyPressNative()
要使用10
作为值,按Enter键或27
的Esc键 ,因为它的工作原理ASCII码 。
你不能。 除非你使用的东西,可以控制浏览器(如硒)。
如果你使用的硒,看看单击OK按钮警报(硒IDE)内
如果你可以模拟空格键的按键或回车键,那么就会解除警报。 不过你最好从外面任何使警报显示出来摆在首位这样做,因为他们往往会阻止。
如果这是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);
欲了解更多信息,请通过以下链接链接
selenium.chooseOkOnNextConfirmation(); 在硒RC为我工作。
我们必须简评供警报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)
您可以使用GSEvent.h处理任何类型的按键事件的,它是在GraphicsServices框架availble的,这是私人framewrk(这样,你是不是能够提交其在AppStore上)。