键盘事件
显然,selenium.type(...) 并不真正模拟一个用户键入到输入框的动作。参看图片。因此需要我们键入文本并单独触发每个键盘事件——selenium.keyDown(...); selenium.keyPress(...); selenium.keyUp(...);。在Firefox中,它起作用了!!……在其他浏览器中,每个字符将会打印两次。
定时
……由于有非可选项目(section label等等),我们想测试一些元素属性没有被改变。我们发起一个该元素上的鼠标事件,接着用xpath定位器检查该元素的属性确实没有变化……这需要在事件发起与测试之间短暂暂停……“新增/加大暂停时间”是修正大多数可能失败的测试的常用方法。
鼠标定位问题
为了给用户更好的使用体验,我们决定加入自动滚动特征……在插入/加大了一堆暂停之后,我们仍不能使相关测试通过。为什么屏幕滚动造成了测试失败?我们在被选元素而非坐标上发起了事件。构建依然失败……我看到鼠标直接跑到了屏幕的中央,当浏览器窗口滚动时,鼠标被定位到了一个非可选择项目上……怎么修正呢?我安装了xwarppointer,以使我们通过bash来移动鼠标指针,并把鼠标指针塞到一个角落里。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/