基本上,如果测试用例是在Chrome,FF或Edge上运行的,它们会毫无问题地运行 - 您甚至可以在测试后使用浏览器。
然而,对于IE,从Web驱动程序运行它基本上会使浏览器不稳定。这适用于框架和手动使用。我遇到的问题是,一些元素在被选中时会闪烁。不幸的是,我试图在下拉列表中选择一个元素。一旦它开始闪烁,然后执行Click Element,它会在下拉列表后面点击,从而意外地点击一个完全不同的元素并停止我的测试。
有没有办法解决这个问题?我需要在所有4种浏览器上自动化我们的测试。
答案 0 :(得分:2)
当我尝试在IE11中使用Robot自动化我的测试时,我遇到了相同/类似的问题。就我而言,一旦元素开始闪烁,测试甚至不会进一步发展。浏览器只是挂起而没有任何交互。 我找到的解决方法是,使用"按键" 关键字而不是" 点击元素" 并给出回车键。这对我很好,我能够完成我的测试。当然,我必须添加两个测试用例,一个用于IE,一个用于其他浏览器,但确实有效 !!
以下是示例测试用例:
Click Add - IE
# Click Element ${I_Add} --> This is for the other browsers
Focus ${I_Add} -->
Press Key ${I_Add} \\13 --> These are for IE
如果您有任何进一步的澄清,请问我
答案 1 :(得分:1)
恕我直言,InternetExplorerDriver不够稳定,不值得自动化测试的投资回报率,特别是在3个主要浏览器使用您的代码的情况下,IE将需要丑陋的补丁,这可能会损害其余的测试。引用InternetExplorerDriver:
缺点
- 显然,InternetExplorerDriver只适用于Windows!
- 比较慢(我的补充 - 见Dave Haeffner的great benchmark)
特殊配置:
在Windows Vista或Windows 7上在IE 7 或更高版本上,必须将每个区域的保护模式设置设置为相同的值。 ...此外,必须禁用“增强保护模式”
以及更高版本... 仅适用于IE 11 ,您需要设置注册表项。
如何实施Javascript事件:
由于InternetExplorerDriver仅限Windows,因此它会尝试使用所谓的“本机”或操作系统级事件在浏览器中执行鼠标和键盘操作。这与将模拟JavaScript事件用于相同操作形成对比。 ... 但是,当IE浏览器窗口没有焦点时,以及尝试将鼠标悬停在元素上时,目前存在一些带有鼠标事件的问题。
列表继续......
答案 2 :(得分:1)
您是否尝试使用requireWindowFocus
功能与IE一起使用?驱动程序行为的原因完全有效。我会鼓励任何有兴趣阅读a blog post致力于讨论该问题的人。
答案 3 :(得分:0)
它可能适用于您,也可能不适用于您;但仍然看看 -