RF之UI自动化测试环境

本文介绍了如何配置RF(Robot Framework)的UI自动化测试环境,包括安装扩展库、下载浏览器及驱动,并详细阐述了如何进行窗口管理,如打开浏览器、窗口最大化、窗口位置设置等。此外,还讲解了如何处理窗口跳转和表单选择的高级操作,包括自定义SeleniumLibrary的关键字来实现窗口句柄的切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:通过pip安装扩展库

        pip install robotframework-seleniumlibrary

2:下载谷歌游览器和对应驱动

       https://www.cnblogs.com/loved-wangwei/p/8993013.html

 3:将游览器驱动放在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

                                                         RF元素定位

 

 

                                                         API高级

一:窗口跳转

        案例:58租房:http://bj.58.com

        登录58同城>>点击租房>>选择区域>>选择租金>>进行筛选

          Get Window Handles:获取窗口的句柄  

          Select Window By Handle:切换到新窗口

 注意:跳转窗口需要Select Window By Handle关键字,但是类库中没有对应的关键字,需要我们进行如下操作

        1:在E:\ceshi\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:E:\ceshi\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.current))

 3:从新启动ride.py才能正常加载

        可以参考:https://blog.youkuaiyun.com/youxitou/article/details/92656020

二:表单跳转

        案例:https://qzone.qq.com/

        登录qq邮箱>>跳转表单>>填充用户密码>>主界面操作

        Select Frame:选择表单

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值