我们的项目中有一种情况,我们需要在不同的Api测试用例中访问相同的方法。目前我们在每个Api测试用例中都复制粘贴了所有这些方法。是否可以通过常用方法制作这些方法并从中进行访问?
可以将这些方法存储在Global变量中。它在Postman中可以正常工作,但在纽曼跑步时失败了。
答案 0 :(得分:2)
你有两种方法可以解决这个问题 - 他们都是" hacky"而且我的意思是它们是Postman允许你为其他目的做的副产品。
我发现一个hackish解决方法是包装你想要分享的功能 跨越全局对象内的测试。在您的第一个预请求脚本中 它看起来像这样:
// window.{name of wrapper}
window.Utils = {
percentChange: function(val1, val2) {
return (((val1 - val2) / val2) * 100).toFixed(2) + '%';
}
};
在没有调用该函数后运行的所有测试中 需要放置窗口'在它之前
Utils.percentChange(responseTime, newTime);
我实际上无法设法让它工作,而且我的情况不可行,因为我想创建一个只定义一次然后在任何请求中可用的框架。
一位博主 - 抱歉我现在找不到原来的博文 - 提出了一种我最终成功使用的方法。 编辑:The almost exact solution is showcased on a blogpost (TIP #5: reuse code)在邮政官方博客上。
2.1创建可重用的代码,然后将其存储为环境或全局变量。
2.2在预先请求或测试脚本中,对您在上一步中定义的变量调用eval
。
NB :这两种方法都存在一个主要问题 - 调试问题或更改已存储的可重用代码。当我需要确定可重用代码的不一致行为来自哪里时,我一直在努力解决这个问题。基本上,我最终使用了console.log。