如何在 codeception 的 accespance.suite.yml 文件中为 browserstack 定义安全密钥

How to define secure key for browserstack in accespance.suite.yml file in codeception

我正在尝试 运行 我的测试使用带有 browserstack 插件的 TravisCI。 测试用例是用代码编写的。

现在,我可以在 travis.yml 中为 browserstack 插件成功定义安全密钥,但 acceptance.suite.yml 文件还需要用户名和访问密钥。如何以我们在 travis.yml?

中定义的类似方式以安全格式定义该值

参考文档还显示了主机 url 中纯文本中使用的用户名和访问密钥。但我需要这些价值观的安全。

我可以通过在 travis 文件中创建 env 变量来做到这一点,但我不明白如何访问这些变量?每次它都给我一个错误 -

[Facebook\WebDriver\Exception\UnknownServerException] 用户名或密码无效

以下是我在 Travis 文件中对 Browserstack 的附加设置。

addons:   browserstack:
    username: "username"
    access_key:
        secure: "secure-key"

现在,acceptance.suite.yml 文件也需要凭据,但我需要保密。

class_name: AcceptanceTester
modules:
    enabled:
        - \Helper\Acceptance
        - WPWebDriver
    config:
          WPWebDriver:
            host: 'hub-cloud.browserstack.com'
            port: 80
            browser: 'firefox'
            url: 'http://localtest.me'
            adminUsername: ''
            adminPassword: ''
            adminPath: '/wp-admin'
            capabilities:
               'browserstack.user': 'username'
               'browserstack.key': 'I NEED SECURE KEY HERE'
              'os': 'OS X'
              'os_version': 'sierra'
              'browserstack.debug': 'true'
              'build': 'Build_01'
              'project': 'Automated_1'
              'browserstack.local': 'true'

如有任何帮助,我们将不胜感激。

我找到了访问环境变量的方法。

使用带参数的动态配置

如果您使用环境变量,则需要在 codeception.yml 文件中声明环境部分。在 codeception.yml 文件中添加以下行。

params:

- env

现在,我们需要在 acceptance.suite.yml 文件中访问 Browserstack 的环境变量。

capabilities:

          'browserstack.user': 'username'
          'browserstack.key': '%BROWSERSTACK_ACCESS_KEY%'