我想测试一个使用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 的答案中的信息提出了这个问题和我的回答。我制作了这个问题和答案,希望这些资料能够更加易于其他碰到相同问题的人使用。