测试前准备:
1、项目的介绍
是一个什么项目、项目技术、项目要测的接口和业务流程、业务路径=测试用例(通过业务流程来梳理业务路径)
2、链接和登录密码:
客达天下http://huike-crm.itheima.net/#/clue
客达天下账号admin,密码:HM_2023_test
3、理解前端(客户端),后端(服务器),以及前后端分离
一、项目介绍
1、客大天下是什么
- 一款销售管理系统
2、客达天下有什么?
- 技术:前后端分离
- 业务:合同管理、课程管理、活动管理等
3、客大天下测什么接口:
- 合同管理业务
- 课程管理模块
三、业务场景测试和(业务路径)测试用例
1、如何测试业务接口?
根据业务流程图梳理业务路径
设置测试用例覆盖每一条路径
2、测试用例的编写
四、新增合同成功的测试用例
1、获取验证码
2、登录
{"username":"admin","password":"HM_2023_test","code":"2","uuid":"80c23c617c1148de92557595b5d659b7"}
3、添加课程成功
4、上传合同成功
注:图2 的get要改为post
5、合同添加成功
6、合同查询列表
五、批量执行(对新增合同成功测试用例批量执行)
点击测试集-点击run
六、单接口测试
1、登录接口的测试用例
2、断言
3、其他接口略
七、接口自动化流程
1、搭建自动化测试环境
Python+pytest(业务和单接口用例的管理)+requests
2、安装requests
pip3 install requests
3、自动化测试的目录框架
apiTestFramework | 项目名称 |
api | 定义封装被测接口 |
script | 定义测试用例脚本 |
data | 存放测试数据文件 |
report | 存放生成的测试报告 |
common | 存放通用工具类 |
config.py | 定义项目的配置信息 |
pytest.ini | pytest配置文件 |
4、requests发送请求
requests.请求方法(URL,params=None,data=None,json=None,headers=None)
params:请求查询参数
data:请求头为form表单参数
json:请求体为json参数
5、response查看响应
response.status_code | 查看响应状态码 |
response.json() | 查看json形式的响应结果 |
response.text | 文本形式的响应内容 |
八、自动化测试脚本
1、获取验证码接口和登录接口(script-test01和test02)
2、新增合同业务流程(scrpt-test03)
3、接口的封装(api)
4、单接口测试
5、单接口测试时数据驱动的实现
九、Python的难点
1、类属性和对象属性
class MyClass:
class_attribute = "This is a class attribute" # 定义一个类属性
def __init__(self, value):
self.instance_attribute = value # 定义一个对象属性
2、类属性和实例属性在类方法中的调用
类属性:Myclass.class_attribute
对象属性:self.instance_attribute
3、类对象和类实例对象的创建
-
self.login_api = LoginAPI()
是将一个LoginAPI
的实例赋值给一个类的实例属性,这个属性属于类的每个实例,并且可以在类的任何方法中使用。 -
login_api = LoginAPI()
是将一个LoginAPI
的实例赋值给一个局部变量,这个变量只在定义它的作用域内有效。 -
将一个类的方法在另一个类中调用的步骤:1、在另一个中创建第一个类的实例2、通过实例调用方法:
-
类和方法:FirstClass(first_method),SecondClass
-
class SecondClass:
def __init__(self):
# 步骤3: 在第二个类中创建第一个类的实例
self.first_class_instance = FirstClass()def call_first_method(self):
# 步骤4: 通过实例调用方法
result = self.first_class_instance.first_method()
return result
-
-
在一个类的方法中调用这个类属性的操作:
-
Myclass.uuid
-