Selenium操作联动菜单

简介:

最近在用Selenium实现自动化测试的过程中遇到了一些问题,不太好解决,或者解决了也觉得不是特别好的办法,在这里写出来一个是记录一下,也向大家需求一下帮助,看看有没有更好的办法,谢谢!
  一个问题就是二级联动菜单,比如选择省市的二级联动菜单,在第一个菜单中选择省份后会触发二级菜单的load事件去 装载市区的option label。可如果单独用selenium.select(locator,label='xxx');的操作是无法触发二级菜单的load事件的,从而执行时无法找到相应的label。大家的建议都是用fireEvent、mouseUp、mouseDown之类的API进行调试,可这些方法仍没有解决我的问题。后来是通过先focus,再click,最后select的步骤进行操作才能触发事件并选到相应的label。实例如下:

selenium.focus(provinceCode);
selenium.click(provinceCode);
selenium.select(provinceCode,label='Beijing');
selenium.focus(cityCode);
selenium.click(cityCode);
selenium.select(cityCode,label='Beijing');

  可感觉这种方式毕竟繁琐,不知道有没有更好的方法可以直接触发事件,直接通过select进行操作。 不知道是不是我用的框架没有继承SeleniumTestCase。因为我们的框架是结合TestNG,通过@Factory和@Test标注进行测试Case文件解析,文件以htm形式存在,将tr/td标签解析为selenium可执行的命令执行自动化操作。如果大家有什么好的办法请留言告诉我吧,谢谢!
  其次就是对页面上js事件的处理,现在我能想到的就是用fireEvent()这个API。一个参数是要触发这个js的控件的xpath,另一个参数就是要触发的事件, 大家给的建议一般都是blur或focus,可尝试了很多次都没有成功。不知大家有没有更好的方法?或者了解这个API的大虾能不能给具体讲讲,为啥用blur/focus,这俩有什么区别?还有没有什么其他event可以用呢?谢谢!

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
8月前
|
SQL Oracle 关系型数据库
selenium-简单的介绍与操作
selenium-简单的介绍与操作
84 0
|
8月前
|
JavaScript
selenium--操作JS弹框
selenium--操作JS弹框
|
1月前
|
Java 测试技术 Python
Selenium帮助你轻松实现浏览器多窗口操作
Selenium帮助你轻松实现浏览器多窗口操作
77 0
|
3月前
|
测试技术 Python
python使用selenium操作浏览器的教程
python使用selenium操作浏览器的教程
60 1
python使用selenium操作浏览器的教程
|
4月前
selenium对下拉框操作
selenium对下拉框操作
22 0
|
8月前
|
Python
Selenium中操作iframe,别再说你不会了
Selenium中操作iframe,别再说你不会了
109 0
|
8月前
|
Web App开发 JavaScript 测试技术
selenium-等待时间+窗口操作详解+实战
selenium-等待时间+窗口操作详解+实战
152 0
|
8月前
selenium--单选框和复选框的操作
selenium--单选框和复选框的操作
|
8月前
|
JavaScript
selenium--高亮显示正在操作的元素
selenium--高亮显示正在操作的元素
|
8月前
selenium--页面元素是否可见和可操作
selenium--页面元素是否可见和可操作

热门文章

最新文章