整体设计模式:
pytest+python下的UI自动化基础框架

config目录:存放一些公共的静态文件,如项目名称,配置文件等这些环境变量(可以用其他组件替换,如sql,主要能把配置文件的内容被程序识别)。

httptrquest目录:存放接口代码,UI自动化因为其稳定性问题会出现有些地方出错导致后续无法进行,故添加接口操作。

initailize目录:初始化代码,用于存放初始化操作的代码,比如初始化一些全局变量,初始化webdriver等,应用于整个项目的代码。

test目录:真正执行的目录,用于存放测试用例的代码,会被pytest识别将其转化为可执行的测试用例(PS:该文件的目录名及其模块、类、方法名都要根据pytest的设置来进行设置);该目录下的代码都会被pytest装饰,控制执行顺序,执行依赖等操作。

testcase目录:为test目录服务,执行相关的操作,定位元素,执行操作,输出结果等等,该目录下的模块、方法都会被test目录下相应的代码调用实例化

testcase_utils: 辅助工具类,在操作过程中某些页面上有些公共的操作,如表格table定位,批量元素的输入,js操作等等,便于维护。

utils目录: 工具类,为整个项目的运行提供基础的操作,如读取文件,将yaml文件转化为WebElement类对象元素,日志、截图、测试报告、sql操作、装饰器、发送报告等基础操作。与testcase_utils目录最大的区别为该目录下的代码不会操作页面上的元素

yaml文件: 存放元素的定位方式,将页面元素转化为yaml静态文件

conftest.py文件: ytest固定文件,主要功能两个,初始化操作和记录运行结果;1.用于fixture装饰器的使用,初始化操作,创建全局唯一对象,将这些对象传递给initailize目录下的指定模块,全局共用 2.记录运行结果,整个运行失败时的操作,用于最后的分析操作

pytest.ini 文件,pytest固定文件,指定运行方式

  • 文章来源:51cto博客
  • 转载说明:仅为促进国内科技技术发展,为IT工作者解决开发难题。
  • 版权声明:文章来源于网络采集,版权归原创者所有,均已注明来源,如未注明可能来源未知,如有侵权请联系管理员删除。

发表回复

后才能评论