`webdriver-manager start` 是必要的吗?

Is `webdriver-manager start` necessary?

我正在研究 AngularJS 的 Protractor 测试世界。

所有教程都建议我在 webdriver-manager update 之后和执行测试之前执行以下操作: webdriver-manager start

根据 webdriver-manager 人的说法,start 命令将 'start up the selenium server'。没错,一旦我 运行 上面的命令,我就可以在 http://127.0.0.1:4444/wd/hub

看到一些东西

我的问题是:以上是必要的吗?

我目前 运行 我的测试没有上述命令。

我所做的就是: webdriver-manager update php -S localhost:8000 -t dist/ protractor ./test/protractor.config.js

我的测试 运行 符合预期,即使我排除了 webdriver-manager start

有人可以解释为什么 webdriver-manager start 是必要的吗?

:编辑:

我的protractor/fooTests.js:

exports.config = {
    directConnect: true,
    capabilities: {
        'browserName': 'chrome'
    },
    specs: ['protractor/fooTests.js'],
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000
    }
};

我的protractor/fooTests.js:

describe('test for the bar code', function() {
    it('should login', function() {
        browser.get('http://localhost:8000');

        element(by.model('password')).sendKeys('123456');
        element(by.css('[type="submit"]')).click();
    });
    it('should inspect element ', function() {
        expect(element(by.id('foo-script')).isPresent()).toBe(true);
        console.log('Login Success');
    });
});

Protractor 正在向 Selenium 发送命令,而 Selenium 正在使用其驱动程序与浏览器通信。

webdriver-manager start

正在启动 Selenium。

有 3 个基本选项:

  1. directConnect。这使得量角器直接与 selenium 驱动程序通信,而无需使用 Selenium 服务器。但是,此选项的功能有限:

directConnect: true - Your test script communicates directly Chrome Driver or Firefox Driver, bypassing any Selenium Server. If this is true, settings for seleniumAddress and seleniumServerJar will be ignored. If you attempt to use a browser other than Chrome or Firefox an error will be thrown.

  1. 连接到 运行 selenium 服务器(本地或远程),由 seleniumAddress 指定。可以使用 webdriver-manager start 脚本启动服务器。

  2. 从测试脚本启动服务器。

您可以浏览文档中的所有选项 https://github.com/angular/protractor/blob/master/docs/server-setup.md