我在我的配置中提供'sauceUser'和'sauceKey'但是我说我正在尝试使用用户名'None'进行身份验证并访问密钥'None'

Pat*_*eld 8 angularjs saucelabs appium protractor ionic-framework

我正在尝试测试使用Ionic编写的移动应用程序,因为Ionic基于Angular,我想使用Protractor编写测试并使用Saucelabs Appium在移动模拟器中运行测试.我使用命令调用量角器:

SAUCE_USERNAME=$(SAUCE_USERNAME) SAUCE_ACCESS_KEY=$(SAUCE_ACCESS_KEY) ./node_modules/.bin/protractor protractorConfig.js
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

UnknownError: Sauce Labs Authentication Error.
You used username 'None' and access key 'None' to authenticate, which are not valid Sauce Labs credentials.
Run Code Online (Sandbox Code Playgroud)

我的protractorConfig.js包含:

/* global exports */
/* global process */
exports.config = {
  sauceUser: process.env.SAUCE_USERNAME,
  sauceKey: process.env.SAUCE_ACCESS_KEY,
  capabilities: {
    appiumVersion: "1.0",
    app: "sauce-storage:app.zip",
    platformName: "iOS",
    platformVersion: "7.1",
    deviceName: "iPhone Simulator",
    browserName: ""
  },
  allScriptsTimeout: 30000,
  seleniumAddress: "http://" + 
    process.env.SAUCE_USERNAME + ":"+process.env.SAUCE_ACCESS_KEY+
    "@ondemand.saucelabs.com:80/wd/hub",

  specs: [
    "spec/feature/*.js"
  ]
};
Run Code Online (Sandbox Code Playgroud)

为什么Protractor/Saucelabs说我没有提供用户名或访问密钥?

编辑:我根据Travis的Protractor对Sauce Labs运行e2e测试的答案中的一个问题,提供了这个问题和我的答案.我提出了这个问题并回答说希望这些信息需要大量的谷歌搜索才能找到相同问题的其他人.

Pat*_*eld 14

感谢另一个问题,我现在知道您必须从配置中省略'seleniumAddress',否则Protractor将忽略您的Saucelabs身份验证.如果省略它将正确生成'seleniumAddress',但此时我不知道它是如何知道如何做到的.

  • 只是想说,回答你自己的问题和发布答案的好道具,而不仅仅是"没关系,发现它!" (2认同)