目录
8、如何自己编写一个library(2021年1月28日完成)
9、数据库连接
9、如何支持win32应用
10、接口测试
11、持续集成
12、自定义包
13、ride使用(快捷键、tear down、timeout、template、tags)
14、常见问题
3、让用例更完善一些
前面用访问百度首页,让大家已经了解了如何创建一个用例,这是最简单,也是不太完善的一个用例。如果你做过功能测试,就一定知道一个用例基本需要包含的元素:标题、执行步骤、期望结果。我们今天就是讲解一下这几个要素在ride中如何体现并完善我们的测试用例。
3.1 功能用例步骤
我们即将写这样一个用例:在百度搜索引擎中搜索robotframework关键字可以搜索到结果
步骤1:打开浏览器
步骤2:访问http://www.baidu.com
步骤3:在搜索框输入:robotframework关键字
步骤4:点击百度一下按钮
3.2 完善自动化步骤
在上一篇文章中,我们实际只实现到了步骤2。所以我们还需要输入关键字和点击一下按钮这2个步骤。那如何模拟输入呢?
需要用到我们selenium2library里面的关键,我们可以按下F5看下:
可以看到支持input的关键字搜索结果有几个,从字面意思上也可以看出来选用input text这一个。
从它的定义和参数上看到需要locator和text2个参数
那locator是什么呢?
大家可以用chrome打开www.baidu.com,然后按下F12,按照下面2幅图的步骤操作
好了,根据上面2幅图,你已经获取到输入框的Xpath,具体什么是Xpath,如果你之前了解过,那没什么好奇的,如果你没听过这个概念,就去网上搜索了解一下吧。不了解这个概念并不影响你阅读此文。
有了Xpath后,就好办了,在之前用例步骤的基础上,再增加一行.
下一步就是点击百度一下按钮了,用上面同样的方法,获取百度一下按钮的Xpath。
按钮是点击的事件,所以需要用到selenium2Library里面的click关键字。用F5看下和click匹配的关键字。
click button和click element有什么区别呢?如果都是用xpath,其实使用上没有什么特别的区别。大家先不用纠结。
下面我写了2种用法区别,二选1即可,聪明的你一定知道区别了吧。(当用click buton的时候,程序会去寻找名称=百度一下的按钮)
到目前为止,操作步骤都写完了。
那期望结果呢?我们的自动化用例是自动执行的,如何让机器知道执行后的结果是否正确呢?
我们按照上面的步骤执行后,页面会进入如下状态。
那么我们如何认为这个用例执行通过呢?
该用例测试的是可以搜索到结果即为通过。所以根据这个页面我们只要判定页面上
有文字:百度为您找到相关结果约4,530,000个 这句话即可。但是因为搜索数量是不可预知的,所以可以只校验:百度为您找到相关结果约 这几个字即可。
我们继续用F5搜索一下page should,会出现如下匹配项
从字面意思也可以看出来,这些关键字主要是用来验证结果的。存在or 不存在。
当然,还有其他验证用例是否通过的关键字,这里大家先了解这个。
加上验证步骤后如下:
注意,我在步骤和步骤之间加上了sleep 2的代码,因为模拟人的真实操作,比如你搜索后页面要刷新,可能需要等待1-2秒页面才能完全加载完成,那么我们的自动化用例也需要等待,否则下个步骤可能找不到需要的元素。因为前面还没有加载完成。
至此:我们让我们的用例完善了一些,有步骤,有期望。
下一篇文章我们会来给用例设置一些前置和后置。