Jenkins( 七)Jenkins+pytest+selenium+allure+Email

1、安装

1.1、安装Java

yum install java
检查是否安装成功
java -version
查询Java安装路径:
[root@k8s-master maven]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/bin/java /usr/share/man/man1/java.1.gz
[root@k8s-master maven]# ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 Oct 29 22:09 /usr/bin/java -> /etc/alternatives/java
[root@k8s-master maven]# ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 73 Oct 29 22:09 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/java

配置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre export PATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar(未配置,openjdk对应的路径下面没有相关的文件)

执行下面命令配置路径:
source /etc/profile
查看配置是否成功:

[root@k8s-master maven]# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre
[root@k8s-master maven]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/var/lz/install_package/apache-jmeter-5.1.1/apache-jmeter-5.1.1/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/lib:/root/bin

1.2、安装mvn

yum install maven
检查maven是否安装成功
mvn -v
查看mvn安装路径
[root@k8s-master maven]# whereis maven
maven: /etc/maven /usr/share/maven
修改下载源为阿里云的源

[root@k8s-master maven]# vim /etc/maven/settings.xml

<!--阿里云仓库-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

1.3、安装git

yum install git

配置git
git config --global user.name XXXXXX
XXX
git config --global user.email XXX@gmail.com

查看配置
git config --list

cd /root/.ssh
XXX
配置ssh证书
ssh-keygen -t rsa -C "XXX@gmail.com"
将公钥拷贝到GitHub-settings-SSH and GPG keys
检查是否配置成功
sh git@github.com

1.4、配置known_hosts(失败)

配置Known hosts file Varification Strategy
cd /root/.ssh
检查是否存在配置的账号
cat known_hosts
如果之前没有连接过slave的服务器,连接一下这台服务器
ssh root@ip
XXX
由于配置成Known hosts file Varification Strategy会报错,现在改成No Verifying Varification Strategy

1.5、安装chrome和chromedriver

安装google-chrome
安装chromedriver
查看版本
chromedirver -version
chromedriver安装路径
/usr/bin/chromedriver
配置路径
vim /etc/profile
source /etc/profile

1.6、安装python、selenium、allure等

安装python3
安装pip3
安装selenium
安装pytest
安装allure-pytest
安装allure-python-commons
安装allure_commandline (系统管理-全局工具配置)

2、配置

2.1、添加自由风格的任务


image.png

2.2、 General:
添加描述
选择丢弃旧的构建-保持最大构建数是3
选择限制项目运行的节点为myself(需要添加节点)


image.png

2.3、源码管理
添加源码地址

添加指定分支


image.png

2.4、构建
添加构建脚本
image.png

2.5、构建后操作
添加allure报告路径
image.png

添加邮件,主要是收件人(成功、失败的邮件可以分别发送给对应的收件人)、内容可以选择默认的也可以自己定制
image.png

image.png

3、代码demo

# coding=utf-8
import logging
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait


class TestTsg:
    def setup(self):
        chromeOptions = webdriver.ChromeOptions()
        chromeOptions.add_argument('--no-sandbox')
        chromeOptions.add_argument('--disable-dev-shm-usage')
        chromeOptions.add_argument('--headless')
        chromeOptions.add_argument('blink-settings=imagesEnabled=false')
        chromeOptions.add_argument('--disable-gpu')
        chromeOptions.binary_location = r""
        # self.driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', chrome_options=chromeOptions)
        self.driver = webdriver.Chrome(options=chromeOptions)
        self.driver.implicitly_wait(10)
        self.driver.get("url")
        assert "XXX" in self.driver.title
        sleep(5)
        self.driver.get_screenshot_as_file('firstpage.png')

    def teardown(self):
        self.driver.quit()

    def test_my(self):
        pass

4、打开邮件,查看allure测试报告

image.png

image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。