“webdriver-manager start”是必要的吗?

时间:2015-05-22 11:01:14

标签: angularjs selenium webdriver-manager

我正在深入研究AngularJS的量角器测试世界。

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

根据webdriver-manager人,start命令将启动selenium服务器'。确实,一旦我运行上述命令,我就可以在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是必要的吗?

:编辑:

我的量角器/ fooTests.js

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

我的量角器/ 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');
    });
});

1 个答案:

答案 0 :(得分:3)

量角器正在向Selenium发送命令,Selenium正在使用其驱动程序与浏览器进行通信。

webdriver-manager start

正在启动Selenium。

有3个基本选项:

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

    directConnect:true - 您的测试脚本直接与Chrome驱动程序或Firefox驱动程序通信,绕过任何Selenium Server。如果是这样,将忽略seleniumAddress和seleniumServerJar的设置。如果您尝试使用Chrome或Firefox以外的浏览器,则会引发错误。

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

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

    3. 您可以浏览文档https://github.com/angular/protractor/blob/master/docs/server-setup.md

      中的所有选项