Robot framework作为目前比较流行的系统自动化测试工具,已经得到广泛的应用,除了其内建的关键字之外,很多第三方的面向不同测试领域的关键字也在不断增加中。其中,在Web自动化测试领域,就有一个很好的例子。Selenium2Library, 一个第三方的library,提供了一系列的符合Robot Framework要求的关键字,这些关键字基本覆盖了常用的页面操作动作。下载安装后,就可以引入到你的自动化测试用例里使用。本文所讲述的内容需要事先搭建相关测试环境,包括装好Robot Framework, Seleninum相关的Library,具体安装步骤,可以参考下文:
http://blog.csdn.net/xc5683/article/details/10017915
在使用Robot Framework做Web自动化测试的时候(其实,所有的涉及到Web的自动化测试都会有类似的问题),要能做到模拟用户的不同operation组合,来完成不同scenario的测试。这里面的“模拟用户”的操作是关键。如果单纯用Robot Framework + Selenium2Library是可以做的,但是有点难度的就是“Locating Element”,即你怎么能正确的找到用户可能点击的那个页面元素。方法也是有的,有的人会用FireFox的Firebug插件去找到某个页面元素,再用css元素定位,或xpath定位,放到Robot Framework的用例里;还有一种方法,是使用FireFox的另外一个插件--Selenium IDE,可以直接看到元素定位的写法。如果你对Web开发很熟,知道元素定位各种写法,那第一种方法已经很适合你了;否则,第二种方法对于Web开发一筹莫展的人比较合适。下文将介绍如何使用第二种方法,基于Robot Framework,辅助页面自动化测试。
假设已经安装好了Selenium IDE,在firefox上应该有如下的图标,点击即可打开IDE窗口
或者通过菜单“Tools -> Selenium IDE”选择打开IDE窗口
页面录制功能默认是打开,所以现在你就可以开始打开你的Web网站,做一些页面操作,当然要符合你的测试场景。
Example:
1. 在某个文本框里输入些文字, 可以看到,Selenium IDE用 "css=input.pw" 方式定位到元素,然后赋值。
2. 于是,可以直接在Robot Framework里的test case里面,给Selenium2Library的“Input Text”关键字赋值了
3. 同样,如果想新增加一个文本输入框,再输入点东西,在Selenium IDE上就会看到,改用xpath方式定位到元素了。
4. 把这种定位元素的写法直接放到robot framework的test case里面去
5. 最终,上述的页面操作可以容易的被转化为test case。