目录
一、selenium中八大定位方式
二、API高级
1、窗口跳转
2、表单跳转
三、DOS下执行RF脚本
四、Robotframework+jenkins持续集成
1、在服务中启动Jenkins
2、在jenkins的插件中下载Robot framework
3、创建项目
3.1、在构建中选择dos命令
3.2、在jenkins中生成RF的测试报告
3.3、在Jenkins中绑定用户邮箱信息
一、selenium中八大定位方式
id,name,xpath,css,link_text,partial_link_text,class_name,tag_name
xpath方法:
1:通过绝对路径定位元素:
2:通过相对路径定位元素:xpath=//form/span/input
3:通过元素属性定位元素:xpath=//input[@autocomplete="off" and @]
4:通过部分元素属性定位:xpath=//input[contains(@autocomplete="of")]
5:通过元素文本定位元素:xpath=//a[text()="新闻"]css
1:通过id进行定位:#ID
2:通过class定位:.class
3:通过元素属性定位:css=input[autocomplete="off"]
4:通过部分属性定位:css=input[autocomplete*="of"]
5:通过子元素定位:css=div#s-top-left a:nth-child(3)
二、API高级
1、窗口跳转
案例:58租房:【58同城 58.com】北京分类信息 - 本地 免费 高效
步骤:登录58同城>>点击租房>>选择区域>>选择租金>>进行筛选
Get Window Handles:获取窗口的句柄
Select Window By Handle:切换到新窗口
注意:跳转窗口需要Select Window By Handle关键字,但是类库中没有对应的关键字,需要我们进行如下操作
①在路径中添加
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()
②同上
@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.current))
③从新启动ride.py才能正常加载
参考地址:https://blog.csdn.net/youxitou/article/details/92656020
2、表单跳转
案例:QQ空间-分享生活,留住感动
步骤:登录qq邮箱>>跳转表单>>填充用户密码>>主界面操作
Select frame:选择表单
三、DOS下执行RF脚本
步骤:
①找到python中的scripts目录,新建一个pybot.bat文件
②在pybot.bat文件中添加下面的命令
@Echo off
python -m robot.run %*
③在dos窗口输入命令执行
执行整个项目下的所有用例: pybot 项目路径
比如:pybot D:ceshiruanjianpythonrobotframeworkworkRF
四、Robotframework+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、运行后显示的测试报告
3.3、在Jenkins中绑定用户邮箱信息
Jenkins中的邮件设置 - 程序员大本营
1、窗口跳转
案例:58租房:【58同城 58.com】北京分类信息 - 本地 免费 高效
步骤:登录58同城>>点击租房>>选择区域>>选择租金>>进行筛选
Get Window Handles:获取窗口的句柄
Select Window By Handle:切换到新窗口
注意:跳转窗口需要Select Window By Handle关键字,但是类库中没有对应的关键字,需要我们进行如下操作
①在路径中添加
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()
②同上
@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.current))
③从新启动ride.py才能正常加载
参考地址:https://blog.csdn.net/youxitou/article/details/92656020
2、表单跳转
案例:QQ空间-分享生活,留住感动
步骤:登录qq邮箱>>跳转表单>>填充用户密码>>主界面操作
Select frame:选择表单
步骤:
①找到python中的scripts目录,新建一个pybot.bat文件
②在pybot.bat文件中添加下面的命令
@Echo off python -m robot.run %*
③在dos窗口输入命令执行
执行整个项目下的所有用例: pybot 项目路径 比如:pybot D:ceshiruanjianpythonrobotframeworkworkRF
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、运行后显示的测试报告
3.3、在Jenkins中绑定用户邮箱信息
Jenkins中的邮件设置 - 程序员大本营



