上一篇文章介绍了Selenium+JUnit测试环境的搭建,和一条简单测试用例的编写方法,本文将在这个基础上介绍一些稍微复杂的用例,并对脚本的编写做出一些总结。
借助XPath
测试过程中,需要提取商品的价格,而商品每天会变的,如何固定取到结果呢?
取商品的dom路径,如何快速定位呢?
这里可以需要借助XPath。
使用用到FireBug插件,可以得到商品价格的XPath:
/html/body/div[4]/div[2]/div/div/div/div[6]/p[2]/span[2]
弹出窗口的验证
下面这条用例演示了如果验证弹出窗口:
脚本编写总结
根据实际使用经验,哪些需要编写代码,哪些可以录屏实现?
录制实现:
-
验证图片,文字,标签等的存在,可以通过录制实现。
在录制过程中涉及到定位元素,可以通过以下几种方法:
·通过元素的内容
·通过元素的属性值,例如id; //*[@id="upquery"]
·通过元素的css样式
·通过元素的dom路径; /html/body/div[4]/div[2]/div/div/div/div[6]/p[2]/span[2]
测试步骤可以通过录制实现。
验证的方法可以通过录制生成。
需要编码实现的:
当前页面不直接反应出来的数据,需要编码实现。例如:结果页的商品数(有缺结果的情况),中间页的商品数等。
新窗口弹出,需要添加代码。
总体来说,使用Selenium+JUnit,整体维护成本较低,只有在dom路径,或者id值修改时需要更新代码。
在实际应用中,id值变化的可能性不大,路径变化多一些,但是借助xpath可以快速重新定位。
关于代码的编写实现难度不大,因为整体框架可以直接使用JUnit的框架,验证方法和步骤可以录制生成,需要实际改动的相对较少。
如需转载该篇文章,请注明来自“搜狗测试”