API接口自动化测试学习跟进(pytest+requests+BDD)


1、学习方向整理】

2022-03-29 10:50

----------模拟接口请求,用到requests库的方法
res=request.post(url,data,header)

#查看响应结果,提取响应报文的数据
print(res.text)

#断言校验

------------接口测试的feature文件,怎么描述1个scenario
前置条件:无/有的话就加上
动作 发送对应的post请求
并且 获取响应报文
期望结果;校验响应内容是否满足预期

--------若使用BDD关联测试场景的话,接下来是对setup define编码

@given

-------提取测试用例的变量,设置变量值(并丰富测试数据,验证不同的输入场景)
Express |username|pwd|
|81881203|81203|
|81881203|81202Error|

这种模式看,确实各个模块的功能很清晰,
最主要的是,最终很清晰的呈现出已覆盖的测试场景,未覆盖的测试场景。

-----生成测试报告,查看测试报告

-----二次封装:提取出常用的方法(关键字驱动)
-----接口的关联机制

参考:虚竹老师在B站 https://www.bilibili.com/video/BV1ju411f7ty?p=7&spm_id_from=pageDriver

2、pytest+BDD   在pytest如何应用BDD管理测试场景\测试数据】

----------加入BDD
导入pytest-bdd
#对于非测试人员,可以用自然语言来编写它,只需要掌握Gherkin的关键字
在BDD里首先编写描述文档(.feature格式,这个文件由BDD解析)

login.feature
Feature: 功能描述:内网BSS论坛-登陆功能
Scenario:场景1-正常登陆
Given有1个账号:admin,密码123
When 输入用户名和密码
And 发送登陆请求
Then 判断用户是否登陆成功
Scenario:场景2-密码不正确,登陆失败
setup_define_BDD_test.py 1小时4分
from pytest_bdd import given

@given #装饰器



创建feature文件--》 setup define编码对场景支撑
----------------熟悉feature文件的格式,关键字。。

参考:https://www.bilibili.com/video/BV1J44y1k75C?spm_id_from=333.337.search-card.all.click