我正在尝试测试使用Ionic编写的移动应用程序,因为Ionic基于Angular,我想使用Protractor编写测试并使用Saucelabs Appium在移动模拟器中运行测试。我使用命令调用量角器:
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中的一个答案中的信息来回答这个问题和答案。我提出了这个问题并回答说希望获得大量谷歌搜索信息的信息对于那些有同样问题的人来说更容易获取。
答案 0 :(得分:14)
感谢另一个question我现在知道您必须从配置中省略'seleniumAddress',否则Protractor将忽略您的Saucelabs身份验证。如果省略它将正确生成'seleniumAddress',但此时我不知道它是如何知道的。