selenium是一款开源的web ui自动化测试工具,本文尝试部署selenium,并做简单验证及总结一点经验。
一、测试的类型
UI自动化测试的位置
二、测试截面
三、WebUI测试分层调用模型
四、Selenium生态系统
Selenium特点:
1、基于webdriver实现,开放性较好。
2、支持常见浏览器和编程语言,适应面广。
3、生态环境兼容性有待改进。
五、环境部署要点
1、Selenium可以选择python2或python3的对应版本,最新为3.4
2、浏览器可以选择Opera,使用来看兼容性较好。
3、理论上,Webdriver驱动程序的版本越新越好,而selenium和浏览器的版本需要略低一点。
4、总体来说,整套工具的兼容性不是很好,软件成熟度不高,接口间没有兼容性验证和依赖管理,兼容性的问题反应在测试脚本上各式各样,遇到无法解释的问题可以首先考虑兼容性问题。
5、一个验证成功的环境版本(python2.7+selenium3.4+selenium IDE2.9+Opera 44+operadriver)
六、基本测试流程
1、环境部署
2、在selenium IDE中录入脚本
3、在脚本编辑环境(如pycharm)中编辑调试脚本
4、如果需要进行并发测试,可以更换成无界面的浏览器(如phantomjs)
七、示例(访问Cognos报表)
示例进行了cognos登录和报表执行请求,在Opera中执行成功。可以看出,界面测试的脚本量比模拟浏览器方式(服务截面)的测试脚本少很多,而且也更容易被最终用户读懂。
图中time.sleep(5)是为了便于观察测试过程。
八、延伸用途
selenium不仅用于pc端自动化测试,还有移动端的对应版本,可进行移动设备上的web ui自动化测试,甚至还可以操控浏览器爬取网络上的各种信息,特别是反爬手段较多的网站以及含客户端计算的网站。