前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台番外-正交工具4

接口测试平台番外-正交工具4

作者头像
我去热饭
发布2022-05-19 10:29:24
2700
发布2022-05-19 10:29:24
举报
文章被收录于专栏:测试开发干货

我们本节需要进行后端代码的编写,打开zhengjiao.html:

我们上节已经成功提取了数据,接下来去写一个请求:

请求中,我们传递的这个参数,变成字符串格式即可。

然后去urls.py中架构好映射:

最后去views_tools.py中写好这个 函数:

我们先写成这样。接收参数后看一下,它长什么样:

数据如下:

后台显示如下:

可以看到 是一个列表。

接下来就是正交的算法了,我尽量讲的明白一些,大家能听懂就听,听不懂也没事。

首先正交算法是又一个第三方库的:

代码语言:javascript
复制
allpairspy

通过pip 即可安装。这个引入要这么写:

这里我们要注意一下,实际上,我们前面html中得到这个end_keys,是没有什么意义的,简单来说,就是没用。正交并不关心这个输入叫什么。

所以在我们的正交算法中,用到的只有 end_values

这个AllPairs方法呢,需要的是一个二维列表,每个元素就是一个输入条件,这个元素本身也是列表,这个子列表的每个元素就是这个输入条件的子状态。

所以我们要把目前的这个end_values,再进行改造:

重启服务后,我们再次打印如下:

这时候,就可以直接使用这个正交库方法了:

我们做了一个循环,打印一下,看看里面的是什么?

结果如下:

没错,这就是正交生成的最终用例,每个i就是一个用例,每个元素就是对应输入条件此刻应该生效的子状态。

我们现在要做的就是把这个二维数组,返回给前端页面,为了保证原始构造,我们仍然放到一个字典中返回:

代码语言:javascript
复制
# 正交工具运行
def zhengjiao_play(request):
    end_values = request.GET['end_values'].split(',')

    new_values = [ i.split('/') for i in end_values ]

    res = []
    for i in AllPairs(new_values):
        res.append(i)

    d = { "res" : res}

    return HttpResponse(json.dumps(d),content_type="application/json")

我们返回前端js中,接收下:

打印了一下,看看前端收到的对不对:

可以在console中看到,一切正常!

到这,我们的后端就算实现成功了。很简答对不对。

下一节,就是把这个结果,显示到页面给使用者看喽~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档