requests接口自动化-数据库参数化】的更多相关文章

数据库参数化的场景 部分接口,参数其他方式获取不到,可以去数据库去获取,如手机验证码 安装pymysql 配置文件 def sql_conf(): # 定义数据库的配置 host='127.0.0.1' user='root' password='123456' database='employees' port=3306 charset='utf8' return host,user,password,database,port,charset 定义get_mysql方法 import pym…
在数据量大的时候,需要使用文件参数化. excel文件是其中一种. 安装xlrd读取excel文件.(这里是在pycharm安装) 发现选择豆瓣安装失败,阿里云安装成功. 准备excel文件,放在test_data目录下 字典数据 在common目录下定义函数 import xlrd def get_excel_row(row): #row为第几行 excel=xlrd.open_workbook('../test_data/usermessage.xlsx') #使用相对路径,不要使用绝对路径…
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程是什么? 确定接口测试使用的工具----->配置需要的接口参数----->进行测试----->检查测试结果----->生成测试报告 测试的工具:python+requests 接口测试用例:excel 一.接口框架如下: 1.action包:用来存放关键字函数 2.config包:用来…
前言: session:用requests.session()创建会话,可以将会话信息传递给其他接口 cookie:用RequestsCookieJar或者cookie字典传递cookie信息 fildder请求响应内容: 代码: import requests from requests.cookies import RequestsCookieJar #登录 #form表单形式的post请求,用data传参,Content-Type: application/x-www-form-urlen…
前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目框架,只能帮你们到这了. 一.项目结构 1.新建一个工程(一定要创建工程),工程名称自己定义,如:yoyo_jiekou 2.在工程的跟目录新建一个脚本:run_main.py,用来执行全部用例 3.在工程下创建以下几个pakage包: --case:这个包放test开头的测试用例,也可以放一些封装…
原文地址https://www.cnblogs.com/yoyoketang/tag/python接口自动化/ 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址https://www.cnblogs.com/yoyoketang/p/7259993.html 前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违法职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目…
def server_ip(): # 配置文件,通过修改配置,在不同环境进行测试 # dev_ip='https://www.baidu.com/' # sit_ip='https://cn.bing.com/' # 使用字典形式的参数化 server_address={ 'dev_ip':'https://www.baidu.com/', 'sit_ip':'https://cn.bing.com/' } # return sit_ip return server_address['dev_i…
最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import requests import json #1.不带参数的get请求 response1 = requests.get("http://www.luckyframe.cn/login") print("响应码:"+str(response1.status_code)) print(…
断言,自动判断接口返回的结果与预期结果是否一致 from common.get_mysql import * def test_assert(): a=0 b=1 # assert a,'断言失败打印的信息' # 自定义断言失败打印的信息,用逗号隔开 assert not a,'断言失败打印的信息' assert b,'断言失败打印的信息' c='c' d='adacde' e='aeewd' assert c in d,'断言失败打印的信息' assert c not in e,'断言失败打印…
动态关联,前一个接口返回的值为后一个接口请求的参数. # 动态关联 import requests def test_cookies(): # 以百度为例 r_baidu=requests.get('https://www.baidu.com/') print(r_baidu.cookies) 直接获取的cookies,似乎是这个值.这个是Request Cookies 提取text格式内容 以前程无忧为例 查看响应返回的数据格式 提取url import requests import re…