RF
之
UI
自动化测试环境
1
:通过
pip
安装扩展库
:
pip install robotframework-seleniumlibrary
2:
下载谷歌游览器和对应驱动
https://www.cnblogs.com/loved-wangwei/p/8993013.html
3
:将游览器驱动放在
python
的目录下
比如:我的python
安装在
D:\install\python\python
目录中
(chromedriver.exe
放入对应的
python
目录下
)
4
:导入
SeleniumLibrary
扩展库
API
演示
1
:打开游览器
(
访问网站
)
Open Browser http://www.baidu.com chrome
2:
设置睡眠时间
sleep 时间
(
秒
)
Set Browser Implicit Wait 时间
(
秒
)
3
:窗口最大化
Maximize Browser Window
4:设置窗口位置
Set Window Position 20 40
5
:返回上一步
Go Back
6
:跳转
Go To http://www.baidu.com
7
:刷新
Reload Page
图片展示

API高级
1:窗口跳转
案例:
58
租房
:
http://bj.58.com
登录
58
同城
>>
点击租房
>>
选择区域
Get Window Handles
:获取窗口的句柄
Select Window By Handle
:切换到新窗口

注意
:
跳转窗口需要
Select Window By Handle
关键字,但是类库中没有对应的关键字,需要我们进行如 下操作
1.在python\Lib\site-packages\SeleniumLibrary\locators\windowmanager.py中添加
def select_by_handle(self, browser, toHandle):
browser.switch_to_window(toHandle)
def get_window_handles(self, browser):
return [ window_info[0] for window_info in self._get_window_infos(browser) ]
def get_current_window_handle(self, browser):
return browser.get_current_window_handle()
2:在
python\Lib\site-
packages\SeleniumLibrary\keywords\browsermanagement.py
中添加
@keyword
def select_window_by_handle(self, locator=None):
self._window_manager.select_by_handle(self.drivers.current, locator)
@keyword
def get_window_handles(self):
"""Returns and logs handles of all windows known to the browser."""
return self._log_list(self._window_manager.get_window_handles(self.drivers.current)) @keyword
def get_current_window_handle(self):
"""Returns and logs handle of current window known to the browser."""
return self._log_list(self._window_manager.get_current_window_handle(self.drivers.curre nt))
3:
从新启动
ride.py
才能正常加载
2
:表单跳转
案例:
https://qzone.qq.com/
登录
qq
邮箱
>>
跳转表单
>>
填充用户密码
>>
主界面操作
Select Frame
:选择表单
DOS下执行RF脚本
1
:找到
python
中的
Scripts
目录
,
新建一个
pybot.bat
文件
2
:在
pybot.bat
文件中添加下面的命令
@Echo off
python -m robot.run %*
3:
在
dos
窗口输入命令执行

RF+jenkins持续集成
1:
在服务中启动
Jenkins
2
:在
jenkins
的插件中下载
Robot Framework

3:创建项目
3.1:在构建中选择dos命令
3.2:
在
jenkins
中生成
RF
的测试报告
3.2.1
:下载插件
groovy

3.2.2:
在构建中选中
Excute system Groovy script
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

3.2.3:在构建后操作中添加RF脚本和测试报告路径信息
3.2.4:运行后显示的测试报告