Robot Framework自动化测试(三)---Selenium API
Robot Framework Selenium API
说明:
此文档只是将最常用的UI 操作列出。更多方法请查找selenium 关键字库。
 
一、浏览器驱动
通过不同的浏览器执行脚本。
| Open Browser | Htpp://www.xxx.com | chrome | 
浏览器对应的关键字:
| firefox | FireFox | 
| ff | |
| internetexplorer | 
 Internet Explorer | 
| ie | |
| googlechrome | 
 Google Chrome 
 | 
| gc | |
| chrome | |
| opera | Opera | 
| phantomjs | PhantomJS | 
| htmlunit | HTMLUnit | 
| htmlunitwithjs | HTMLUnit with Javascipt support | 
| android | Android | 
| iphone | Iphone | 
| safari | Safari | 
备注:
要想通过不同的浏览打开URL地址,一定要安装浏览器相对应的驱动。如chrome 的驱动:
chromedriver.exe 等。
浏览器默认为空时启动FireFox。
二、关闭浏览器
关闭浏览器
| Close Browser | 
 | 
 | 
关闭当前的浏览器。
关闭所有浏览器
| Close All Browsers | 
 | 
 | 
关闭所有打开的浏览器和浏览器缓存重置。
三、浏览器最大化
| Maximize Browser Window | 
 | 
 | 
使当前打开的浏览器全屏。
四、设置浏览器宽、高
| Get Window Size | 800 | 600 | 
以像素为单位,第一个参数800表示宽度,第二个参数600表示高度。
五、文本输入
| Input Text | Xpath=//* [@] | 输入信息 | 
Xpath=//* [@] :表示元素定位,定位文本输入框。
六、点击元素
| Click Element | Xpath=//* [@] | 
 | 
Xpath=//* [@] :表示元素定位,定位点击的元素。
七、点击按钮
| Click Button | Xpath=//* [@] | 
 | 
Xpath=//* [@] :表示元素定位,定位点击的按钮。
八、注释
注释1:
| Comment | 注释说明 | 
 | 
注释2:
| # 注释说明 | 
 | 
 | 
除了使用Comment 关键字进行注释外,Robot framework框架是基于python语言开发的,所以提供了python语言的注释“#”方式。
九、固定时间休眠
| Sleep | 42 | 
 | 
| Sleep | 1.5 | 
 | 
| Sleep | 2 minutes 10 seconds | 
 | 
Sleep表示执行到当前行固定休眠多长时间,以“秒”为单位。
42表示42秒;
1.5 表示1.5秒;
2 minutes 10 seconds 表示2分10秒。
十、等待元素出现在当前页面
| Wait Until Page Contains Element | Xpath=//* [@] | 42 | error | 
Xpath=//* [@] :表示元素定位,这里定位出现的元素
42 : 表示最长等待时间。
Error : 表示错误提示,自定义错误提示,如:“元素不能正常显示”
十一、获取title
| Get Title | 
 | 
 | 
获得当前浏览器窗口的title 信息。
这里只获取title 是没有意义的,我们通常会将获取的title 传递给一个变量,然后与预期结果进行比较。从而判断当前脚本执行成功。
十二、获取文本信息
| Get Text | Xpath=//* [@] | 
 | 
Xpath=//* [@] : 定位文本信息的元素。
十三、获取元素属性值
| Get Element Attribute | id=kw@name | 
 | 
id=kw@name : id=kw 表示定位的元素。@nam 获取这个元素的name属性值。
十四、cookie处理
获取cookie
| get cookies | 
 | 
 | 
获得当前浏览器的所有cookie 。
获得cookie值
| get cookie value | Key_name | 
 | 
Key_name : key_name 表示一对cookie中key的name 。
删除cookie
| delete cookie | Key_name | 
 | 
删除key为name 的cookie信息。
删除所有cookies
| delete all cookies | 
 | 
 | 
删除当前浏览器的所有cookie。
添加cookie
| add cookie | Key_name | Value_name | 
添加一对cooke (key:value)
十五、声明变量
| ${a} | Set Variable | hello | 
定义变量a为hello。
| ${a} | ${b}= | Set Variable | hello | world | 
定义变量a为hello ,b为world 。
十六、日志(输出)
| ${a} | Set Variable | Hello World | 
| log | ${a} | 
 | 
在测试报告中输出a变量的值hello word。
 
十七、获得浏览器窗口宽、高
| ${width} | ${height} | get window size | 
| log | ${width} | 
 | 
| log | ${height} | 
 | 
获得浏览浏览器窗口宽、高,通过log 将宽高,打印到报告中。
 
十八、验证
| open browser | http://www.baidu.com | chrome | 
| ${title} | Get Title | 
 | 
| should contain | ${title} | 百度一下,你就知道 | 
Open Browser 通过chrome打开百度首页。
Get Title 获得浏览器窗口的titile ,并赋值给变量${title}
Should Contain 比较${title}是否等于“百度一下,你就知道”。
 
如果item1 不包含 item2 一次或多次,那么失败。
十九、表单嵌套
| Select Frame | Xpath=//* [@] | 
 | 
| Unselect Frame | 
 | 
 | 
Select Frame 进入表单,Xpath=//* [@] 表示定位要进入的表单。
Unselect Frame 退出表单。
二十、下拉框选择
| Unselect From List By Value | Xpath=//* [@] | vlaue | 
| 
 | 
 | 
 | 
Xpath=//* [@] 定位下拉框;
Vlaue 选择下拉框里的属性值。
二十一、If分支语句
| ${a} | Set variable | 2 | 
 | 
 | 
| ${b} | Set variable | 5 | 
 | 
 | 
| run keyword if | ${a}>=1 | log | a大于1 | 
 | 
| ... | ELSE IF | ${b}<=5 | log | b小于等于5 | 
| ... | ELSE | log | 上面两个条件都不满足 | 
 | 
首先定义两个变量a ,b 分别为 2 和5 。
If 判断 a 大于等于1 ,满足条件log 输出 “a大于1 ”;
不满足上面的条件,接着else if 判断b小于等于5 ,满足条件log 输出 “b小于等于5”;
上面两个条件都不满足,else log输出“上面两个条件都不满足”。
备注:注意sele if 和else前面的三个点点点(...)
二十二、for 循环语句
循环1
| :FOR | ${i} | in range | 10 | 
| 
 | log | ${i} | 
 | 
查看结果:
 
循环变量i 从0 到9 循环10次。
循环2
| @{a} | create list | aaa | bbb | 
| :FOR | ${i} | in | @{a} | 
| 
 | log | ${i} | 
 | 
@{a} 定义为一个字符串列表。
通过in 可遍历非整型(in range)
 
说明:
Log 、if 分支,for 循环并非selenium关键字库的提供的方法,是由BuiltIn包提供。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号