我正在用量角器测试我的应用程序,并且我在互联网上进行搜索并尝试了许多方法来解决该问题,但它不起作用。我的Angular CLI 6应用程序在端口4200上运行。
这是我的protractor.config:
const SpecReporter = require('jasmine-spec-reporter').SpecReporter;
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
chromeOnly: true,
directConnect: true,
baseUrl: 'http://localhost:4200/',
//seleniumAddress: 'http://localhost:4444/wd/hub/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function () {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
let browserName = browser.getCapabilities().then((c) => {
return c.get('browserName').replace(/ /g, "_");
});
console.log(browserName);
jasmine.getEnv().addReporter(new SpecReporter({
spec: {
displayStacktrace: true
}
}));
}
};
- 失败:“端口”选项应> = 0且<65536:500000 在lookupAndConnect(net.js:1064:13) 在Socket.connect(net.js:1037:5) 在Object.connect(net.js:113:35) 在DebugHelper.validatePortAvailability_(/Users/Picchu/Documents/shortener/node_modules/protractor/built/debugger.js:204:26) 在flow.execute(/Users/Picchu/Documents/shortener/node_modules/protractor/built/debugger.js:61:18) 在TaskQueue.execute_(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:3084:14) 在TaskQueue.executeNext_(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:3067:27) 在asyncRun(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:2927:27) 在/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:668:7 在 来自:任务:调试任务 在DebugHelper.init_(/Users/Picchu/Documents/shortener/node_modules/protractor/built/debugger.js:59:35) 在DebugHelper.init(/Users/Picchu/Documents/shortener/node_modules/protractor/built/debugger.js:17:14) 在ProtractorBrowser.pause(/Users/Picchu/Documents/shortener/node_modules/protractor/built/browser.js:949:26) 在UserContext上。 (/Users/Picchu/Documents/shortener/e2e/src/app.e2e-spec.ts:16:13) 在/Users/Picchu/Documents/shortener/node_modules/jasminewd2/index.js:112:25 在新的ManagedPromise(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:1077:7) 在ControlFlow.promise(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:2505:12) 在schedulerExecute(/Users/Picchu/Documents/shortener/node_modules/jasminewd2/index.js:95:18) 在TaskQueue.execute_(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:3084:14) 在TaskQueue.executeNext_(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:3067:27) 来自:任务:在控制流中运行它(“应该显示欢迎消息”) 在UserContext上。 (/用户/ Picchu /文档/缩短器/node_modules/jasminewd2/index.js:94:19) 在/Users/Picchu/Documents/shortener/node_modules/jasminewd2/index.js:64:48 在ControlFlow.emit(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/events.js:62:21) 在ControlFlow.shutdown_(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:2674:10) 在shutdownTask_.MicroTask时(/Users/Picchu/Documents/shortener/node_modules/selenium-webdriver/lib/promise.js:2599:53) 通过异步测试: 错误 在套房。 (/Users/Picchu/Documents/shortener/e2e/src/app.e2e-spec.ts:13:3) 在对象。 (/Users/Picchu/Documents/shortener/e2e/src/app.e2e-spec.ts:5:1) 在Module._compile(module.js:652:30) 在Module.m._compile(/Users/Picchu/Documents/shortener/node_modules/ts-node/src/index.ts:400:23) 在Module._extensions..js(module.js:663:10) 在Object.require.extensions。(匿名函数)[作为.ts](/Users/Picchu/Documents/shortener/node_modules/ts-node/src/index.ts:403:12)
- 故障*
1)工作区项目应用程序应显示欢迎消息 -失败:“端口”选项应> = 0且<65536:500000
在2秒内执行1的1个规格(1个失败)。 [07:02:20] I /启动器-0 WebDriver实例仍在运行[07:02:20] I /启动器-chrome
01 1个测试失败[07:02:20] I /启动器-总体:1个失败的规格[07:02:20] E /启动器-进程退出,错误代码1意外
发生错误:未定义
更新
如果我设置directConnect:false,那么我得到以下错误:
[17:01:34]我/更新-chromedriver:文件存在 /Users/Picchu/Documents/shortener/node_modules/webdriver-manager/selenium/chromedriver_2.41.zip [17:01:34]我/更新-chromedriver:解压缩chromedriver_2.41.zip [17:01:34]我/更新-chromedriver:将以下权限设置为0755 /Users/Picchu/Documents/shortener/node_modules/webdriver-manager/selenium/chromedriver_2.41 [17:01:34]我/更新-chromedriver:chromedriver_2.41最新 [17:01:35] I /启动器-运行1个WebDriver实例[17:01:35] E /本地-错误代码:135 [17:01:35] E /本地-错误消息:否 找到update-config.json。运行“ webdriver-manager更新”进行下载 二进制文件。 [17:01:35] E /本地-错误:未找到update-config.json。跑 “ webdriver-manager更新”以下载二进制文件。
解决方案
browser.wait()部分发生了错误。在删除并替换为browser.sleep()后,它现在可以工作了。