gpt4 book ai didi

protractor - 直接连接 :true vs starting seleniumServer at some port in Protractor

转载 作者:行者123 更新时间:2023-12-01 09:15:05 25 4
gpt4 key购买 nike

我正在使用 Protractor 对非角度应用程序进行端到端测试。
所以一旦我在 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
}
};

然后它从带有端口和测试用例成功运行的 selenium 服务器开始。

所以我的问题是——
两种方式有什么区别?我知道当我们使用 directConnect:true 时,它​​不会启动 selenium 服务器,然后直接使用 chrome 驱动程序,并且测试用例比其他方式运行得更快?

当 Protractor 可以在没有 selenium 服务器的情况下进行测试时,我们为什么需要它?
什么 Selenium 服务器在 Protractor 测试中做什么?

最佳答案

正如你所说的 directConnect:true Protractor 直接与 Chrome 和 Firefox 的驱动程序通信(任何其他浏览器都会返回错误)。
directConnect:true 的主要优点似乎是速度。测试启动和运行速度更快。

另一方面 Protractor mentions for the Selenium Server 这个:

The server can handle multiple scripts in different languages. The server can startup and manage multiple browsers in different versions and implementations.



Protractor 肯定不想为 directConnect:true 不断维护这些可能性,因为这不是 Protractor 的主要目的,而且他们只能做得比 SeleniumServer 更糟糕。

跨浏览器测试服务,例如 BrowserStack 和 SauceLabs,提供了自己的 SeleniumServers,应该连接它们以使用他们的服务。说服他们提供单独的 Protractor 解决方案似乎也没什么意义,尤其是 SeleniumServer 已经很普遍了。

总的来说,我认为它是 Protractor 的一项服务,它们提供了 DirectConnect 的可能性,作为从 Protractor 开始的简化。使用 SeleniumServer 将是更合乎逻辑的解决方案,并提供更广泛的可能性,例如跨浏览器测试。

我没有看到(也从未听说过)比这更神奇的背后。

关于protractor - 直接连接 :true vs starting seleniumServer at some port in Protractor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46618472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com