我正在使用 Selenium 和 IE 进行测试。我需要允许提交未加密的表单数据,但我无法手动访问 IE。只是通过詹金斯。我的办公桌上确实有相同的 IE,所以我可以在远程机器上运行之前在我的办公桌上尝试一些东西。这是我想要设置的:
我可以用一堆机器人电话来做到这一点。只需要做一次。基本上一个
ALT t -- to select tools
CTRL-TAB -- select security tab
LEFT -- select Internet
Three TABs and ENTER -- select Custom Level
145 DOWN arrows -- select Enable encrypted send
BUTTON1_DOWN_MASK -- select radio button
three TABs -- to move to OK
ENTER -- to click OK and close
我也重复另一个区域。正如我所说,我可以在我的机器上测试。这在一定程度上可以正常工作。它成功地启用了提交非加密表单,但是当我执行 ENTER 时,焦点切换到我的 selenium window 。
算法相当简单。对于每个键,我都会执行一个 robots.keyPress(ch); mywait(1000);robot.keyRelease(ch);mywait(1000)。mywait 只是我写的一个等待,所以我不必用 try/catch 包围每个 Thread.sleep()。
如果有两个键(如 ALT t 或 CTRL TAB),我会按 key1;等待; 按键2;等待; 释放键2;等待释放key1;等待
对于按钮点击我做
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
mywait(500); robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
mywait 500;
这是选择单选按钮的正确方法还是有更好的方法?如果我可以在启动 IE 之前将其添加到 IE 功能中,但我找不到该选项,那就太好了。
我的测试一直失败,因为有一个模式警报打开“当你提交未加密的数据时,人们可以看到你在做什么......”。我尝试在各个地方执行 driver.switchTo().alert().accept(); 但我仍然不断收到意外的打开警报消息。
任何建议,将不胜感激。这是 Java 1.8、IE 11、Windows 10 上的 Selenium(在我的桌子上是 Windows 7)
相关分类