通过调用关键字来实现测试用例---重复利用百度搜索
来源:互联网 发布:linux修改profile文件 编辑:程序博客网 时间:2024/05/17 09:33
谈到Robot Framework 分层的思想,就不得不提“关键字驱动”。
关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同。
在上一节的selenium API 中所介绍的方法其实就是关键字,如“open browser” 就是一个关键字。从底层去看它就是一个通过编程去现实的一个方法。
def open_browser(url,browser): #通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib、urllib模块将url传递给浏览器。从而实现open brwoser 的目的。
通过上面的伪代码表述的“关键字”的底层其实还是程序定义的方法。
回到分层的思想上,在程序设计的讲究设计模式,设计模式其实就是根据需求使用抽象与封装,其实就是分层思想。把一个实现过程分成不同多层。提高的灵活性,从而达到可扩展性和可维护性。
再回到自动化的话题上,我们可以把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。
http://www.cnblogs.com/fnng/p/3871712.html
参考本系列的第一节创建一条百度搜索的测试用例。
我现在要写5条百度搜索的用例:
可以在Search测试套件下创建5条测试用例。其实对于每一条测试用例来说,只是搜索的内容不同,脚本步骤是完全一样的。这样做无疑增加的脚本的冗余,而且不便于维护。假如,百度输入框的定位方式变了,我不得不打开每一条用例进行修改。
我们可以过创建关键字的方式,从而实现分层的思想来解决这个问题。
Robot Framework 关键字
1、创建资源
右键“测试项目”选择“new resource”创建资源。
输入资源名称:
2、创建关键字
右键“业务关键字”选择“new User Keyword” 来创建用户关键字。
输入关键字的名称:
3、编辑关键字
分析:
对于一个测试用例来说,用户关心的是输入什么内容,得到什么结果。
所以,对于“百度搜索”关键字来说,需要创建两个接口变量${search}和${result} 两个变量,用于接收输入内容和预期结果。
点击Arguments输入框,定义变量,多个变量从用“|”隔开。
在百度用户中使用参数化变量。(重点:这句话是在百度搜索业务关键字页面添加的)
4、添加创建的资源
切换到测试套件(Search)页面,添加资源(业务关键字.txt)
5、调用关键字
现在就可以在测试用例中使用创建的关键字了(百度搜索)。
对于每一条用例来说,调用“百度搜索”关键字,输入搜索内容,输入预期结果即可。不同关心用例是如何执行的。如果百度输入框的定位发生了变化,只用去修改“百度搜索”关键字即可,不用对每一条用例做任何修改。大大提高的用例的维护性和扩展性。
继续分层的设计:
- 通过调用关键字来实现测试用例---重复利用百度搜索
- 利用WebBrowser控件实现百度自动搜索
- 利用WebBrowser控件实现百度自动搜索
- 利用WebBrowser控件实现百度自动搜索
- 利用jsonp实现百度搜索下拉框
- 通过递归来实现搜索文件
- Baidu:C#利用百度来搜索网页、图片、视频等等
- 百度关键字搜索入侵
- 用百度map api展示时空数据(六)--实现关键字搜索
- PHP实现获取百度top50的搜索排行关键字
- oracle中怎样排除重复记录--通过distinct来实现
- c#调用百度搜索
- 百度搜索接口调用
- VBS 利用Default 关键字来 实现构造函数的功能
- Java通过关键字搜索出百度百科词条摘要的代码
- C#实现百度地图附近搜索&调用JavaScript函数
- java调用百度搜索+Jsoup实现网络资源收集
- 自动完成技术,像百度一样通过AJAX技术来搜索备选项
- url参数中有+、空格、=、%、&、#等特殊符号的问题解决
- 恩格尔定律简介
- 微信开发中引起的跨域问题
- js入门(6)-内置对象
- java 中重写toString()方法
- 通过调用关键字来实现测试用例---重复利用百度搜索
- zoj 3956
- 深度学习数据集汇总
- 许鹏-Spark源代码阅读经验和C++经典书籍资料推荐
- tensorflow函数解析:Session.run和Tensor.eval
- 剑指offer(C++)——矩阵中的路径
- 洛谷 P1595 信封问题
- 欢迎使用CSDN-markdown编辑器
- TortoiseSVN中Branching和Merging实践