web自动化测试用到的库是Selenium2Library
与浏览器相关的关键字
1. Open Browser https://www.baidu.com ff/chrome # 打开浏览器
注:要想通过不同的浏览打开URL地址,一定要安装浏览器相对应的驱动
2. Close Browser # 关闭浏览器
3. Close All Browser # 关闭所有浏览器并重置缓存
4. Maximize Browser Window # 最大化
5. Set Browser Implicit Wait # 通过selenium 设置implicit_wait
6. Switch Browser # 通过索引或别名切换浏览器
7. Element Shold Be Visible # 定位查找的元素可见
8. Get Location # 返回当前浏览器的URL
9. Get Locations # 返回当前所有浏览器窗口
10. Get Window Idetifiers # 返回当前所有浏览器的id属性
11. Get Window Names # 返回当前所有浏览器的name属性
12. Get Window Titles # 返回当前所有浏览器的title
13. Get Back # 后退
14. Go to # 跳转到URL
15. Input Password # 定位元素并输入密码值
16. Select Window # 选择浏览器窗口
17. Set Window Position # 设置窗口x,y值
18. Set Window Size # 设置窗口大小(width,height)
鼠标操作关键字
1. Mouse Down # 模拟按下鼠标左键
2. Mouse Down On Image # 模拟在定位图片上按下鼠标左键
3. Mouse Down On Link # 模拟在定位链接上按下鼠标左键
4. Mouse Out # 模拟鼠标移出
5. Mouse Over # 模拟鼠标悬停
文本操作关键字
1. Input Text # 输入文本
2. Get Text # 获取文本
3. Element Text Should Be # 预期包含文本值
4. Element Text Should Not Be # 预期不包含文本值
5. Clear Element Text # 清空文本内容
6. Click Link # 点击连接
7. Press Key # 按压键 [ locator | key]
8. Click element # 点击
9. click image #
10. get value # 获取值
11. Get horizontal position # 获取当前对象的左上角顶点距离整个页面的横坐标
12. Get vertical positon # 获取纵坐标
13. select checkbox # 勾选复选框
14. unselect checkbox # 不勾选复选框
15. select radio button # 选择radio 按钮
16. choose file # 选择文件
17. input password # 输入密码
18. click button # 点击按钮
19. select from list by index/value/label # 通过index/value/label选择from表单
20. select all form list # 选中所有的表单
21. get list items # 获取所有的列表项
22. get selected list label/value # 确认一下选中的列表项
23. get table cell # 获取指定table里的指定行列的元素的文本值
24. get index in table column/row # 获取某个文本在表格的行列
25. execute JavaScript # 运行js
26. execute async JavaScript # 异步执行js脚本
27. confirm action # 对话框确认
28. capture page screenshot # 当前页面截图
29. wait for condition # 等待条件
30. wait until page contains
31. wait until page contains element
32. Wait Until keyword Succeeds
33. wait until page
Cookies
add cookie 添加Cookie
delete cookie 删除cookie
delete all cookie 删除所有cookie
get cookie 获取所有cookie
get cookie value 获取cookie的值
案例设计: 以百度搜索为例
(1)新建suit:webservice,新建测试case:selenium
(2)webservice导入Resource,然后在eles.robot下新建用户关键字
实现了二次封装。
(3)还可以采用三层模式实现,减少重复代码修改
新建3flow.robot,添加用户关键字“验证百度搜索功能”,并导入(2)中的eles.robot,讲selenium2中的代码在该关键字中显示
(4)四层实现模型,引入PageObject
经过分层,把数据和流程剥离开,减少了冗余,和一些需求变更引起的修改。数据可以存入变量文件、数据库或者Excel里,运行时去读取数据。
从Excel中读取数据需要用到ExcelLibrary库,鉴于目前无法安装成功,可稍后再行测试
也可以把变量存放到.py文件中,读取