php - 如何在 codeception 中的 accespance.suite.yml 文件中定义 browserstack 的安全 key

标签 php continuous-integration travis-ci codeception browserstack

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

现在,我能够在 travis.yml 中为 browserstack 插件成功定义安全 key ,但 Acceptance.suite.yml 文件还需要功能下的用户名和访问 key 。如何以安全格式定义该值,就像我们在 travis.yml 中定义的那样?

引用文档还显示了主机 URL 中纯文本中使用的用户名和访问 key 。但我需要这些值(value)观的安全。

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

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

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

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

现在,acceptance.suite.yml 文件也需要凭据,但我需要保守这些 secret 。

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'

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

最佳答案

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

使用带参数的动态配置

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

params:

- env

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

capabilities:

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

关于php - 如何在 codeception 中的 accespance.suite.yml 文件中定义 browserstack 的安全 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43366601/

相关文章:

php - 没有重复记录的内部连接

azure-devops - Azure DevOps : how to trigger a release upon pull request being completed?

javascript - 如何访问 Travis CI 中的环境变量

php - 从 Shopify 商店卸载应用程序后,从 PHP 应用程序中删除商店详细信息

php - 使用 gems 从 PHP 运行 ruby​​ 脚本

javascript - 如何使用ajax发送图像和数据

docker - 在Docker容器中运行VSTS构建作业

git - 创建一个 git post-receive 触发器(应该适用于 Mac OS X 上的 Xamarin Studio)

ios - 带有运行 xcodebuild 测试矩阵的 Travis-CI

java - 为什么 Travis CI 认为我的代码是 Java 1.3,以及如何修复它?