linux-3-搭建selenium环境运行脚本

前言

linux 下搭建有助于我们 jenkins 下进行持续集成测试,只需要写代码,提交代码,自动构建即可。

但是linux也是需要搭建selenium环境的,比如chrome、chromedriver,那么这篇文章展开广深小龙搭建的过程。

一、下载chrome与chromedriver

1、下载chrome:

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

2、查看chrome版本:google-chrome --version

[ ~]# google-chrome --version
Google Chrome 81.0.4044.113

3、下载chromedriver,这里注意要在这里看对应的版本和下载对应的版本:http://npm.taobao.org/mirrors/chromedriver/

linux-3-搭建selenium环境运行脚本

 4、例子:比如我安装的chrome版本为:Google Chrome 81.0.4044.113   那么chromedriver对应的版本也要是:81.0.404.xxx

命令:wget http://npm.taobao.org/mirrors/chromedriver/81.0.4044.69/chromedriver_linux64.zip
[ ~]# wget http://npm.taobao.org/mirrors/chromedriver/81.0.4044.69/chromedriver_linux64.zip
--2020-04-18 09:51:34--  http://npm.taobao.org/mirrors/chromedriver/81.0.4044.69/chromedriver_linux64.zip
Resolving npm.taobao.org (npm.taobao.org)... 114.55.80.225
Connecting to npm.taobao.org (npm.taobao.org)|114.55.80.225|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://cdn.npm.taobao.org/dist/chromedriver/81.0.4044.69/chromedriver_linux64.zip [following]
--2020-04-18 09:51:34--  https://cdn.npm.taobao.org/dist/chromedriver/81.0.4044.69/chromedriver_linux64.zip
Resolving cdn.npm.taobao.org (cdn.npm.taobao.org)... 183.131.210.241, 183.131.210.250, 183.131.210.242, ...
Connecting to cdn.npm.taobao.org (cdn.npm.taobao.org)|183.131.210.241|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4956612 (4.7M) [application/zip]
Saving to: ‘chromedriver_linux64.zip’

100%[====================================================================================================================================================================================================================================>] 4,956,612   --.-K/s   in 0.06s   

2020-04-18 09:51:34 (77.6 MB/s) - ‘chromedriver_linux64.zip’ saved [4956612/4956612]

[ ~]#

linux-3-搭建selenium环境运行脚本

 5、解压zip包,注意如果没有zip要先安装:yum install -y zip

解压:unzip chromedriver_linux64.zip

[ ~]# unzip chromedriver_linux64.zip 
Archive:  chromedriver_linux64.zip
  inflating: chromedriver

6、移动至usr/bin/目录下:mv chromedriver /usr/bin/

[ ~]# mv chromedriver /usr/bin/

7、查看chromedriver版本:chromedriver --version

[ ~]# chromedriver --version
ChromeDriver 81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776})
[ ~]#

二、运行selenium脚本尝试

1、事先要安装好:①python   ②selenium (我已安装)

Python 安装请参考:https://www.cnblogs.com/gsxl/p/11747736.html

[ ~]# pip3 install selenium
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/
Requirement already satisfied: selenium in ./python36/lib/python3.6/site-packages (3.141.0)
Requirement already satisfied: urllib3 in ./python36/lib/python3.6/site-packages (from selenium) (1.22)

2、py脚本如下:

注意无界面模式的 option 参数一定要设置好,否则各种报错。

from selenium import webdriver
import sys

def is_driver(no_ui=False):
    ‘‘‘ 1、判断是在什么环境下运行
        2、no_ui win系统下默认为界面模式,无界面设为:True
    ‘‘‘
    if ‘linux‘ in sys.platform:
        option = webdriver.ChromeOptions()
        option.add_argument(‘headless‘)                 # 浏览器不提供可视化页面
        option.add_argument(‘no-sandbox‘)               # 以最高权限运行
        option.add_argument(‘--start-maximized‘)        # 最大化运行(全屏窗口)设置元素定位比较准确
        option.add_argument(‘--disable-gpu‘)            # 谷歌文档提到需要加上这个属性来规避bug
        # option.add_argument(‘--window-size=1920,1080‘)  # 设置浏览器分辨率(窗口大小)
        driver = webdriver.Chrome(options=option)
    else:
        if no_ui:
            ‘‘‘ win系统下无界面模式 ‘‘‘
            option = webdriver.ChromeOptions()
            option.add_argument(‘headless‘)             # 浏览器不提供可视化页面
            option.add_argument(‘--start-maximized‘)    # 最大化运行(全屏窗口)设置元素定位比较准确
            driver = webdriver.Chrome(chrome_options=option)
        else:
            driver = webdriver.Chrome()
            driver.maximize_window()                    # 将浏览器最大化
    return driver

driver = is_driver()
driver.get(‘https://www.baidu.com/‘)
print(‘title:‘, driver.title)
print(‘执行完毕:!!!‘)
driver.quit()

3、运行:python3 xxx.py

[ ~]# python3 ~/t.py
title: 百度一下,你就知道
执行完毕:!!!
[ ~]#

linux-3-搭建selenium环境运行脚本

最后完毕,值得注意的是有两个地方:①chrome 与驱动 chromedriver 版本匹配   ②selenium 无界面模式时传的 option 参数。

试运行正常后,便可以与jenkins进行构建了,web的持续集成测试ok!

请到QQ交流群一起学习:482713805 !!! 

相关推荐