pytest框架优化

8. 接入到Jenkins

先建立node如 名称Pytest_服务器ip

再建立job job关联node名称

Jenkins - New Item

Jenkins 设置定时任务 - 简书

7. pytest_allure自动化框架环境搭建方法

一、代码开发机器安装python3.6版本,pytest框架要求使用python3版本

1: 直接使用服务器配置的yum源安装python3.6版本:yum -y install python36,缺点是本机yum源下载速度慢。

2: 如果服务器是联网的,可以下载使用阿里的yum源,优点是下载速度快

(1)下载阿里yum源

 wget http://mirrors.aliyun.com/repo/Centos-7.repo

(2)备份环境自带的yum源

 mkdir -p /etc/yum.repos.d/bak

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak

(3)设置使用新下载的yum源

mv Centos-7.repo /etc/yum.repos.d/; yum clean all; yum repolist

(4)设置使用域名解析服务器

修改/etc/resolv.conf配置文件,修改后配置文件的内容如下:

nameserver 10.96.1.18

(5)使用阿里yum源安装python3.6版本

yum -y install python36

二、安装框架所需的python包

将包统一放进requirements.txt,统一安装:

pip3 install -r requirements.txt -i Simple Index --trusted-host pypi.douban.com

这里使用豆瓣的pip源,可以大大提高python软件包的下载安装速度。

requirements.txt内容如下:

jsonpath~=0.82

DingtalkChatbot~=1.5.3

PyYAML~=5.4.1

requests~=2.25.1

pytest~=7.1.2

allure-pytest~=2.9.45

SQLAlchemy~=1.4.39

pymongo~=4.1.1

paramiko~=2.7.2

prettytable~=0.7.2

bottle~=0.12.19

xlrd~=1.2.0

PyMySQL~=1.0.2

crypto~=1.4.1

pycryptodome~=3.15.0

concurrent_log_handler~=0.9.20

matplotlib~=3.3.4

如果存在安装失败的python包,可以升级pip3的版本:pip3 install --upgrade pip,然后单独安装第一次安装失败的python包。如果没有pytest~=7.1.2 如提示的最高版本是7.0.2则修改配置文件为pytest~=7.0.2

三、服务器配置httpd服务,用于展示allure报告

1、下载安装httpd文件服务器:yum install httpd

2、服务器配置httpd服务

配置方法链接:CentOS7安装配置httpd文件服务器 - 码农教程

注意:我们这里的httpd服务配置的目标路径是根目录’/’,和框架allure报告配置的展示路径对齐

四、安装java1.8,allure命令行的执行需要java环境

yum install java-1.8.0-openjdk -y

如果服务器已经配置了java,则不需要安装

五、安装allure-commandline2.14.0+

1、下载地址: Central Repository: io/qameta/allure/allure-commandline

2、安装配置allure-commandline

(1) 上传allure-commandline-2.13.1.zip上传到服务器的/opt目录下

(2) 解压unzip allure-commandline-2.14.0.zip

(3) 配置环境变量

将解压后allure下bin目录的路径/opt/allure-2.14.0/bin配置进环境变量

vim /root/.bashrc

在PATH后追加以下内容,保存

PATH=$PATH:/opt/allure-2.14.0/bin

export PATH

(4) 使环境变量生效

source /root/.bashrc

(5) 验证

在命令行输入allure --version,能出现版本说明allure命令行已经安装成功了

六、安装git

yum install git

安装完毕,配置git  见我自己写的博客

git配置-新人git配置

6. centos7启动httpd命令有两个可以用
service httpd start    

systemctl start httpd.service
如果出现如下报错
Job for httpd.service failed because the control process exited with error code. See “systemctl status httpd.service” and “journalctl -xe” for details.

应该是端口被占用,查看端口
netstat -antlp | grep 80
是nginx占用了端口
systemctl stop nginx.service 停用nginx即可
如果想开机关闭nginx则输入命令 systemctl disable nginx

其中:listen后面的端口号改为你自己需要的端口号,server_name改为你自己的外网ip。server_name默认为localhost即127.0.0.1。
修改完配置文件后重启nginx:/usr/local/nginx/nginx -s reload.我的nginx是安装在/usr/local/目录下,根据你自己nginx的安装目录重启你的服务器。

 

centos7启动httpd服务失败:Job for httpd.service failed because the control process exited with error code. - _codeRookie - 博客园

5. git 本地仓库关联新的远程仓库

 1. 删除已关联的远程仓库

$ git remote rm origin

2. 关联新的远程仓库

$ git remote add origin http://localhost:3000/huangweizhi/jqwlscan.git

3. 推送本地分支 

$ git push -u origin master

4. 查看git远程关联的仓库
git remote -v // 查看本地已经关联的远程仓库
git remote rm name  // # 删除远程仓库
git remote rename old_name new_name  // # 修改仓库名
git remote add name 远程仓库地址 // name 为要取的仓库名字 远程仓库地址 为要关联的远程仓库地址

3. token鉴权 Authorization

def auth():
    logging.info("get token before send request")
    token = get_hce_token()
    # print('------token-----',token)
    logging.info("token: {}".format(token))
    # 20220815 Authorization 值中Bearer空格加token值在python接口请求中如何实现
    Authorization = "Bearer " + token

    request_headers = {"Content-Type": "application/json",
    "Accept": "application/json, text/plain, */*",
    "Authorization": Authorization
    }

    # request_headers.update(request_headers)
    # token['content-type'] = 'application/json'
    print('------request_headers------', request_headers)
    print('------request_headers_type------', type(request_headers))
    # print('------header------', header)
    return request_headers

2. YAML在线格式化

1. 如遇

    from libs.file_operate.read_conf import setting
ModuleNotFoundError: No module named 'libs'

解决办法:添加如下内容

import sys

sys.path.append('.')

有时候,自己在运行代码时,明明pycharm上在引用包时,系统可以正常识别到包,运行也一切正常。但是到终端去运行代码就会报错,发现无法正常引用自己编写的包了。详细解释可以看这一篇sys详解

python就会在你的当前运行目录下搜索对应的包,自己编写的模块就能顺利引用了。注意:sys.path.append('.')这段代码要添加在自己引用包的代码之前,不然也会出错

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方狱兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值