selenium2library的API
|
关键字 |
输入的值 |
操作平台 |
其他 |
|
备注 |
|
Open Browser |
完整的url |
chrome |
|
|
chrome:googlechrome/gc/chrome IE:internetexplorer/ie firefox:ff/firefox Opera:opera 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=//* [@] |
输入信息 |
|
|
文本输入 |
|
Click Element |
Xpath=//* [@] |
|
|
|
点击元素 |
|
Click Button |
Xpath=//* [@] |
|
|
|
点击按钮 |
|
choose file |
xpath=//* [@] |
C:\\Do\\bug5.png |
|
|
上传图片文件 |
|
Comment |
注释说明 |
|
|
|
注释一 |
|
# 注释说明 |
|
|
|
|
注释二 |
|
Sleep |
42 |
|
|
|
固定休眠多长时间,以“秒”为单位 2 minutes 10 seconds 表示2分10秒 |
|
Wait Until Page Contains Element |
Xpath=//* [@] |
42 |
error |
|
Xpath=//* [@] :表示元素定位,这里定位出现的元素,42表最大等待时间 error表示自定义错误提示,如:元素不能正常显示 |
|
Get Title |
|
|
|
|
获得当前浏览器窗口的title 信息 |
|
Get Text |
Xpath=//* [@] |
|
|
|
获取文本信息,定位文本信息的元素 |
|
Get Element Attribute |
id=kw@name |
|
|
|
获取元素元素属性值,id=kw 表示定位的元素。@nam 获取这个元素的name属性值 |
|
get cookies |
|
|
|
|
获得当前浏览器的所有cookie |
|
get cookie value |
Key_name |
|
|
|
获取cookie的值,key_name 表示一对cookie中key的name |
|
delete cookie |
Key_name |
|
|
|
删除cookie,删除key为name 的cookie信息 |
|
delete all cookies |
|
|
|
|
删除当前浏览器的所有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 |
|
log |
${a} |
|
|
|
在测试报告中输出a变量的值 |
|
${width} |
${height} |
get window size |
|
|
获得浏览浏览器窗口宽、高,通过log 将宽高,打印到报告中 |
|
log |
${width} |
|
|
|
|
|
log |
${height} |
|
|
|
|
selenium2library的API高级
|
|
|
|
|
|
备注 |
|
验证 |
|
|
|
|
|
|
open browser |
http://www.baidu.com |
chrome |
|
|
Open Browser 通过chrome打开百度首页 |
|
${title} |
Get Title |
|
|
|
Get Title 获得浏览器窗口的titile ,并赋值给变量${title} |
|
Should Contain |
${title} |
百度一下,你就知道 |
|
|
Should Contain 比较${title}是否等于“百度一下,你就知道” |
|
嵌套 |
|
|
|
|
|
|
Select Frame |
Xpath=//* [@] |
|
|
|
进入表单,Xpath=//* [@] 表示定位要进入的表单 |
|
Unselect Frame |
|
|
|
|
退出表单 |
|
下拉框 |
|
|
|
|
|
|
Unselect From List By Value |
Xpath=//* [@] |
vlaue |
|
|
定位下拉框,Vlaue 选择下拉框里的属性值 |
|
IF分支语句 |
|
|
|
|
|
|
${a} |
Set variable |
2 |
|
|
定义两个变量a ,b 分别为 2 和5 |
|
${b} |
Set variable |
5 |
|
|
|
|
run keyword if |
${a}>=1 |
log |
a大于1 |
|
If 判断 a 大于等于1 ,满足条件log 输出 “a大于1 ” |
|
... |
ELSE IF |
${b}<=5 |
log |
b小于等于5 |
不满足上面的条件,接着else if 判断b小于等于5 ,满足条件log 输出 “b小于等于5” |
|
... |
ELSE |
log |
上面两个条件都不满足 |
|
上面两个条件都不满足,else log输出“上面两个条件都不满足” |
|
for循环语句 |
|
|
|
|
|
|
:FOR |
${i} |
in range |
10 |
|
循环变量i 从0 到9 循环10次 |
|
|
log |
${i} |
|
|
输出到log |
|
for循环语句 |
|
|
|
|
|
|
@{a} |
create list |
aaa |
bbb |
|
@{a} 定义为一个字符串列表。通过in 可遍历非整型(in range) |
|
:FOR |
${i} |
in |
@{a} |
|
Log 、if 分支,for 循环并非selenium关键字库的提供的方法,是由BuiltIn包提供 |
|
|
log |
${i} |
|
|
|
关键字驱动
如“open browser” 就是一个关键字。从底层去看它就是一个通过编程去现实的一个方法。
def open_browser(url,browser):
#通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib、urllib模块将url传递给浏览器。从而实现open brwoser 的目的。
上面的伪代码表述的“关键字”的底层其实还是程序定义的方法。
把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。
|
定位单个元素 |
定位多个元素 |
|
find_element_by_id |
find_elements_by_name |
|
find_element_by_name |
find_elements_by_xpath |
|
find_element_by_xpath |
|
|
find_element_by_link_text |
|
|
find_element_by_partial_link_text |
|
|
find_element_by_tag_name |
|
|
find_element_by_class_name |
|
|
find_element_by_css_selector |
|
size 获取元素的尺寸
text 获取元素的文本
get_attribute(name) 获取属性值
location 获取元素坐标,先找到要获取的元素,再调用该方法
page_source 返回页面源码
driver.title 返回页面标题
current_url 获取当前页面的URL
is_displayed() 设置该元素是否可见
is_enabled() 判断元素是否被使用
is_selected() 判断元素是否被选中
tag_name 返回元素的tagName
本文详细介绍了Selenium2Library的API使用方法,包括如何通过不同浏览器打开URL、关闭浏览器、最大化窗口、输入文本、点击元素及按钮、上传文件、注释、休眠、等待元素出现、获取页面信息、操作Cookies、定义变量、日志记录等功能,以及高级用法如验证、嵌套、下拉框选择、条件判断和循环语句。
1883

被折叠的 条评论
为什么被折叠?



