值得为Selenium痛苦吗?
值得为 Selenium 痛苦吗?Atlassian 开发 者Nick Menere在Atlassian开发者博客(Atlassian Developer Blog)上提出了这样一个特别的问题。Selenium是为Web应用所提供的 测试 工具,其直接运行在浏览器中。在他的blog中,Menere表达了对于使用Selenium测试 JIR
值得为
Selenium痛苦吗?Atlassian
开发者Nick Menere在Atlassian开发者
博客(Atlassian Developer Blog)上提出了这样一个特别的问题。Selenium是为Web应用所提供的
测试工具,其直接运行在浏览器中。在他的blog中,Menere表达了对于使用Selenium测试
JIRA 3.10中两个新的Ajax特性时所碰到的障碍的看法。这些障碍包括:
键盘事件
显然,
selenium.type(...) 并不真正模拟一个用户键入到输入框的动作。参看图片。因此需要我们键入文本并单独触发每个键盘事件——selenium.keyDown(...); selenium.keyPress(...); selenium.keyUp(...);。在Firefox中,它起作用了!!……在其他浏览器中,每个字符将会打印两次。
定时
……由于有非可选项目(section label等等),我们想测试一些元素属性没有被改变。我们发起一个该元素上的鼠标事件,接着用xpath定位器检查该元素的属性确实没有变化……这需要在事件发起与测试之间短暂暂停……“新增/加大暂停时间”是修正大多数可能失败的测试的常用方法。
鼠标定位问题
为了给用户更好的使用体验,我们决定加入自动滚动特征……在插入/加大了一堆暂停之后,我们仍不能使相关测试通过。为什么屏幕滚动造成了测试失败?我们在被选元素而非坐标上发起了事件。构建依然失败……我看到鼠标直接跑到了屏幕的中央,当浏览器窗口滚动时,鼠标被定位到了一个非可选择项目上……怎么修正呢?我安装了xwarppointer,以使我们通过bash来移动鼠标指针,并把鼠标指针塞到一个角落里。
原文转自:http://www.ltesting.net