【问题标题】:Passing Node.JS run params via Travis CI API通过 Travis CI API 传递 Node.JS 运行参数
【发布时间】:2021-04-26 17:02:36
【问题描述】:

我正在尝试使用 TestRail + Travis CI + 一个基于 Selenium 的测试应用程序为我的公司设置一个漂亮且可定制的测试环境。我希望能够使用 Travis CI Api v3 来触发 Node.JS 应用程序运行。理想情况下,我可以在 API 请求中指定一个 电子邮件/密码,Node 应用程序将使用它来执行所有测试。我将使用 TestRail 的 UI 脚本以正确的参数触发 Travis CI Api。

目前我在 package.json 文件中有很多 scripts 在某些环境中运行测试。 conf.js 文件解析这些参数并相应地设置应用程序。

"test:susa:prod:b2c": "node node_modules/protractor/bin/protractor ./conf.js --disableChecks=flag --params.region=susa --params.run=prod  --params.app=b2c --params.conf=headlesschrome",
"test:susa:qa:admin": "node node_modules/protractor/bin/protractor ./conf.js --disableChecks=flag --params.region=susa --params.run=qa --params.app=corp --params.conf=headlesschrome",
"test:susa:prod:corp": "node node_modules/protractor/bin/protractor ./conf.js --disableChecks=flag --params.region=susa --params.run=prod --params.app=admin --params.conf=headlesschrome"

如果我也可以通过 Travis CI Api 传递这些 params 那就太好了。

【问题讨论】:

    标签: node.js protractor travis-ci testrail


    【解决方案1】:

    从未在 Travis 工作过,但我可以想象它和 Jenkins 一样。

    那么我会从下到上在 Jenkins 中做什么:

    • 确保量角器可以接受参数(任何:电子邮件、密码、环境、用户角色(如果需要))。一种方法是您正在使用--params.var 标志。但是限制,您不能使配置文件可配置,因为当浏览器启动时变量变得可用。另一种方式是https://stackoverflow.com/a/66128729/9150146限制,不同操作系统设置环境变量的方式不同

    • 在 CI 工具中设置可配置的作业。这项工作需要有参数输入——下拉菜单、文本字段、复选框——任何适用的。该作业会将这些参数传递给量角器,最终 shell 脚本将运行节点进程。例如:

    protractor config.js --params.user="${USERNAME}" --params.password="${PASSWORD}"
    

    基本上你要做的是几个任务(层),你只需要正确识别它们,然后一个一个解决

    【讨论】:

    • Bullet item 2 看起来像是我需要尝试的。我目前正在使用参数输入来配置应用程序(在 OP 中有详细说明)——我需要更多地使用这些参数来传递用户名/密码字段。你知道是否可以通过 Travis 的 API 发送这些参数?
    • 我不知道,我没有使用 Travis,但我想它应该是任何 CICD 工具的主要功能之一
    猜你喜欢
    • 1970-01-01
    • 2018-03-14
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    相关资源
    最近更新 更多