首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python接口测试:在一个例文件中调用另一个例文件中定义的方法

简单说明 在进行接口测试时,经常会遇到不同接口间传递参数的情况,即一个接口的某个参数需要取另一个接口的返回值; 在平常写脚本过程中,我经常会在同一个py文件中,把相关接口的调用方法都写好,这样在同一个文件中能够很方便的进行调用...,需要调整很多地方; 所以,当我们在一个例py文件中写好某个接口调用方法,后续如果在其他py文件中也要用到这个接口的返回值,则直接引用先前py文件中定义好的接口调用方法即可。...实例 接口功能说明: A接口--调用A接口可以生成一条数据,每条数据对应一个id B接口--调用B接口可以返回一条数据的详情,但是调B接口时,需要一个必要参数即数据id 1、新建一个py...:CreateActivity, 继承自unittest.TestCase 然后在setUp方法中进行了一些必要的初始化工作 最后创建了一个名为push_file_download的方法,它的作用就是调某个接口...,来生成数据 2、新建另一个py文件,例如test_B.py 内容如下 import unittest from create_activity import CreateActivity

2.8K40
您找到你想要的搜索结果了吗?
是的
没有找到

怒了,不解读广告,解读另一个送钱的接口

话说,除了这个广告组件,其实有个新功能花叔觉得挺厉害、也挺能表达微信团队诚意的,那就是《内容安全接口》,为啥这么说呢?...每天10万次接口调用,包月费用就要4500块钱。...所以微信团队这个“内容安全接口”是在给个人和小企业们送福利啊,要知道官方对这个“内容安全接口”的限制是(必须加红加粗): 单个 appId 调用上限为 1000 次/分钟,100,000 次/天 意思是...,免费让你一天调用10万次,一个月300万次,你们可以按腾讯云的收费标准算算这应该要多少钱!...(开玩笑的,主要还是因为花叔没被内邀,心中有怨恨) 好了,说完好处,说说用法吧: 一句话就说完了,这是开发者服务器与微信服务器之间发起的接口,请求链接如下: https://api.weixin.qq.com

1.6K20

接口例设计

在设计接口例设计时,除实现功能外,应关注:幂等性、空校验、流程节点限制、异常校验。 ? 01 幂等性 何为幂等性? 幂等为一数学概念,指使用相同参数重复执行,能获取相同结果。...如何使接口幂等性? 首先引入一个概念—唯一索引,一句话介绍:数据表中每个唯一索引对应的数据记录只会有一条。...假如去掉前置非空校验,首先会生成一条初始化状态的打款单据,然后打款接口内部中有一套复杂的后续执行逻辑,转入个人余额、记账、提现等,当真实和三方打款交互时,由于金额为空而报错。...可根据系统本身功能、其他接口依赖情况、依赖下游接口参数判断。具体来说,例如一个简单的积分充值接口,积分币数量不可空。从系统本身来说,无充值数量此充值单据即无意义。...对非空参数依次传空,观察接口调用情况。 当然,首先需明白业务逻辑,从而进行例设计。尤其对于参数复杂的接口,当某一条调用规则下 某些非空参数就需要作为必传了。

1.6K31

python实现接口测试(三、天气查询接口

一般来说做接口测试,我们应当手上能够拿到后台开发提供的接口文档,但是我今天给大家找的是网络上的案例,学习的同学可以一起看看。...天气查询接口页面 二、在天气查询接口页面点击“getSupportCity”,字面意思去理解获取支持的城市,显而易见是一个查看系统支持哪些城市的接口方法,在编辑框输入城市或地区名称,如输入“广东”,点击调用...第一行拼接我们需要访问的接口地址,那么我们来看看接口地址怎么得到的呢?...当然我们的脚本里是什么都没传,也就是表示传的是个空值,在接口说明里提到了这样的话:"输入参数:byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市;返回数据:一个一维字符串数组...那么我们如果要传递一个具体的城市名称呢?

1.2K30

如何开发一个接口_网站接口开发

2 把参数名和参数值连接成字符串,得到拼装字符:a1b2c3_timestamp12345678 3 申请到的appkey 连接到接拼装字符串头部和尾部,然后进行32位MD5加密,最后将到得MD5加密摘要转化成大写...———————————————————————————— 总结: 接口调用方和接口提供方约定好统一的参数加密算法 接口调用方在调用时把加密后的_sign放在参数中去请求接口 接口提供方接到响应后,判断时间戳是不是在有效时间内...(这个时间间隔根据你的安全范围可以是10分钟,5分钟,20秒等,过期失效,前提是需要保证接口提供方和调用方的服务器时间为准确的网络同步时间) 把参数中除了_sign以外的参数进行加密,然后把加密结果和传过来的

86010

接口测试平台代码实现80: 多接口例-20

首先我设计raw-Json的格式: 然后代码是: 注意,这里的是repr() 并不是str() 然后看看报告: 没问题,qid变成了字符串,en是整形。...然后我们运行一下该用例,看看输出: 可以看到,因为我们第一个接口是真实的,返回的是json串,第二个接口是我们随便写的,报了404,返回的是一个html大段落。...大家仔细阅读三种规则,然后在我们依次实现之前,要修复一个bug!!!...首先是断言路径法: 我们就拿第一个步骤接口做实验: 我们之前章节的数次测试可以知道这个queryid的值并不是123456,我们这个故意写错的。...代码实现: 我们来运行下看看结果: 这里例不出意外的失败了,爆出了 值不等 的失败详情。 今天就到这里了。大家多消化消化,不要着急。

24030

接口测试平台代码实现65: 多接口例-5

我们继续开始开发小例的数据层。 models.py如下,新增DB_step,我们从这开始,把小例 或者说接口,称为步骤。...一个大用例 含有多个步骤step 组成,步骤有执行顺序,本体是一个接口,额外还有提取返回值/断言返回值的 设计。...,并且所属于我的第一个大用例下。...然后我们去修改urls.py,把这个获取小例的接口给完善好: 然后去views.py中写好对应函数: # 获取小例步骤的数据 def get_small(request): case_id...然后请求接口,获取目标步骤列表后,写个循环。循环体内会给小div 增加一个一个的小步骤。 然后让我们删除之前方便展示的小demo,变成下面的样子。 然后我们开始补全这个js中循环体的部分。

20420

接口测试平台代码实现78: 多接口例-18

注意:因为有些接口返回值并不是json格式字串,而路径法又只能是识别提取json格式。 为了方便调试,我这里要用一个真实的接口进行测试。大家也可以找找可调通的其他接口做测试。...我们新建一个大用例和其小步骤,并套用这个接口库的接口: 然后我对其的路径法提取设置为: 提取那一串0xc5e...并设计其的对象名为qid 我们在run_case.py中先试着把这串设置提取出来...所以for循环遍历每行,这个i就是每行,然后再对其=号分割,左边就是我们的对象名字key,右边就是路径值path。...所以我们还有另一个办法,我们不要让url显示这么长就好了。...这个操作我在后台进行切割比较易于理解,前端html我们重新设置宽度比例吧: 我们找到进入例库页面的后台函数中控制数据的函数child_json: 我们给每个接口api,都新增了一个short_url

22020

接口测试平台代码实现64: 多接口例-4

上节我们成功的搞定了大用例的 增加/删除/复制功能 本节我们计划搞定设置大用例功能, 也就是: 点击设置按钮,左侧弹出小例(接口) 列表+接口列表相关的数据层实现。...然后我们去点击 大用例b的设置,这个div 我们做了一个动画效果,就是先快速撤回到左侧屏幕之左,然后再快速滑回来,这个过程中把小例列表给切换成大用例b的了,走的else。...而这段用来展示的js 就相当于一个刷新功能了,只是属于局部div刷新,并不是刷新整个页面。...但是具体效果我们可以先在html里写死俩个,效果调好了,我们在用js实现,最后删掉这俩个展示的小接口html代码 即可。...这个左侧大div中,我们设置了三个按钮,然后还有一个真正装小例列表的div,这个小div就是我们后续js控制刷新展示的div。

45530

接口测试平台代码实现79: 多接口例-19

上节中,我搞定了提取数据的持久化 所以现在我们来测试一下: 准备俩个步骤接口,第一个仍然是昨天例子那个可以通的x度接口。...第二个可以不通,不是真接口,主要验证在url/header/body中 是否能成功接收并代入第一个接口的返回值qid和en: 注意上图,我在其中6处加上了替换的占位符。...其实这是我上节故意埋下的一个坑,原因是想让大家深刻的知道一个unittest的特性,就是各个test小例函数之间是无法通过类变量或其他局部变量 互通数据的,这样也保证了各个小例的独立性,符合高内聚/...这点是和我们自己写的普通类,各个子函数之间类变量互通数据是完全不一样的。这个问题,我在很久之前写过专门的博客来曝光,但是不少同学印象不深刻,所以在这里我埋了这个坑。...不信的可以去postman试试看。那么我们代码中要怎么处理呢? form-data这种,都要忠实的把全部内容拿过来当作字符串值才对。并且是强行转变成字符串。

25920

接口测试平台代码实现84: 多接口例-24

run_case.py,在demo函数中,我们原来的流程是这样的: 现在我们要给改下,加个判断: 代码中这么改: 这个else包含的内容直到 这里: 然后我们重启服务,运行下看看: 我实验的仍然是这第一个...这里只输出了返回体,因为mock的接口没必要关心它的请求数据了,反正没有真实的请求。 但是这条例算报错了,因为我们提取返回值的代码中,没有办法对这区区一句话进行求值并且提取。...本节结束,但是我们这段demo代码的容错性和健壮性都还远远不足,一个不规范输入就会引起用例报错,并且报错日志可读性不高,所以下节课我们会进行多用例模块的最后一节收尾章,会对此函数进行优化。

16420

接口测试平台代码实现77: 多接口例-17

剩下的代码大概有几部分: 提取步骤所有请求数据和断言/参数化提取 设置 检查请求数据中是否有需要进行承接上一个接口返回值参数化的字段,有则替换,无则过。...进行requests请求,拿到返回值 对返回值进行参数化提取和断言 其实这里我们要对所有接口的请求参数中,需要获取到之前接口提取的参数的字段的值,进行标记或者说占位准备替换,就好比html中,我们 {...在后续接口的请求url/body/header中,##name## 和 ##id## 来占位。 比如 url 写:/aaa/bb?...index=zsd&uname=##name##&uid=##id## 然后经过第一个接口请求后,提取真实结果,并替换就变成来: /aaa/bb?...然后我们继续另一个提取正则法的规则设置: 如上图,我们等号右侧采用 左边界(.*?)右边界的方式存储。这样我们代码中实际提取的时候 也方便了很多。 好了,本节到此结束。

41620

接口测试平台代码实现71: 多接口例-11

本节节奏稍快: 首先是保存按钮加一个onclick 指向保存函数: 但是我们发现,其实早就写好了,保存和取消按钮都指向这个关闭的函数。...只不过保存按钮的话,会先发送一个请求去保存,然后再关闭,那我们就直接在这里开始写这个保存代码吧。...其实大部分代码仍然是去接口库保存接口的js函数中复制粘贴,然后改改: 这段代码改动很大,所有的ts_都换成了step_ 而且api也换成了step。为避免出错。...测试一下: 这是我们的前端写的一个步骤数据: 然后我们点击保存按钮。 并没有任何报错。...问题就是:我们获取到的步骤中 请求体类型是 api_body_method,但是js函数中却ret.body_method来获取,所以当然获取不到: 所以我们先改好: 然后再刷新页面测试下: 发现成功了

51430

接口测试平台代码实现81: 多接口例-21

本节开始之前,需要改正一个小bug,是群内同学提出的。就是正则断言的时候,提取的都是字符串,那么预期值就也写字符串就好了,没必要进行求值类型的设计。...我们运行下看看报告: 发现程序并没有成功走到我们的正则断言上,因为unittest的步骤函数中,一旦断言失败,那么该条例内的代码便不再继续走了。...还有一个不存在的字符串:测试开发干货 注意,别忘了删除上面的断言哦~ 否则又运行不到这个全文检索了: 别忘了保存!!!...然后是 代码部分: 重启服务,运行结果: 好了,这里结束,我们基本搞定了这俩个提取和三个断言, 下节我会讲讲输出优化和接口mock的小功能。...临时追加一个群内小伙伴提出的被忽略的设置,就是时区,django默认时区并不是中国的,这会影响到我们报告生成时间的时区,导致早了8小时。

20220

接口测试平台代码实现62: 多接口例-2

本节内容,我们搞定这个多接口的大用例 列表相关吧,难度基本为0,都是我们之前用到过的。...但是可惜的是微信群创建不到一小时就满200了,然后就需要通过邀请进群了,小伙伴可以加我vx: qingwanjianhua 然后我邀请你进群,群里聊天异常火爆~ 首先打开P_cases.html: 我们去复制之前的接口库的列表...暂时先设计成这样,这是一个大table表格,表头就一行没啥特殊的,表体一行一行的 都是靠这个for循环 展示出来的。...看看效果: 好的,我们去后台找到 进入这个例库 的函数: 这就是我们之前设计的 函数。...然后我们重启服务 刷新页面 ,来回切换下接口库 /例库 ,发现没问题来,项目名称也显示了。 然后我们本节最后,添加一个新增例的按钮: 放在了这个列表的最下方。

22530
领券