【问题标题】:How to call postman collections dynamically via newman commands or from selenium with java?如何通过 newman 命令或使用 java 从 selenium 动态调用邮递员集合?
【发布时间】:2018-09-23 19:28:34
【问题描述】:

我的邮递员集合很少(例如 CreateA.json、CreateB.json 等等),我想按照工作表中提到的顺序通过 newman 多次动态调用这些集合。如何按给定的顺序调用这些包?

CSV 工作表顺序为:

  • Row1 CreateA.json
  • Row2 CreateB.json
  • Row3 CreateA.json
  • Row4 CreateB.json
  • Row5 CreateA.json

【问题讨论】:

    标签: java json selenium postman newman


    【解决方案1】:

    根据文件结构,可以使用以下脚本

    案例 1:在换行符上包含所有集合名称的文本文件

    CreateA.json
    CreateB.json
    CreateC.json
    

    要使用的 Bash 脚本:

    cat file.txt | xargs -n1 newman run
    

    案例 2:所有集合名称都在换行符上的 csv 文件

    collectionName
    CreateA.json
    CreateB.json
    CreateC.json
    

    要使用的 Bash 脚本:

    awk 'NR>1' file.csv | xargs -n1 newman run
    

    案例 3:具有多列的 csv 文件

    rowNum,collectionName
    row1,CreateA.json
    row2,CreateB.json
    row3,CreateC.json
    

    要使用的 Bash 脚本:

    awk 'NR>1' test.csv | xargs -n1 | cut -d "," -f2 | xargs -n1 newman run
    

    解释:

    • xargs 用于从标准输入构建执行管道。 newman 不能只接受来自标准输入的集合名称,因此使用 xargs 将名称传递给它。还使用 -n1 一次最多将 1 行传递给 newman
    • awk 'NR>1' fileName 很简单,只是跳过第一行
    • cut -d "," -f2 用于分割, 上的行并取2nd

    【讨论】:

    • 嗨,Harry,非常感谢您提供了如此好的解释,但还有一件事我想知道如何通过我的另一个文件传递该邮递员集合所需的参数?如果您能解释我们如何使用 {awk 'NR>1' test.csv | xargs -n1 |剪切 -d "," -f2 | xargs -n1 newman run} 命令?
    • 我很高兴能够提供帮助。要传递参数,只需使用newman run collection.json -d dataFileName.csv 此处提到的github.com/postmanlabs/…
    • 另外,我已经对我使用的术语进行了非常基本的解释。要了解更多关于它们的信息,只需分别在谷歌上搜索每个术语并练习一下即可。
    【解决方案2】:

    您可以编写简单的 bash 脚本,该脚本将逐个运行每个集合。要多次运行收集,您可以使用选项“-i”。
    例如。 newman run collection -e environment -n iterations_count

    【讨论】:

      猜你喜欢
      • 2017-02-11
      • 2019-12-14
      • 2019-03-28
      • 2017-11-22
      • 2021-01-08
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多