测试需求:百度搜索关键字功能
技术需求:想用RF+Selenium2Library实现UI自动化测试
1 分解测试需求, 模拟用户操作
<span id="jump">跳转</span>
- 打开浏览器,输入相关URL(www.baidu.com)
- 输入关键字
- 点击"百度一下"按钮
- 检查是否跳转到搜索结果页面
- 关闭浏览器
2 实现以上的测试需求的代码:
*** Settings ***
Library Selenium2Library
*** Test Cases ***
Login
[Documentation] This is testing for Selenium2Library webdrvier
Open Browser http://www.baidu.com chrome
Input Text id=kw CC先生 简书 robotframework
Click button id = su
sleep 2
${title} Get Title
should contain ${title} robotframework
close Browser
3 RIDE上的操作步骤
- 测试开发环境:Python2和Python3共存下使用robotframework
- Python27的对应Scripts目录下运行ride.py
- 点击菜单栏上的File->New Project,创建一个名为Search的项目
- 在已新建的Project上右键选择New Suite,取名baidu
在这个界面上可以添加外部的库,比如此次我们要用到的Selenium库。
- 点击Library按钮,输入Selenium2Library,当颜色为黑色的时候表示可以找到对应的包,若为红色则表示包没有找到。
- 右键单击Test Suite的baidu,新加一个case
RF本身还是采取的通用的单元测试的思想:
-----项目名(Project Name)
-------测试集名(Test Suit)
---------测试用例名1(Test Case)
---------测试用例名2
回想一下之前的用户操作点击跳转
对上面的步骤做一下解释(如果关键字变成蓝色表示这个关键字是正确的,否则会报错。)
第一句 Open Browser:打开浏览器,需要两个参数:URL地址和对应的浏览器
第二句 Input Text:输入文字,需要两个参数:根据Webdriver中的一种方式找到页面元素(id,name,class等),输入文字的值
第三句 Click Button:根据Webdriver中的一种方式找到页面的按钮,并可以点击。
第四句 休眠2秒
第五句 得到当前页面的标题,并赋值给变量${title}
第六句 做断言,标题变量值中应含有robotframework
第七句 关闭浏览器
- 切换到Text Edit的时候会出现上述出现的代码
- 切换到Run的Tag,点击运行,则会得到以下的结果,同时会有浏览器跳出来模拟之前定义的用户操作。
恭喜你,这时第一个RF的用例就已经写好并执行成功了,在对应的目录下也可以看到相应的测试报告。