的DirectConnect:真正VS启动硒服务器在量角器一些端口

问题描述 投票:3回答:1

我用的量角器为终端到终端的测试与无棱角的应用程序。 所以,当我写在protractor.conf.js文件原样

exports.config = {
      directConnect: true,

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

      // Framework to use. Jasmine is recommended.
      framework: 'jasmine',

      // Spec patterns are relative to the current working directory when
      // protractor is called.
      specs: ['example_spec.js'],

      // Options to be passed to Jasmine.
      jasmineNodeOpts: {
        defaultTimeoutInterval: 30000
      }
    };

然后,它为我工作得很好。 从那以后,我已经做了一些改动喜欢 -

exports.config = {
      seleniumAddress: 'http://localhost:4444/wd/hub',

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

      // Framework to use. Jasmine is recommended.
      framework: 'jasmine',

      // Spec patterns are relative to the current working directory when
      // protractor is called.
      specs: ['example_spec.js'],

      // Options to be passed to Jasmine.
      jasmineNodeOpts: {
        defaultTimeoutInterval: 30000
      }
    };

然后,它开始与成功运行的端口和测试用例硒服务器。

所以我的问题是什么但─既方式差异性之探源?我知道,当我们使用directConnect:true,它不会启动硒服务器,然后直接使用Chrome的驱动程序和测试用例跑的比其他方式更快?

当量角器可以做测试,而硒的服务器,我们为什么需要它?在protrator测试做什么硒服务器?

protractor
1个回答
7
投票

当你与directConnect:true说量角器直接与Chrome和Firefox的驱动程序(任何其他浏览器将返回错误)进行通信。

directConnect:true的主要优势似乎速度。测试启动和运行速度更快。

在另一方面Protractor mentions for the Selenium Server这样的:

该服务器可以处理不同语言的多个脚本。该服务器可以启动,并在不同的版本,并实现管理多个浏览器。

量角器肯定不希望不断保持这种可能性的directConnect:true因为它不是量角器的主要目的,他们可以做到这一点比SeleniumServer只有更糟。

跨浏览器测试,服务等BrowserStack和SauceLabs,提供自己的SeleniumServers,这应该连接到使用他们的服务。要说服他们提供一个单独的量角器解决方案也似乎有点懵了,特别是SeleniumServer已被广泛采用常见。

总的来说,我会考虑它量角器的服务,他们提供了一个可能的DirectConnect的简化,将开始与量角器。使用SeleniumServer将是更合乎逻辑的解决方案,并提供更宽范围的可能性,例如跨浏览器测试。

我没有看到(和从来没有听说过的)比这一切的背后更多的魔法。

© www.soinside.com 2019 - 2024. All rights reserved.