上一篇介绍了如何使用RIDE来创建和执行一个简单的测试用例,这一章节开始将会系统一些地介绍测试用例的组成以及如何更好地设计用例。
之前曾经说过,Robot Framwork框架的核心是关键词,所有用例都是通过关键词组织起来的。那有哪些关键词,我们怎么使用它们呢?
1.通过搜索学习关键字
打开RIDE,按F5,即可打开Search Keywords功能。在这里我们可以通过文本搜索搜索我们想要的keyword,或者通过按照来源分类来进行筛选,有用户自定义的和来自导入的库两种。
选择一个关键词,则会显示出关键词名字,其来源,它需要使用到的参数及相应的注释说明,使用示例。
由此可以获得这个关键词的用法,用在自己的测试中。大部分关键词跟函数命名的方法都有点类似,简单明了,一看就知道是干什么的。
2.多关键字组合使用
那接下来使用多个关键字,组合出一个较为完整(但是并不是良好设计)的测试用例——使用百度搜索搜索一个词语,在结果页面查看页面title是否发生了预期的变化。
中间过程不再多说,不清楚的请见上一篇,直接上编辑完的测试用例。
用例总共使用到了6个关键字,简单进行讲解
- Open Browser
打开chrome浏览器,进入百度首页 - Input Text
这一步目的是在搜索输入框中输入要搜索的内容。可以看到这里使用了两个参数。
第一个用于唯一定位是具体要测试哪个输入框,支持使用id,name,css,xpath等,具体请见API文档。这里的wd指的即是编辑框的name属性值,可通过查看网页源码获得。
第二个参数是要搜索的内容,这里随便填入“iflytek”。 - Click Button
编辑好要搜索的内容后,点击“百度一下”按钮。定位方式使用的是id,见上图。 - Sleep
点击后由于网页跳转加载等过程,结果页面不能马上获得。所以需要执行睡眠指令2秒,一般这时结果页面就加载出来了,才能进行下一步的判断操作。 - Title Should Be
判断结果页面的title是否与给的参数一致。 - Close Browser
关闭浏览器
以上的用例经过测试,应该是可以pass的。可能百度会修改编辑框和按钮的name和id等属性,请查看源码,及时更新到你的用例中。
3.查看测试用例没有通过时的log
不过用例都一直pass也不好,学习效果有限。我们来试试其他的情况。
把Title Should Be 的参数修改为“Codingma”,再执行一遍用例。
测试用例明显是应该通不过,查看log.html,部分截图如下
可以看到log中给出了用例没有通过的原因“Title should have been ‘iflytek_百度一下’ but was ‘iflytek_百度搜索’”
用例如果没有通过,系统会自动执行Screenshot关键字帮你把现场截图下来以作参考。是不是很好用?
到这里,一个稍微完整的测试用例讲解就算结束了。整理思考和休息一下,再看下一章节。