robot自动化测试实现多浏览器支持

做自动化测试首先要保证的就是用例覆盖面完整,而UI测试首先保证就是浏览器覆盖率问题,robot支持的火狐和谷歌浏览器、IE都很好,当然IE可能有一点问题,不过10、11切换的用问题不大。

目前用户大多用360浏览器进行上网,我们构建一下使360浏览器也能进行自动化测试,首先说一下原理,360浏览器是基于谷歌内核开发出来的浏览器,所以驱动也会识别该浏览器,因此可以添加自动化测试,至于搜狗浏览器目前正在研究其方式,他双核属于谷歌和IE加上自己开发的东西,驱动不明确。有点跑题了,等我研究搜狗浏览器以后会继续更新的。

说明:基于Selenium: 3.0.2

一、各浏览器webdriver

说明: 
1. selenium中,firefox需要下载webdriver(geckodriver.exe)。 
2. 360极速和360安全浏览器的内核是chrome拷贝两份chromedriver 2.20,可以重命名为 360sechromedriver。(本人实现两种浏览器,只介绍一种浏览器360急速和360安全原理一样)


注意,360浏览器会自动升级。请关闭自动升级。 
目录:C:\Users\username\AppData\Roaming\360se6\Application\9.1.1.250\installer,找到chromeup.dll文件,删除或者重命名


二、增加代码支持让RIDE识别360浏览器

修改selenium\webdriver目录下__init__.py代码。 
目录:C:\Python27\Lib\site-packages\selenium\webdriver


增加导入这个包的代码,一会写这段代码,初始化时候就可以找到该代码调用驱动了。

修改Selenium2Library\keywords下browsermanagement.py代码 
目录:C:\Python27\Lib\site-packages\robotframework_selenium2library-1.8.1-py2.7.egg\Selenium2Library\keywords

代码段一:


首先把我们浏览器名字加入进去。

让ride识别

代码二:搜索def _make_chrome,增加两段代码

 

增加启动时引用360驱动的代码。

三、360浏览器的实现代码

目录:C:\Python27\Lib\site-packages\selenium\webdriver

文件1:__init__.py,可以为空,也可以增加说明文字。例如,作者,版本,功能等。 
文件2:新建webdriver.py,实现360极速浏览器。代码如下:

from selenium.webdriver import Chrome as ChromeWebdriver
from selenium.webdriver.chrome.options import Options
import os

class WebDriver(ChromeWebdriver):

    def __init__(self, b360bin=None, executable_path="360chromedriver", port=0,
                    chrome_options=None, service_args=None,
                    desired_capabilities=None, service_log_path=None):

        # 360 broswer direction
        if b360bin:
            self.bin = b360bin
        else:
            self.bin = r'%s\360Chrome\Chrome\Application\360chrome.exe' % os.getenv('LOCALAPPDATA') 
        chrome_options = Options()
        chrome_options.binary_location = self.bin
        ChromeWebdriver.__init__(self, executable_path, port,
                    chrome_options, service_args,
                    desired_capabilities, service_log_path)
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

360安全浏览器类似:

from selenium.webdriver import Chrome as ChromeWebdriver
from selenium.webdriver.chrome.options import Options
import os

class WebDriver(ChromeWebdriver):

    def __init__(self, b360bin=None, executable_path="360sechromedriver", port=0,
                    chrome_options=None, service_args=None,
                    desired_capabilities=None, service_log_path=None):

        # 360se broswer direction
        if b360bin:
            self.bin = b360bin
        else:
            self.bin = r'C:\Users\Administrator\AppData\Roaming\360se6\Application\360se.exe' 
        chrome_options = Options()
        chrome_options.binary_location = self.bin
        ChromeWebdriver.__init__(self, executable_path, port,
                    chrome_options, service_args,
                    desired_capabilities, service_log_path)
这样就构建好了。打开ride

浏览器填写 chrome360se就OK了。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值