我正在尝试测试使用 Ionic 编写的移动应用程序,并且由于 Ionic 基于 Angular,我想使用 Protractor 编写测试并使用 Saucelas 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 说我没有提供用户名或访问 key ?
编辑:我根据 Running e2e tests on Sauce Labs from Protractor on Travis 中的一个答案中的信息回答了这个问题和我的答案。 .我提出了这个问题和答案,希望这些信息需要经过大量谷歌搜索才能找到,让其他有同样问题的人更容易获得。
最佳答案
感谢这个其他 question我现在知道您必须从配置中省略“seleniumAddress”,否则 Protractor 将忽略您的 Saucelas 身份验证。如果省略,它将正确生成“seleniumAddress”,但此时我不确定它是如何知道如何做到这一点的。
关于angularjs - 我在我的配置中提供 'sauceUser' 和 'sauceKey' 但酱说我正在尝试使用用户名 'None' 和访问 key 'None' 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29015603/