尝试运行Protractor时,我在命令行中收到以下错误:
>
Fatal error: protractor exited with code: 1
我需要代理到https测试服务器.我该如何做到这一点?我按照这个Github issue的建议,但我仍然得到上述错误.这是我的配置文件:
// A reference configuration file. exports.config = { // ----- How to setup Selenium ----- // // There are three ways to specify how to use Selenium. Specify one of the // following: // // 1. seleniumServerJar - to start Selenium Standalone locally. // 2. seleniumAddress - to connect to a Selenium server which is already // running. // 3. sauceUser/sauceKey - to use remote Selenium servers via SauceLabs. // The location of the selenium standalone server .jar file. seleniumServerJar: './selenium/selenium-server-standalone-2.35.0.jar',// The port to start the selenium server on,or null if the server should // find its own unused port. seleniumPort: null,// Chromedriver location is used to help the selenium standalone server // find chromedriver. This will be passed to the selenium jar as // the system property webdriver.chrome.driver. If null,selenium will // attempt to find chromedriver using PATH. chromeDriver: './selenium/chromedriver',// Additional command line options to pass to selenium. For example,// if you need to change the browser timeout,use // seleniumArgs: ['-browserTimeout=60'],seleniumArgs: [],// If sauceUser and sauceKey are specified,seleniumServerJar will be ignored. // The tests will be run remotely using SauceLabs. sauceUser: null,sauceKey: null,// ----- What tests to run ----- // // Spec patterns are relative to the location of this config. specs: [ './e2e/*-spec.js' ],// ----- Capabilities to be passed to the webdriver instance ---- // // For a full list of available capabilities,see // https://code.google.com/p/selenium/wiki/DesiredCapabilities // and // https://code.google.com/p/selenium/source/browse/javascript/webdriver/capabilities.js capabilities: { 'browserName': 'chrome','proxy': { 'proxyType': 'manual','httpProxy': 'https://localhost.com:8443/' } },// A base URL for your application under test. Calls to protractor.get() // with relative paths will be prepended with this. baseUrl: 'http://localhost:9999',// Selector for the element housing the angular app - this defaults to // body,but is necessary if ng-app is on a descendant of <body> rootElement: 'body',// ----- Options to be passed to minijasminenode ----- jasmineNodeOpts: { // onComplete will be called just before the driver quits. onComplete: null,// If true,display spec names. isVerbose: true,print colors to the terminal. showColors: true,include stack traces in failures. includeStackTrace: true,// Default time to wait in ms before a test fails. defaultTimeoutInterval: 10000 } };
根据
WebDriver capabilities documentation,您应该使用’hostname:port’作为httpProxy的格式.例如.:
capabilities: { browserName: 'firefox',proxy: { proxyType: 'manual',httpProxy: 'localhost:8443',sslProxy: 'localhost:8888' } }
检查代理软件是否有正确的端口.
这适用于Firefox和Chrome.