WEB自动化-框架-关键字封装

所谓的关键字驱动,本质就是函数封装的过程。
⾃动化当中的封装⽬的是:拆分重复的⾏为代码和测试数据,增加可维护性和复⽤性
 
对于某些用例都需要执行的功能,比如登陆、切换环境、登陆后进入大模块等。像这样的前置功能或者后置功能写到一个用例里面,其他用例就不能使用了。所以需要配置文件,管理通用的前置操作,类似于通用关键字。pytest中可以使用conftest.py实现。
 

conftest.py名称固定,pytest默认读取
conftest.py 和运行的用例要再一个package下,用例可以放进最顶级的package下的子package下面。保证conftest.py文件在最外层的package下就可以了。
pytest可以自动找到该文件,读取里面的函数。
目录结构如下:

 1 project
 2 |
 3 └───folder
 4 |   |    __init__.py
 5 │   │   conftest.py
 6 │   │   test_one.py
 7 │   └───subfolder
 8 |        |   __init__.py
 9 │       │   test_two.py
10 │       │   
11 │       │   ...
12 ————————————————
13 版权声明:本文为CSDN博主「搬个小板凳儿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
14 原文链接:https://blog.csdn.net/qq_45731111/article/details/107839185

运行test_two.py文件,可以读取到folder文件夹下conftest.py定义好的前置、后置方法。
运行test_one.py文件,可以读取到folder文件夹下conftest.py定义好的前置、后置方法


权声明:本文为CSDN博主「搬个小板凳儿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45731111/article/details/107839185

  • conftest.py 测试用例的一些fixture配置
  • pytest.ini 它是pytest的主配置文件,可以改变pytest的默认行为
一般操作方法是结合 conftest.py文件+testcase+keywords文件+main.py文件
 
示例如下:
新建conftest文件,创建函数,配置浏览器打开的前置和后置操作,使用pytest的@pytest.fixture()装饰器把browser函数的driver当作传参,传递给后面的keyword使用

 然后创建keyword的package,创建keyword文件,创建关键字的驱动函数,用于给测试 用力testcase调用

 创建testcase目录及文件,这里是test_case_01

引入pytest,引入keyword关键字函数,BY方法

这里用 小写的xpath,而不是By.XPATH是因为BY的源码中By.XPATH=xpath,其他定位方式也一样

 这里的测试用用例直接就创建函数,传参为browser函数,browser函数的return是driver

实例化关键字函数,wk=WebKeys关键字函数,传入browser

然后调用关键字函数WebKey里的open\locator函数完成用例

最后创建main文件执行测试用例

 

思想方法:1、先优化底层代码

      2、对业务模块封装

      3、执行

posted @ 2023-08-08 17:29  琉璃星眸  阅读(61)  评论(0编辑  收藏  举报