1. pythonUI自动化之组成结构
python+pytest+allure+POM
python:编程语言
pytest:单元测试框架
allure:测试报告
POM:页面对象模型
2. pythonUI自动化之POM测试框架目录
1. base文件夹:基类,用于配置元素操作,如获取元素、输入、点击、等待等函数 2. pages_object文件夹:页面对象类,用于存放每个页面的操作对象,这也是POM框架的核心内容 3. test_cases文件夹:测试用例。每个测试用例应该单独成为一个py文件,并按照逻辑进行组织。可以根据项目需求创建不同的子文件夹来分类管理测试用例。 4. utils文件夹:用于存放工具函数或者公共方法。在编写测试时,可能会使到一些重复性高且与特定页面无关的功能,可以将其提取为工具函数并放入此文件夹中。 5. data文件夹:测试数据存放目录 6. configs文件夹:用于存放配置文件。如果需要修改测试运行参数或者设置全局变量,可以将其保存在配置文件中,然后在测试过程中引用。 7. reports文件夹:用于生成测试报告。当测试完成后,可以将测试结果输出为HTML格式的报告,并保存在此文件夹中。 8. main.py文件:主程序入口点。所有的测试任务从此处开始执行,可以选择指定要运行的测试用例集合或者整个测试模块。 9. requirements.txt文件:记录了项目所需的第三方库及版本号。可以使用pip命令安装所列出的库。 10. .gitignore文件:Git版本控制系统的忽略文件,用于指定哪些文件/文件夹不被添加到版本控制中。 11. README.md文件:项目说明文档,介绍项目名称、目录结构、使用方法等内容。
1. base文件夹:基类,用于配置元素操作,如获取元素、输入、点击、等待等函数
""" 基类 """ class Base: def __init__(self, driver): self.driver = driver # 打开网址 def open(self, url): self.driver.get(url) # 获取元素信息 def locator(self, **data): """ data.get('name', 'xpath'): 获取data字典里的name, 如果没有则默认xpath :param data: :return: """ ele = self.driver.find_element(data.get('name', 'xpath'), data['ele']) return ele # 点击 def click(self, **data): self.locator(**data).click() # 输入 def input(self, **data): self.locator(**data).send_keys(data['txt'])
2. pages_object文件夹:页面对象类,用于存放每个页面的操作对象,这也是POM框架的核心内容。自动化是否做的好,全看页面是否维护的好
假设整个系统只有(登录)和(用户)两个模块, 而(用户)模块的核心功能是(新增用户)和(删除用户), 而你想设计两条用户, 一条新增用户, 一条删除用户,那么页面对象你就可以这么设计
接下来就可以设计我们的用例了:
用例1:新增用户
用户2:删除用户
3. test_cases文件夹:测试用例。每个测试用例应该单独成为一个py文件,并按照逻辑进行组织。可以根据项目需求创建不同的子文件夹来分类管理测试用例。
标签:pythonUI,self,文件夹,测试用例,页面,data,POM,底层 From: https://www.cnblogs.com/FBGG/p/18041688