我在配置中提供了“sauceUser”和“sauceKey”,但Sauce却说我试图使用用户名“None”和访问密钥“None”进行身份验证。

8

我想测试一个使用Ionic编写的移动应用程序,由于Ionic基于Angular,因此我想使用Protractor编写测试,并在Saucelabs Appium中使用移动模拟器运行测试。我使用以下命令调用protractor:

SAUCE_USERNAME=$(SAUCE_USERNAME) SAUCE_ACCESS_KEY=$(SAUCE_ACCESS_KEY) ./node_modules/.bin/protractor protractorConfig.js

但是我遇到了以下错误:
UnknownError: Sauce Labs Authentication Error.
You used username 'None' and access key 'None' to authenticate, which are not valid Sauce Labs credentials.

我的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"
  ]
};

为什么Protractor/Saucelabs会说我没有提供用户名或访问密钥?
编辑:我基于在 Running e2e tests on Sauce Labs from Protractor on Travis 的答案中的信息提出了这个问题和我的回答。我制作了这个问题和答案,希望这些资料能够更加易于其他碰到相同问题的人使用。

1个回答

14

感谢这个问题,我现在知道你必须从配置中省略'seleniumAddress',否则Protractor将忽略您的Saucelabs身份验证。如果省略,它将正确生成'seleniumAddress',但此时我不确定它如何知道该怎么做。


2
只想说,非常棒的是你回答了自己的问题并发布了答案,而不是只说“算了,我找到了!” - Felix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接