robot framework网上介绍很多。 这篇也是对于 RF 做web测试的一点分享。但是不会涉及细节的东西。
这是一个以RF建立的测试工程。
这个工程依次有 5个 suite
回归测试存放用例
config 保存配置信息。
ui.txt 存放页面元素。
元素层 封装了元素操作。
流程层 顾名思义,这里面就封装了功能流程了。
这基层的引用关系:
回归测试引用了流程层
流程层 引用了 元素层
元素层引用了 ui config 已经依赖的关键字库。
有点类似于 开发中用到的三层。但区别明显:开发中,引用关系通常是上层要把引用到的下层全部添加进来,而不能类似这种继承式的引用。
想想也是很容易理解的:用户每一步需要操作页面的元素,而操作元素需要对具体的DOM 进行定位,把页面所有的元素都放到ui层,配置的信息单独放到配置文件中。
以前用 webdriver 编写测试用例 也是把一个页面当做一个对象来处理,对象的属性就是组成页面的dom元素,行为就是页面有登录 ,增删查改这些操作。
具体来看这个工程的 一条case:
两个关键字组成了这条用例,在流程层,我们正好看到了这两个关键字。
我们只看 进入首页 这个关键字,点击这个关键字,我们看到它也是由这两个关键字组成
这两个关键字是封装在元素层的,
查看 “进入首页”
在这里,我们看到了两个系统关键字,
open browser 打开浏览器,
wait until page contains 等待当前页面出现 ${homePage_checkText} 定义的 文本内容。${homePage_checkText} 定义在cofig中。