当前位置: 首页 > news >正文

Allure测试报告定制全攻略,优化你的Web自动化测试框架!

目录

 前言:

1. Allure测试报告简介

2. Web自动化测试框架简介

3. 封装Web自动化框架

3.1 安装Selenium

3.2 封装Selenium

3.3 定制Allure测试报告

3.3.1 适配翻译插件

3.3.2 定制测试报告样式

4. 示例代码

5. 总结


前言:

随着现在Web应用的普及,越来越多的企业开始将业务线上化,Web应用也成为了企业中必不可少的一部分。随着Web应用的增多,Web自动化测试框架也愈发重要。今天我将为大家介绍一下如何使用Allure测试报告来定制Web自动化测试框架。

1. Allure测试报告简介

Allure测试报告是由Yandex公司开发的一款开源测试框架,它提供了非常丰富的信息和交互式操作来展示测试结果。Allure测试报告可以提供如下特点:

- 集成多种测试框架:Allure支持JUnit、TestNG等多种测试框架;
- 可视化测试结果:Allure测试报告提供了交互式的测试结果展示方式,易于测试人员查看和理解;
- 定制测试报告:Allure测试报告支持用户自定义模板,可以根据需求自由定制测试报告。

2. Web自动化测试框架简介

Web自动化测试框架是一些工具和库的集合,用于自动化测试Web应用程序。这些框架可以帮助测试人员快速构建可重用的测试脚本。

常用的Web自动化测试框架有如下几种:

- Selenium:一个基于浏览器自动化的框架,可以模拟用户行为对Web应用程序进行自动化测试;
- RobotFramework:一个开源的自动化测试框架,支持Python编写测试脚本;
- Cucumber:一个BDD(行为驱动开发)测试框架,用自然语言方式定义测试用例。

3. 封装Web自动化框架

在测试Web应用程序时,我们可以使用上述框架来编写测试脚本。但是为了实现定制化的测试报告,需要对测试框架进行封装。下面以Python语言为例来对Selenium进行封装。

3.1 安装Selenium

首先需要安装Selenium,可以使用pip命令进行安装:

pip install selenium

3.2 封装Selenium

接下来进行Selenium的封装。首先,我们新建一个selenium_driver.py文件,用于初始化WebDriver,并定义一些常用的操作。

from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsclass SeleniumDriver:def __init__(self, driver_path, headless=False):""":param driver_path: WebDriver的路径:param headless: 是否无头模式"""chrome_options = Options()if headless:chrome_options.add_argument('--headless')self.driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options)def get(self, url):self.driver.get(url)def find_element(self, locator):""":param locator: 元素定位,示例:'css selector', 'body'"""return self.driver.find_element(*locator)def close(self):self.driver.quit()

在上述代码中,SeleniumDriver类封装了Selenium的WebDriver,并提供了常用的Web操作方法。

3.3 定制Allure测试报告

接下来,我们需要对Allure测试报告进行定制。首先,我们新建一个allure_report.py文件,用于自定义Allure测试报告。

Allure测试报告支持用户自定义模板,我们可以根据需求自由定制测试报告。下面介绍几个常见的测试报告模板。

3.3.1 适配翻译插件

在Allure测试报告中添加翻译插件可以使报告支持多语言,提高测试报告的可读性和可访问性。

方法一:

安装allure-pytest和allure-pytest-translations两个库:

pip install allure-pytest
pip install allure-pytest-translations

接下来,我们在pytest.ini文件中添加如下配置:

[pytest]
addopts = -v –capture=no –alluredir=./result –clean-alluredir
testpaths = ./tests/
python_files = test_*.py
python_classes = Test*
python_functions = test_*
cache_dir = ./.pytest_cache[allure]
language = zh
plugins = i18n,pytester

其中,language参数用于定义测试报告的语言,plugins参数指定使用哪些插件。

方法二:

在allure.yml文件中添加如下配置:

# Langauge settings
language: en#plugins settings
plugins:- i18n- junit- summary

在pytest.ini文件中添加如下配置:

[pytest]
addopts = -v –capture=no –alluredir=./result –clean-alluredir
testpaths = ./tests/
python_files = test_*.py
python_classes = Test*
python_functions = test_*
cache_dir = ./.pytest_cache[allure]
config_file = ./allure.yml

3.3.2 定制测试报告样式

除了支持多语言,在Allure测试报告中还可以定制报告样式。我们可以通过编写CSS文件来定制测试报告。

首先,新建一个allure.css文件,定义测试报告的样式。例如:

/* 自定义测试报告主题 */
body {background-color: #F8F8F8;color: #000000;
}

接下来,我们在pytest.ini文件中添加如下配置:

[pytest]
addopts = -v –capture=no –alluredir=./result –clean-alluredir
testpaths = ./tests/
python_files = test_*.py
python_classes = Test*
python_functions = test_*
cache_dir = ./.pytest_cache[allure]
# 使用自定义的CSS样式
extra_css = ./allure.css

通过上述操作,我们完成了定制化Allure测试报告的工作。

4. 示例代码

下面是一个示例代码,演示如何对Selenium进行封装,并使用Allure测试报告定制Web自动化测试框架。

import allure
from selenium.webdriver.common.by import By
from selenium_driver import SeleniumDriverclass TestBaidu:def setup_method(self):self.driver = SeleniumDriver('chromedriver.exe', headless=False)self.driver.get('https://www.baidu.com')def teardown_method(self):self.driver.close()@allure.step('在搜索框输入关键字:{1},点击搜索按钮')def baidu_search(self, keyword):self.driver.find_element((By.ID, 'kw')).send_keys(keyword)self.driver.find_element((By.ID, 'su')).click()@allure.title('测试百度首页搜索功能')def test_baidu_search(self):with allure.step('输入关键字:Allure Report'):self.baidu_search('Allure Report')with allure.step('验证搜索结果页面是否存在指定元素'):assert self.driver.find_element((By.PARTIAL_LINK_TEXT, 'allure.qatools.ru')) is not None

在上述代码中,我们使用了SeleniumDriver来初始化WebDriver,并定义了封装后的测试用例。在测试用例中,我们使用了Allure测试报告的@step和@title装饰器来自定义测试报告。

5. 总结

本文介绍了如何使用Allure测试报告来定制Web自动化测试框架。通过定制化测试报告,我们可以更加清晰地展示测试结果,并提高测试报告的可读性和可访问性。同时,还介绍了如何对Selenium进行封装,使测试脚本更加易于编写和维护。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,如果你用得到的话可以直接拿走,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

方式:留【自动化测试】即可
【自动化测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=yTky89vp61ak2ySZMOHqFKs3cy63KNdR&authKey=CdUemWSkJDENrUBUAj1JFqz5RQ4ov6MKoYzfjSJmLZ9Ot656Xl857XpyxrFO6OI5&noverify=0&group_code=574737577

http://www.lryc.cn/news/91734.html

相关文章:

  • 推荐系统算法详解
  • 企业网站架构部署与优化之LAMP
  • 攻防世界安卓逆向练习
  • 自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)
  • 【MySql】InnoDB一棵B+树可以存放多少行数据?
  • 【综述】视频无监督域自适应(VUDA)的小综述
  • 《深入理解计算机系统(CSAPP)》第9章虚拟内存 - 学习笔记
  • 信息论与编码 SCUEC DDDD 期末复习
  • windows安装python开发环境
  • java idea常用的快捷方式
  • lwIP 开发指南
  • RabbitMQ消息属性详解
  • shader 混合模式
  • 【大数据工具】Hive 安装
  • Android9.0 iptables用INetd实现app某个时间段禁止上网的功能实现
  • webpack.config.js基础配置(五大核心属性)
  • 【华为OD机试】阿里巴巴找黄金宝箱(IV)【2023 B卷|200分】
  • Qt6 C++基础入门2 文件结构与信号和槽
  • 常用模拟低通滤波器的设计——契比雪夫II型滤波器
  • SSM 如何使用 Redis 实现缓存?
  • uin-app如何获取微信昵称和头像的博客
  • 第六十七天学习记录:对陈正冲编著《C 语言深度解剖》中关于变量命名规则的学习
  • matlab 计算点云的线性指数
  • SpringBoot集成ElasticSearch
  • 分治入门+例题
  • 剑指offer打卡
  • 运维实用脚本整理
  • INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践
  • 隧道模式HTTP代理使用代码示例
  • 翻筋斗觅食海鸥优化算法-附代码