首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Azure DevOps中运行邮递员

在Azure DevOps中运行邮递员
EN

Stack Overflow用户
提问于 2020-07-18 00:56:00
回答 1查看 3.4K关注 0票数 0

当在Azure DevOps管道上运行Newman时,我遇到了一个奇怪的问题。下面是对正在发生的事情的总结:

只在第一个locally

  • Pipeline上运行
  • 邮递员测试失败

代码语言:javascript
复制
    Post
    Test A
    POST XXXXX [500 Internal Server Error, 442B, 8.6s]
    1⠄ JSONError in test-script
    Test A Copy
    POST XXX [200 OK, 692B, 8.9s]
    √  Is Successful
    √  Status Code
    √  Status Message
    ---
     #  failure    detail                      
                                               
    1.  JSONError                              
                   No data, empty input at 1:1 
                                               
                   ^                           
                   at test-script   

这似乎并不重要,确切的测试是什么,它总是失败,如果它是第一个。为了证明这一点,我复制了失败的测试,现在我已经复制了

  • 测试
  • 测试复制
  • 测试B
  • 测试

F 218

突然间测试了一份副本。因此,这不是测试的内容,而是需要测试的第一个测试。所有这些测试都是POST的

测试A内容:

代码语言:javascript
复制
    var jsonData = pm.response.json();
    
    pm.test("Is Successful", function() {
        pm.expect(jsonData.IsSuccessful).to.be.true;
    })
    
    pm.test("Status Code", function() {
        pm.response.to.have.status(200);
    })
    
    pm.test("Status Message", function() {
        pm.expect(jsonData.StatusMessage).eql("Document insert successful.");
    })

没什么特别的,所以为什么在第一次运行(测试A)而不是第二次测试(测试A副本)时会失败。不管是哪个测试,如果我首先运行测试B,这将是失败的测试。

看起来,第一个请求是什么唤醒了服务器,然后一切都好了。

EN

回答 1

Stack Overflow用户

发布于 2020-07-21 07:12:06

我在Postman中运行Azure Devops Rest,并使用导出json文件在管道中运行邮递员测试

以下是我在蔚蓝管道中运行newman的步骤,您可以参考它们。

Step1:在PostMan中导出集合。

Step2:将Json文件(例如APITEST.postman_collection.json)上传到Azure。

Step3:创建一个管道并添加install Newman steprun Postman test step

示例:

代码语言:javascript
复制
steps:
- script: |
   npm install -g newman@5.1.2
   
  workingDirectory: '$(System.DefaultWorkingDirectory)'
  displayName: 'Command Line Script'

- script: 'newman run TEST.postman_collection.json --reporters cli,junit --reporter-junit-export Results\junitReport.xml '
  workingDirectory: '$(build.sourcesdirectory)'
  displayName: 'Command Line Script

或者与Newman the cli Companion for Postman任务一起运行(这是一个扩展任务)。

代码语言:javascript
复制
steps:
- script: |
   npm install -g newman@4.6.1
   
  workingDirectory: '$(System.DefaultWorkingDirectory)'
  displayName: 'Command Line Script'


- task: NewmanPostman@4
  displayName: 'Newman - Postman'
  inputs:
    collectionFileSource: 'TEST.postman_collection.json'
    environmentSourceType: none
    ignoreRedirect: false
    bail: false
    sslInsecure: false
    htmlExtraDarkTheme: false
    htmlExtraLogs: false
    htmlExtraTestPaging: false

Step4:运行管道,它可以显示与postman相同的api结果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62963523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档