测试程序和测试内容分离
百度搜索用例
第5步定义变量title,使用关键字get title得到标题并赋给变量title,第6步比较实际结果和期望结果。
我现在要写5条百度搜索的用例:
可以在Search测试套件下创建5条测试用例。其实对于每一条测试用例来说,只是搜索的内容不同,脚本步骤是完全一样的。这样做脚本的冗余性差,而且不便于维护。假如,百度输入框的定位方式变了,我不得不打开每一条用例进行修改。
我们可以过创建关键字的方式,从而实现分层的思想来解决这个问题。
关键字
1、创建资源
右键“测试项目”选择“new resource”创建资源。
输入资源名称:
2、创建关键字
右键“业务关键字”选择“new User Keyword” 来创建用户关键字。
输入关键字的名称:
3、编辑关键字
分析:
对于一个测试用例来说,用户关心的是输入什么内容,得到什么结果。
所以,对于“百度搜索”关键字来说,需要创建两个接口变量${search}和${result} ,用于接收输入内容和预期结果。
点击百度搜索关键字的Arguments输入框,定义变量,多个变量用“|”隔开。
在百度关键字(用例)中使用参数化变量。
4、添加创建的资源
右键测试套Search页面,添加资源(业务关键字.txt)
5、调用关键字
现在就可以在测试用例中使用创建的关键字了(百度搜索)。
创建一条用例:百度搜索 参数1 参数2 (分别是关键字、搜索内容、期待结果),如下:
对于每一条用例来说,调用“百度搜索”关键字,输入搜索内容,输入预期结果即可。不用关心用例是如何执行的。如果百度输入框的定位发生了变化,只需要修改“百度搜索”关键字即可,不用对每一条用例做任何修改。大大提高了用例的维护性和扩展性。
继续分层的设计思想:
把百度搜索再细拆,对于上述简单用例不用过于细拆,对于复杂的测试,分层会更清晰,更易维护。
还可以把测试数据独立出来,后面有空再补上。
哈 感谢虫师,学到了很多的东西,继续努力。
参考:
Robot Framework自动化测试(四)--- 分层思想 - 虫师 - 博客园
http://www.cnblogs.com/fnng/p/3969978.html