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

Posted 广深-小龙 --扬帆起航!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

[root@iZbp19lugf22zbsubsf1y6Z ~]# google-chrome --version
Google Chrome 81.0.4044.113 

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

 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
[root@iZbp19lugf22zbsubsf1y6Z ~]# 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.zip100%[====================================================================================================================================================================================================================================>] 4,956,612   --.-K/s   in 0.06s   

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

[root@iZbp19lugf22zbsubsf1y6Z ~]# 

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

解压:unzip chromedriver_linux64.zip

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

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

[root@iZbp19lugf22zbsubsf1y6Z ~]# mv chromedriver /usr/bin/

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

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

二、运行selenium脚本尝试

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

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

[root@iZbp19lugf22zbsubsf1y6Z ~]# 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

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

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

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

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

以上是关于linux-3-搭建selenium环境运行脚本的主要内容,如果未能解决你的问题,请参考以下文章

selenium+java+testNG+maven环境搭建

java selenium环境搭建

[Selenium自动化测试学习]Python+Selenium环境搭建

基于python实现UI自动化2.0 selenium环境搭建

selenium:环境搭建完成后,初步运行遇到的问题

selenium + python + firefox 测试环境的搭建与配置