专栏首页Mokwing无用自动化: 打通任督二脉,Centos7部署python脚本,访问测试报告

无用自动化: 打通任督二脉,Centos7部署python脚本,访问测试报告

服务器执行脚本运行

  • 前言
  • 环境
    • 配置过程
      • 1. 安装Chrome
      • 2. 配置驱动
      • 3. 安装python
      • 4. 自动化脚本
      • 5. 生成报告
  • 最后

前言

一直以来都是在windows本地上运行脚本执行,对如何在Centos服务器上运行脚本一无所知。一直以为需要打开浏览器,看着页面才能运行,结果…趁着今天无事,研究了一下。

废话不多说,上菜。

环境

首先,是环境的准备,我在自己的主机上安装了一个虚拟机,如果有云服务的,可以直接使用云服务器就行,这里不赘述系统安装过程。

服务

版本

服务器

CentOS Linux release 7.6.1810 (Core)

jdk

jdk.1.8.0_261

python

Python 3.8.5

pytest

pytest-6.0.1

allure2

allure-pytest-2.8.18

selenium

3.141.0

chrome

Google Chrome 85.0.4183.83

chromedriver

85.0.4183.83

配置过程

1. 安装Chrome

因为服务器自带一般没有Chrome的下载源,所以需要我们自己配置一个。

  1. 进入 yum.repos.d 目录 cd /etc/yum.repos.d/
  2. 新建文件 google-chrome.repo vi google-chrome.repo
  3. 输入以下内容,然后保存退出(:wq) [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
  4. 安装 yum install -y google-chrome-stable --nogpgcheck
  5. 查看浏览器版本 google-chrome --version

到这里,浏览器就安装成功了。 如果这里出现什么问题,比如缺少一些so文件,则根据提示度娘一下,一般执行一个yum命令之后,就可以解决。因为配置时没有截图,所以这里我就没有详细说明。

2. 配置驱动

  1. 驱动下载地址https://chromedriver.storage.googleapis.com/index.html
  2. 找到与浏览器匹配的驱动下载
  3. 可以本地解压,也可以在服务器上解压,我这里本地解压之后上传到服务器,目录如下mv chromedriver /usr/bin
  4. 查看权限,赋予权限,更改用户组ls -l chromedriver chmod 755 /usr/bin/chromedriver chown root:root /usr/bin/chromedriver

默认一般都是root权限,可以不进行修改,如果您有自己安排,就根据具体情况修改就行。

3. 安装python

如果您已经安装过了,这一步就可以跳过,进入下一步。

  1. 卸载现有的pythonrpm -qa|grep python|xargs rpm -ev --allmatches --nodeps # 强制删除已安装程序及其关联 whereis python |xargs rm -frv # 删除所有残余文件 ##xargs,允许你对输出执行其他某些命令 whereis python # 验证删除,返回无结果
  2. 安装依赖yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel yum install -y libffi-devel zlib1g-dev
  3. 下载pythonhttps://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
  4. 解压tar -xvf Python-3.8.5.tar.xz
  5. 安装cd Python-3.8.5 ./configure --prefix=/usr/local/python3 make && make install
  6. 创建软连接ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
  7. 验证安装python3 -V pip3 -V

4. 自动化脚本

  1. 将本地依赖文件生成txt文档进入项目根目录,执行命令。 pip freeze > requirements.txt
  2. 上传到服务器中,可以自己创建一个目录,将项目放入进去,可以不放入venv文件夹
  3. 服务器安装模块pip3 install -r requirements.txt
  4. 全部安装成功,就可以执行自动化脚本pytest test_case.py
  5. 注意,在脚本内容中需要添加这些内容chrome_options = Options() chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') chrome_options.add_argument('window-size=1920x3000') # 指定浏览器分辨率 chrome_options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug chrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面 chrome_options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度 chrome_options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败 self._driver = webdriver.Chrome(options=chrome_options)

执行查看运行情况,如果没有报错信息,则代表运行成功。如图:

5. 生成报告

  1. 安装allurenpm install -g allure-commandline --save-dev
  2. 执行测试命令pytest -s -q --alluredir=report/xml/
  3. 生成html报告allure generate report/xml/ -o report/html
  4. 启动allure访问报告内容allure open -p 80 ./report/html/
  5. 打开本地浏览器,使用 http://ip:80 访问,可以查看到报告内容。 注意,需要在服务器上安装allure服务,allure会依赖java,所以环境中需要安装java。

最后

记录了大概的内容,因为我自己操作时遇到的一些问题没有当时记录,所以可能记录不太全面,如果您在操作过程中遇到问题,欢迎评论留言,如果对您有帮助,请记得点赞评论,能够有赞赏就更好哦。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pycharm 导入selenium,出现webdriver不能import的情况

    file ----> setting ----> project: ----> Project Interprester 这个会话中,可以设置pyt...

    Mokwing
  • pycharm 使用之:导包的小区别(使用编辑器里的包和环境变量的包)

    标题名字有点low,可能一看不知道什么意思,但是看了接下来的东西,相信你就会明白了。

    Mokwing
  • robotframework 学习(1) : 环境搭建,RIDE 快捷方式创建

    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8...

    Mokwing
  • <解决方法>Centos安装使用Chro

    我安装好Centos系统后,就在网上去找Chrome浏览器的安装方法,使用过yum,rpm都安装不上,会报错,然后询问公司的运维,他给我了个包,然后使用:yum...

    py3study
  • python3.6.8 + pycharm + PyQt5 环境搭建的图文教程

    上图中我们可以看到Successfully Installed SIP 字样,说明安装SIP成功。

    砸漏
  • 3. Kubernetes集群安装

    采坑备注: . Mac版本的幸好是 MacOS Mojave 10.14.6, 这个版本下, 安装了3款虚拟机, 均不成功. 别人的虚拟机一按就好, 就我的哪款...

    用户7798898
  • 大数据搜索引擎之elasticsearch安装篇

    Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据增添可能性。它用于全文搜索、结构化搜索、分析以及将这三者混合使用。

    漏斗社区
  • Linux下python3.7.0安装

    1、安装依赖包 1)首先安装gcc编译器,gcc有些系统版本已经默认安装,通过  gcc --version  查看,没安装的先安装gcc,yum -y in...

    py3study
  • NSA通过恶意软件感染5万多台计算机,窃取各种敏感信息

    由爱德华·斯诺登(Edward Snowden)提供的文件显示,美国国家安全局(以下简称“NSA”)通过恶意软件感染了全球超过5万台计算机,以窃取各种敏感信息。...

    安恒信息
  • CentOS 6编译安装python 3

    # yum -y groupinstall "Development tools"

    py3study

扫码关注云+社区

领取腾讯云代金券