1

我试图让 Protractor 通过根据这个 github 问题设置 seleniumServerJar 路径来启动独立的 Selenium 服务器,但是它在不同的地址和端口上启动 selenium 服务器,而不是使用 java -jar 或使用 ./node_modules/量角器/bin/webdrivermanager 启动。

从 java -jar /path/to/jar 输出开始:

$ java -jar selenium-server-standalone-2.42.2.jar Jun 23, 2014 10:28:25 PM org.openqa.grid.selenium.GridLauncher 主要信息:启动独立服务器 22:28:25.082 信息 - Java: Apple Inc. 20.65-b04-462 22:28:25.082 信息 - 操作系统:Mac OS X 10.9.3 x86_64 22:28:25.092 信息 - v2.42.2,带有核心 v2.42.2。从修订版 6a6995d 22:28:25.146 INFO 构建 - 默认驱动程序 org.openqa.selenium.ie.InternetExplorerDriver 注册被跳过:注册功能 Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] 没有与当前平台匹配:MAC 22:28:25.197 INFO - RemoteWebDriver 实例应连接到: http://127.0.0.1:4444/wd/hub22:28:25.198 信息-版本 Jetty/5.1.x 22:28:25.199 信息-启动 HttpContext[/selenium-server/driver,/selenium-server/driver] 22:28:25.199 信息-启动 HttpContext[/selenium- server,/selenium-server] 22:28:25.199 信息-已启动 HttpContext[/,/] 22:28:25.235 信息-已启动 org.openqa.jetty.jetty.servlet.ServletHandler@7786df0f 22:28:25.235 信息-已启动HttpContext[/wd,/wd] 22:28:25.240 INFO - 在 0.0.0.0:4444 上启动 SocketListener 22:28:25.240 INFO - 启动 org.openqa.jetty.jetty.Server@42698403

通过指定 seleniumServerJar 使用 Protractor 启动它:

$ ./node_modules/protractor/bin/protractor protractor_conf.js 正在启动 selenium 独立服务器... Selenium 独立服务器开始于 http://192.168.0.20:59959/wd/hub

然后它挂起并超时。

指定 seleniumServerJar 时如何正确启动独立的 selenium 服务器?

旁注:我已将 selenium-server.jar 文件放入我的项目中,以便根据上述 github 问题轻松使用相对路径。

我的量角器_conf.js:

    exports.config = {
    // Do not start a Selenium Standalone sever - only run this using chrome.
    //chromeOnly: true,
    //chromeDriver: '../node_modules/protractor/selenium/chromedriver',

    //we are using a standalone selenium server so give it the local address
    //seleniumAddress: 'http://0.0.0.0:4444/wd/hub',
    seleniumServerJar: './selenium-server-standalone-2.42.2.jar',

    // Capabilities to be passed to the webdriver instance.
    capabilities: {
        'browserName': 'phantomjs'
    },

    baseUrl: 'http://localhost:8000',

    onPrepare: function () {
        require('jasmine-reporters');
        var capsPromise = browser.getCapabilities();
        capsPromise.then(function (caps) {
            var browserName = caps.caps_.browserName.toUpperCase();
            var browserVersion = caps.caps_.version;
            var prePendStr = browserName + '-' + browserVersion + '-';
            jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter('test-results/protractor/', true, true, prePendStr));
        });
    },

    // Spec patterns are relative to the current working directly when
    // protractor is called.
    specs: ['test/protractor/**/*_spec.js'],

    // Options to be passed to Jasmine-node.
    jasmineNodeOpts: {
        showColors: true,
        isVerbose: true,
        defaultTimeoutInterval: 30000
    },

    params: {
        env: 'test'
    }
};
4

1 回答 1

2

192.168.0.20 是你的本地 IP 地址,端口默认应该是 4444,你可以改变端口

    seleniumPort: 1234

在你的protractor_conf.js里面(顺便说一句:protractor.conf.js 是量角器的默认配置文件名)

于 2015-08-04T06:08:05.697 回答