# api_test_frame **Repository Path**: autoframe2021/api_test_frame ## Basic Information - **Project Name**: api_test_frame - **Description**: 码尚教育pytest接口自动化框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2023-06-19 - **Last Updated**: 2024-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **接口自动化测试规则:** **1、检查四个关键字:name,base_url,request,validate** **2、在request关键字下包含二格关键字:method,url** **3、传参方式:在reguest一级关键字下,通过二级关键字参数。**** 如果是get请求,通过params传参。 如果是post请求: 传json格式,通过json关键字传参。 传表单格式,通过data关键字传参。 传文件格式,通过files关键字传参,如: files: media:"E:\\api_frame_test\\logo.png" **4、如果需要做接口关联的话,那么必须使用一级关键字: extract** 提取: 如:json提取方式 extract: access_token: access_token 如:正则表达式提取方式 extract: access_token: '"access_token":"(.*?)"' 取值: 如: ${get_extract_data(access_token)} **5、热加载,当yaml需要使用动态参数时,那么可以在debug_talk.py文件中写方法调用** 注意:传参时,需要什么类型的数据,需要做强转。int(mix),int(max),如: # 获取随机数 def get_random_number(self,mix,max): return random.randint(int(mix),int(max)) 热加载取值: ${get_random_number(100000,999999)} **6、此框架支持两种断言方式:分别是equals和contains断言:** 如: validate: - equals: {status_code: 200} - equals: {expires_in: 7200} - contains: access_token **7、数据驱动使用csv和一级关键字parameters实现:如:** yaml写法: parameters: name,appid,secret,grant_type,assert_str: data/get_token.csv csv写法: name,appid,secret,grant_type,assert_str 获取access_token统一鉴权码,wx8cbefbfc3b8c2f3b,4fa4582bf6b362742f079a3b7709ccad,client_credential,access_token appid必填项检查,"",4fa4582bf6b362742f079a3b7709ccad,client_credential,errcode secret必填项检查,wx8cbefbfc3b8c2f3b,"",client_credential,errcode **8、日志监控,异常处理,以及基础路径的设置。**