上海建设学校网站,企业网站包括哪些,浙江第一水电建设集团网站,一键logo设计app目录 前言#xff1a;
1. Allure测试报告简介
2. Web自动化测试框架简介
3. 封装Web自动化框架
3.1 安装Selenium
3.2 封装Selenium
3.3 定制Allure测试报告
3.3.1 适配翻译插件
3.3.2 定制测试报告样式
4. 示例代码
5. 总结 前言#xff1a;
随着现在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, headlessFalse)::param driver_path: WebDriver的路径:param headless: 是否无头模式chrome_options Options()if headless:chrome_options.add_argument(--headless)self.driver webdriver.Chrome(executable_pathdriver_path, optionschrome_options)def get(self, url):self.driver.get(url)def find_element(self, locator)::param locator: 元素定位示例css selector, bodyreturn 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 –captureno –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 –captureno –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 –captureno –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, headlessFalse)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备注ccchttp://qm.qq.com/cgi-bin/qm/qr?_wv1027kyTky89vp61ak2ySZMOHqFKs3cy63KNdRauthKeyCdUemWSkJDENrUBUAj1JFqz5RQ4ov6MKoYzfjSJmLZ9Ot656Xl857XpyxrFO6OI5noverify0group_code574737577