method 和 suburl 是可变参数,直接写值就可以,你那样的写法是关键字参数,会并到 kwargs 里面去
我想了一会儿,还是一脸懵逼,就说 “不好意思,我不会 “,面试官就目送我走远了
我当时也想的,题目输入太不明确了,完全没有思路
同类的饮料重量一致,不同类的饮料可能一致可能不一致;x 和 y 也不是确定值
没太明白 ,题目太虚了
个人觉得接口的自动化测试属于质量体系建设的基础设施部分,至于方案的话什么合适用什么,jmeter 或者自己封装框架都可以
是的
如果集成 Jenkins 可以用 Jenkins 的 allure 插件,代码里的话可以用 subprocess 或 os 等模块去执行命令
这是 pytest 的 fixture 提供的一个参数,可以搜索 pytest 相关资料
希望能帮助到你
比如你的用例里面需要一个随机 uid 参数,你的代码逻辑里面有个 gen_uid 函数,你就可以在用例里面用类似 ${gen_uid()}的语法,这样用例的参数就是 gen_uid 函数的调用结果,当然需要先将 gen_uid 导入到相应的作用域里面
我这里只是举个例子,大家可以根据需要随便扩展语法
第一部分是把接口测试一遍,拿到测试数据,没有用 pytest 跑;第二部分是用测试数据和对应的 validator 动态生成测试用例(断言),然后用 pytest 去跑,生成 report
用 Counter
from collections import Counter
[k for k, v in Counter(a).items() if v == 2]
这个题考的是有向图和广度优先搜索吧
from collections import deque
import random
graph = {}
graph[1] = [2, 4]
graph[2] = [1, 3, 5]
graph[3] = [2, 6]
graph[4] = [1, 5, 7]
graph[5] = [2, 6, 8, 4]
graph[6] = [3, 9, 5]
graph[7] = [4, 8]
graph[8] = [5, 9, 7]
graph[9] = [6, 8]
def gen(n, start=1):
"""
创建一个图,保存其与周围节点的关系
创建一个队列,用于保存待check节点
创建一个列表,用于保存已经check过的节点
当队列不为空时,且步数小于n(可以理解为需要多少个节点就是走多少步)
求出没有check过的节点,然后从中随机选一个节点,直到队列为空
最后,如果所得结果小于n,说明没有满足n个节点的结果,否则返回正确结果
:param n: 节点个数
:param start: 开始节点
:return:
"""
q = deque()
q.append(start)
already = []
step = 0
res = []
while q:
data = q.popleft()
if step < n:
res.append(data)
already.append(data)
g = [x for x in graph[data] if x not in already]
if g: q.append(random.choice(g))
step += 1
if len(res) < n: return False
return res
我这里只是分享一种思路,而且我好像还没见到有人这样做过,要能帮助到大家更好,至于多的问题,没有普适,合适就好,我觉得大家都在根据实际情况做方案吧
对,allure 出来的报告好看而且比较全,追求轻的话可以借鉴它的前段代码自己定制下,删掉不要的功能
还真是 ,多谢
Set-Cookie: SESSION=0a8b0c82-bacd-4ee2-a338-c71d389c4b89;path=/;HttpOnly
,这是 response 的 cookies 信息
你好,这里的用例生成是指接口测试拿到结果后,自动生成 pytest 认可的、测试结果校验的用例,也就是我们用 pytest 做测试,手写的那些 test_xx 的方法形式的用例
1.单个接口通过 http 请求生成结构化的数据,这些数据最后汇总,以目录路径(可以理解为不同的 controller 下)为键,存储在一个字典里面
2.a.在个目录路径下自动生成.py 测试文件,内容见上文
b.测试文件中的测试类的 test_cases_data 存储了该目录下的.yml 用例的接口测试结果,在元类的作用下,它根据该属性生成各个接口
对应的结果校验测试方法
c.方法的生成见上文
d.如果项目集成了 swagger,可以快速生成一个项目用例编写的架子
大致就是这样
应该这么说,我只做专门的接口测试,也就是测试单个的接口,它的状态,边界值特殊值处理,结果校验等等,而不会去做诸如拿上一个接口的值去做下个接口的输入这种操作,应为我觉得这是系统集成测试要做的事情
你好,你把该功能模块的相关测试用例都放到一个类里面,该类用 allure.feature 来装饰,测试方法用 allure.story 来装饰
现在还比较粗糙,还不会。