IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> jenkins集成自动化和allure报告 -> 正文阅读

[开发测试]jenkins集成自动化和allure报告

1.allure安装与使用

具体步骤如下:

  1. 安装包:allure-command-line,运行报告服务(尽量去官网进行下载)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 下载完后,添加环境变量,确定安装成功? ? ??
  2. python中安装allure第三方库:pip install allure-pytest
  3. 运行命令:pytest --alluredir=output?或? run.py运行
  4. allure serve output?查看测试报告

只筛选了一条测试用例,代码如下:

run.py代码如下:

import pytest

pytest.main(['-m', 'success', '--alluredir=output'])

运行结果:

可以看到生成了output目录

在对应的项目目录下执行命令allure serve output,就会自动开启allure服务,打开测试报告

报告内容如下:

2.allure修改用例名称及页面截图

修改测试用例代码如下:

from data.login_data import login_success, login_fail_list
import pytest
import allure


# 修改测试套件/集合的名称
@allure.suite("登录功能")
class TestSignIn:
    @pytest.mark.parametrize('login_fail', login_fail_list)
    def test_sing_in_failed(self, login_fail, login_page):
        """测试登录失败"""
        # 数据
        username = login_fail['username']
        password = login_fail['password']
        expected = login_fail['expected']
        # 获取实际结果
        login_page.load()
        login_page.login(username, password)
        actual = login_page.get_error_tips()
        # 断言
        assert expected == actual

    # 修改测试用例的名称
    @allure.title("测试用例标题:登录成功")
    @pytest.mark.success
    def test_sing_in_success(self, login_page, home_page):
        """测试登录成功"""
        # 数据
        username = login_success['username']
        password = login_success['password']
        expected = login_success['expected']
        # 获取实际结果
        # 修改测试步骤的名称
        with allure.step('登录'):
            login_page.load()
            login_page.login(username, password)
        # 通过selenium进行截图
        img = login_page.browser.get_screenshot_as_png()
        allure.attach(body=img, name='登录截图', attachment_type=allure.attachment_type.PNG)
        # 通过文件来获取截图
        # allure.attach.file('demo.png', name='登录截图', attachment_type=allure.attachment_type.PNG)
        # 断言
        # 断言登录后的url
        with allure.step('首页'):
            assert home_page.is_loaded()
        img_home = login_page.browser.get_screenshot_as_png()
        allure.attach(body=img_home, name='首页截图', attachment_type=allure.attachment_type.PNG)
        # 断言登录后的用户名称
        assert home_page.get_username() == expected

运行run.py后,执行命令allure serve output,报告显示如下

通常登录成功的无需截图,只有登录失败报错了需要截图,这只是个例子,具体需不需要取决自己

3.jenkins集成自动化

开启jenkins服务(如何设置具体可以参考此篇文章jenkins介绍与使用_晒不黑的黑煤球的博客-CSDN博客),登录后,新建一个item

先不用设置任何内容直接保存,保存后进行一次构建

打开workspace,可以看到刚刚我们新建的item

把我们要进行自动化的代码手工复制到此目录下(我这里模拟的是本地操作代码,工作中通常还是通过git来进行下载代码)

安装allure插件

?进行allure设置:点击【Manage Jenkins】--> 【Global Tool Configuration】

点击【Allure Commandline 安装】-->设置名称,选择版本,点击保存即可

打开要设置的项目,点击配置-->增加构建后操作步骤-->选择【Allure Report】-->设置路径

?设置完毕后,可以看到显示了Allure Report?按钮

最后,点击【Build Now】进行构建,构建成功后可以点击查看allure报告

总结在jenkins设置allure报告的步骤:

  1. 安装allure插件,jenkins可以使用allure服务
  2. 在【Global Tool Configuration】添加allure命令
  3. 在jenkins项目中设置构建后操作,选择allure report,注意个性路径:output
  4. 点击jenkins构建按钮

4.jenkins主从模式?

我们现在这么执行是在jenkins的服务机上操作的,但在实际工作中,jenkins肯定不会安装在自己本地,多数是安装的服务器上,服务器上安装的linux系统,这样我们想跑web自动化代码就比较麻烦,因为需要通过命令行安装浏览器,才能进行操作

问题一:浏览器不是可视化界面,没办法看到页面,问题二:在linux系统上执行web自动化代码,看不出来效果,因为截图不到页面,不知道哪里出问题,问题三:占用CPU内存比较高

所以?web自动化测试可以使用主从模式来进行测试

主从模式:

说白了就是把构建任务分发到多个从节点去执行,可以方便进行web自动代测试,可以提高支撑起多个项目的大量构建任务等

一台服务器:一个人?slave奴隶

节点

发配任务:master?主人

master/slave

分布式

jenkins服务:注册节点,给项目下达任务

其他的节点:执行任务

jenkins和其他节点,进行通信

点击【Manage Jenkins】--> 【Manage Nodes and Clouds】

点击 【新建节点】-->输入节点名称,勾选按钮,点击确定

确定后,进入详情设置:设置Number of executors,远程工作目录,标签,勾选Use WebSocket

Number of executors?主要看slave的电脑(强度大小)cpu的核数,核数是几就设置几,远程工作目录,不是jenkins服务的目录,而是要执行任务的那台电脑的工作目录,标签可以随便命名

保存后,点击节点进入查看?

这时可以看到节点还没有开启,设置方法有两种:

第一种方法:点击Launch的按钮进行下载,但需要把java升级到最新版本,否则不能使用

第二种方法:点击agent.jar进行下载,下载完毕后,进入文件所在目录打开cmd,复制第一行命令,执行服务开启

开启服务后,刷新一下页面,可以看到节点连接成功

打开项目进行分配任务,勾选【限制项目的运行节点】-->输入节点名称即可

注意:因为我们没有使用git管理代码,所以jenkins不能自动下载代码,所以我们需要手动把代码复制到对应的目录下

点击【Build Now】进行构建,构建成功后可以看到执行的是节点momo

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:35:34  更:2021-12-15 18:36:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 7:44:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码