最近开始做接口自动化,学了一下 Httprunner,感觉很简便,就用来做了一些测试用例,之后集成和输出测试报告这方面,感觉用的最多的还是 Jenkins,就看了一些教程,在本地跑通了,这里记录一下在服务器上面部署的操作。
刚开始在本地部署的时候,因为有一些依赖没装,导致后面遇到了很多问题
印象最深的是 openssl 和 libbz2-dev,这两个模块没有的话一个导致没办法用 https 请求去下载东西,一个是后面的 bz2 模块缺失问题 (stackoverflow yyds),重新安装这些依赖后还要重新去编译安装 Python,很费精力,所以能一开始避免掉最好。
下面是具体的一些操作:
docker pull jenkins/jenkins
mkdir /data/jenkins_home
chmod -R 777 /data/jenkins_home
docker run -d -uroot -p 9090:8080 --name jenkins -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --restart=always jenkins/jenkins
root@tang:~# docker exec -it -uroot jenkins /bin/bash
root@5723d446e00a:/# apt-get update && apt-get upgrade
root@5723d446e00a:/# apt-get -y install gcc automake autoconf libtool make openssl libssl-dev sudo
root@5723d446e00a:/# apt-get -y install zlib*
root@5723d446e00a:/# cd /usr/local/src/
root@5723d446e00a:/usr/local/src# wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
root@5723d446e00a:/usr/local/src# tar -zxvf Python-3.9.6.tgz
root@5723d446e00a:/usr/local/src# mv Python-3.9.6 py3.9
root@5723d446e00a:/usr/local/src/py3.9# ./configure --prefix=/usr/local/src/py3.9/
root@5723d446e00a:/usr/local/src/py3.9# make && make install
pip3 install (httprunner,allure-pytest,pytest) 等等...
root@5723d446e00a:/usr/local/src# wget https://github.com/allure-framework/allure2/releases/download/2.14.0/allure-2.14.0.tgz
root@5723d446e00a:/usr/local/src# tar -zxvf allure-2.14.0.tgz
root@5723d446e00a:/usr/local/src# mv allure-2.14.0 allure
root@5723d446e00a:/usr/local/src# chmod -R 777 allure
root@5723d446e00a:/usr/local/src# apt-get install -y vim
root@5723d446e00a:/usr/local/src# vim /root/.bashrc
source /root/.bashrc
https://developers.dingtalk.com/document/robots/custom-robot-access
https://stackoverflow.com/questions/22346269/bz2-is-module-not-available-when-installing-pandas-with-pip-in-python-virtual
https://stackoverflow.com/questions/8115280/importerror-no-module-named-bz2-for-python-2-7-2
api-test 构建结束后收到了钉钉群的消息
看了下测试用例失败的原因,报错 503,是开发同学在重新部署测试环境。
总的流程大致就是这样了,试水还算成功。