本地运行
pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com -r requirements.txt
python run_local.py
每个Case可独立运行,case运行前先将参数化需要用到的动态数据生成保存至yaml文件,case运行前数据从yaml文件中加载读取,解决使用pytest-xdist 进行多进程同时运行时各个进程加载到的数据不一致导致多进程运行失败的问题。前置依赖数据使用接口进行生成
由于web中无windows系统自带弹窗的场景,将case放在linux服务器的docker容器中运行,减少本地电脑的占用
case运行结束后使用多线程查询case运行后产生的有特定名称的数据,使用for循环进行删除(此处多线程进行删除处理过于麻烦,且多线程查询数据时也需要优化), 由于接口未遵循restful风格,目前想到的只能一个接口一个方法。
allure 报告需本地安装allure
yum install java
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar -xvf apache-maven-3.3.9-bin.tar.gz
sudo mv -f apache-maven-3.3.9 /usr/local/
sudo vim /etc/profile
# 添加到最后两行
export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=${PATH}:${MAVEN_HOME}/bin
source /etc/profile
mvn -v
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins -y
修改端口(未被占用可不修改)
vi /etc/sysconfig/jenkins
:/PORT
# 改为其它未被占用的端口8088
sudo systemctl daemon-reload
启动停止重启
service jenkins start/stop/restart
查看安装密码
cat /var/lib/jenkins/secrets/initialAdminPassword
修改jenkins执行命令的用户
vim /etc/sysconfig/jenkins
# 将$JENKINS_USER="jenkins"修改为$JENKINS_USER="root"
# 修改目录权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
# 将jenkins加入docker 的用户组
sudo gpasswd -a jenkins docker && sudo service jenkins restart
修改docker 运行容器的host地址
vi /etc/hosts
#添加如下无域名要求忽略这步
1.2.3.4 www.baidu.com
安装jenkins的allure插件
虚拟环境命令
yum install python3
python3 -m venv 路径/虚拟环境名
docker pull elgalu/selenium
docker pull dosel/zalenium
关于jenkins 相关的配置请尽量原封不动,否则会遇到如下问题
-
jenkins无法启动docker容器的问题(通过将jenkins加docker组,实际改成root这步可以忽略)
-
jenkins的执行用户尽量改成root,否则pip依赖包时可能加sudo依然会存在无权限无法安装依赖包
-
建议jenkins中在tarsUI的工程上加一个stop selenium的docker容器命令在TarsUI项目构建完成后再进行容器停止