当前位置: 首页 > 知识库问答 >
问题:

邮递员监视器在本地通过所有测试的请求失败

何乐
2023-03-14

我写了一个简单的邮递员集合,包含了一些针对API的请求,我用它来计算基于游戏的东西。

{
    "job": "PLD",
    "stats": {
        "WD": 109,
        "Strength": 2735,
        "DirectHit": 785,
        "CriticalHit": 2625,
        "Determination": 1075,
        "SkillSpeed": 1133,
        "Vitality": 3754,
        "Tenacity": 852,
        "Defense": 5737
    }
}
pm.test("Response is ok", function() {
    pm.response.to.have.status(200);
});

pm.test("Response Body has JSON with data", function() {
    pm.response.to.have.jsonBody("StatisticIntervals");
    pm.response.to.have.jsonBody("DamagePerSecond");
});

pm.test("Response Body has valid JSON Data", function() {
    var responseJSON = pm.response.json();
    pm.expect(responseJSON.StatisticIntervals.CriticalHit).to.be.ok;
        console.log("Critical Hit is OK");
    pm.expect(responseJSON.StatisticIntervals.DirectHit).to.be.ok;
        console.log("Direct Hit is OK");
    pm.expect(responseJSON.StatisticIntervals.Determination).to.be.ok;
        console.log("Determination is OK");
    pm.expect(responseJSON.StatisticIntervals.SkillSpeed).to.be.ok;
        console.log("Skill Speed is OK"); 
    pm.expect(responseJSON.StatisticIntervals.Tenacity).to.be.ok;
        console.log("Tenacity is OK");
    pm.expect(responseJSON.StatisticIntervals.Defense).to.be.ok;
        console.log("Defense is OK");
    pm.expect(responseJSON.DamagePerSecond).to.be.ok;
        console.log("DPS is OK");
})

这样,您应该能够重现问题--它将在本地工作,但使用监视器将不工作(我的API将响应400:Bad Request--这很好,但不是这个请求应该产生的)。

共有1个答案

洪星文
2023-03-14

运行以下请求:

curl --location --request GET "https://ffxiv-dps.herokuapp.com/dps" \
--header "Content-Type: application/json" \
--data "{
    \"job\": \"PLD\",
    \"stats\": {
        \"WD\": 109,
        \"Strength\": 2735,
        \"DirectHit\": 785,
        \"CriticalHit\": 2625,
        \"Determination\": 1075,
        \"SkillSpeed\": 1133,
        \"Vitality\": 3754,
        \"Tenacity\": 852,
        \"Defense\": 5737
    }
}"

在本地和监视器上产生相同的结果,即所有测试都通过。

 类似资料:
  • 我试图上传一个文件到我的服务器使用一个endpoint通过Spring公开。然而,当我试图通过邮递员测试api时,我得到当前请求不是一个多部分请求错误。我通过这个问题多部分异常:当前请求不是多部分请求,但仍然无法修复此问题。请帮助。提前感谢。 这是我的控制器: 我的服务: 正如您在下面看到的,我将文件作为表单数据发送,并且没有设置任何标题

  • 我使用Postman6.0发送HTTP请求。为了发送请求,我使用请求前脚本获取令牌并将其放入环境中,以便在后续请求中使用它。 下面的脚本不起作用,因为没有发送正文。下面的剧本有什么问题吗?

  • 我正在尝试设置邮递员预请求,以便在向服务发出每个请求之前获取 OAuth 令牌。 我尝试遵循与此相关的各种示例和指南,每个示例和指南似乎都非常简单,尽管由于预请求脚本失败,我的脚本仍然存在问题。 恐怕这在某种程度上与这样一个事实有关,即我需要调用的endpoint来获取令牌是在超文本传输协议上,而不是在https上,因为在Postman控制台中,我总是收到对同一个url的两个单独的请求,一个在ht

  • 如何调用POST API请求(具有用户名请求主体的登录API 登录API:POST方法;请求正文:用户名和密码;响应正文:令牌。获取客户记录API:GET方法;请求URI: /token/ 只想在邮递员的一个测试中涵盖这种端到端场景。任何人都可以帮我提供预请求脚本吗?我应该如何调用登录 API?

  • 我有一个对服务器的Authenticate post调用,如下所示: 用这样的尸体: 我总是必须在Postman中执行两次这个Authenticate调用,以正确填充我的全局var“安全令牌”,并在此后的下一次调用中使用该令牌进行身份验证,因此,似乎预请求脚本实际上是在脚本之后运行的,或者是预请求脚本中设置的全局var对当前请求不容易可用? 我做错了什么? 以下是预先请求的SRIPT:

  • 我有一个包含大量参数的GET请求,每当我通过浏览器点击它时,它都可以正常工作,但是每当我尝试通过Postman点击相同的请求时,我都会得到-"414错误-Request URI Too大|nginx"。这是一些奇怪的事情,因为我通过浏览器获取结果。请帮助。