博客
关于我
Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
阅读量:797 次
发布时间:2023-03-08

本文共 2387 字,大约阅读时间需要 7 分钟。

Vantpy框架简介

Vantpy是一款基于Selenium、Yaml和Unittest构建的WebUI自动化测试框架,旨在为用户提供高效、可维护的自动化测试解决方案。

框架特点

Vantpy框架具有以下显著特点:

- **页面对象模式(POM)**:通过智能定位器(如xpath、css、ID等)设计页面元素,实现代码逻辑性强、可维护性高的测试脚本。 - **多维度定位支持**:框架集成Selenium的核心定位方法,用户可根据需求选择最适合的定位方式。 - **自动化测试报告**:使用HTMLTestRunner生成详细测试报告,支持美观的HTML格式,便于结果分析。 - **日志输出功能**:记录每一步操作,提供全面的测试执行日志,便于调试和追踪问题。 - **Yaml数据管理**:将测试数据与代码分离,支持动态配置,提升框架的灵活性和可维护性。

部署环境

Vantpy框架适用于以下环境:

- **操作系统**:支持Windows、Linux等主流系统。 - **Python版本**:建议使用Python 3.6及以上版本。

安装依赖

使用以下命令安装所需的第三方库:

- `pip install selenium` - `pip install pyyaml`

支持浏览器

Vantpy框架支持多种主流浏览器及其对应的驱动:

- **Chrome**:使用Chromedriver - **Firefox**:使用geckodriver - **IE**:使用IEDriverServer - **Opera**:使用operadriver - **Edge**:使用MicrosoftWebDriver

测试用例示例

以下是一个简单的使用示例:

```python from selenium.webdriver.common.by import By from vantpy.base.basepage import BasePage class BaiduPage(BasePage): search_loc = (By.XPATH, '//*[@id="kw"]') def input_baidu_text(self, text): self.send_keys(self.search_loc, text) ```

日志记录

框架支持详细的日志记录功能,例如:

- 浏览器类型:Chrome - 浏览器启动时间:2018-06-02 19:05:27 - 浏览器URL:https://www.baidu.com - 元素定位方式:xpath - 操作记录:输入搜索关键词、点击搜索按钮等

测试报告生成

测试报告采用HTML格式输出,包含详细的测试用例执行情况:

```python import time from selenium.webdriver.webdriver.chrome.options import Options def report(): current_time = time.strftime("%Y-%m-%d_%H_%M_%S_") report_path = os.path.join(os.getcwd(), 'report', f'{current_time}result.html') return report_path fp = open(report(), 'wb') runner = HTMLTestRunner(fp, title='测试报告', description='测试用例执行情况') ```

框架优势

Vantpy框架在自动化测试领域具有显著优势:

- **代码规范性**:通过POM模式实现代码结构清晰,便于维护和复用。 - **定位灵活性**:支持多种定位方式,满足不同项目需求。 - **日志精度**:记录详细操作日志,方便测试分析和问题定位。 - **报告生成**:生成美观且功能丰富的测试报告,便于汇报和分享。

技术分享

加入我们的技术交流群,分享自动化测试相关经验,获取丰富的技术资源和支持:

- **QQ群号**:110685036 - **交流内容**:自动化测试、性能优化、安全测试等技术讨论

测试框架示例

以下是一个简单的测试用例:

```python from vantpy.base.basepage import BasePage from selenium.webdriver.common.by import By

class BaiduPage(BasePage):

"""百度页面定位器示例"""
search_loc = (By.XPATH, '//*[@id="kw"]')
def input_baidu(self, text):
self.send_keys(self.search_loc, text)

如何使用

使用Vantpy框架进行自动化测试,步骤如下:

1. **导入必要库**:`import os, time, selenium.webdriver.webdriver.chrome.options as ChromeOptions` 2. **初始化浏览器选项**:`options = ChromeOptions()` 3. **定义测试类**:继承`BasePage`类,添加必要的定位器和操作方法。 4. **执行测试用例**:通过`unittest.main()`运行测试,生成测试报告。

总结

Vantpy框架为WebUI自动化测试提供了强大且灵活的解决方案,适用于多种项目场景。无论是小型项目还是大型企业级应用,Vantpy都能满足您的测试需求。加入我们的技术交流群,获取更多精彩内容!

转载地址:http://yylfk.baihongyu.com/

你可能感兴趣的文章
python-字符串
查看>>
Python-将二进制遮罩转换为多边形
查看>>
python-文件操作
查看>>
PYTHON-模块 sys os random shutil-练习
查看>>
Python-模块与包的管理
查看>>
PYTHON-模块定义 搜索路径
查看>>
Python-爬虫工程师-面试总结
查看>>
Python-类与文件读取结合
查看>>
python-类思想-实现简单增删查改
查看>>
python-网络编程
查看>>
python写入文件出现空行
查看>>
PYTHON-返回给定x的多边形路径的y坐标
查看>>
python-进程池与线程池,协程
查看>>
Python-通过函数传递变量
查看>>
Python内置函数详解——总结篇
查看>>
Python.对象集合中的标识.和散列
查看>>
Python.硒.拖放错误“AttributeError:move_to 需要 WebElement“
查看>>
Python内置函数详解
查看>>
Python/Kivy:从一个类调用函数到另一个类并在 Python 中显示小部件
查看>>
Python/Kivy:我可以在双击标签时调用函数吗
查看>>