如何select最佳自动化与selenium工具组合

这可能是基于意见的问题,但我真的很困惑select自动化工具组合。

到目前为止,我一直在使用Selenium webdriver,maven和Java来构build自动化框架。 这似乎完全正常工作。

现在有一天我觉得很多自动化工程师WebdriverJS使用WebdriverJSWebdriverIOWebdriverIO等等。

有人告诉我,如果使用WebdriverJS / WebdriverIO / WebdriverJS构build自动化框架,那么执行速度将比Java快。

我知道我应该根据自己的需求来select工具,但是同时我觉得我们不能在某些网站中使用WebdriverJS / WebdriverIO / WebdriverIO在这种网站中所有的元素都必须被xpath为dynamic改变class / id大多数元素。

所以,如果任何人都可以给我提示哪些工具select哪种网站,那么这将是非常有帮助的。 即对于AngularJS网站Node.Js对于selenium自动化Node.Js是很好的。

根据Selenium Official Webpage Download Section ,您可以在Selenium Client & WebDriver Language Bindings部分看到以下内容:

  1. Java
  2. C#
  3. Ruby
  4. Python
  5. Javascript (Node)

所以从我个人的观点来看,这5个variables是Selenium Clients Automation Framework使用最广泛的Selenium Clients

Documentation

除了Selinium的GitHub ducumentation之外,它在互联网上可用的绝大多数文档都在Selenium (Java) 。 这是因为Java作为一种Language在世界范围内广受欢迎。 所以学习变得更容易 即使是Selenium (Java) Client Releases的频率也会支持我的本地观点。

但是,我个人发现Selinium's GitHub Documentation所有客户端绑定Selinium's GitHub Documentation是完美的和精确的。

WebdriverIO

WebdriverIO是Selenium版本的另一个变体。 毫无疑问, WebdriverIO团队已经在Selenium Client Releases中搭build了一个追赶游戏的难题。 但我认为WebdriverIO仍在不断发展。

Functional Perspective

从function的angular度来看,我将采用WebdriverJSWebdriverJS 。 原因很简单当浏览器加载完成后,我们inject javascript functions注入到浏览器中,然后使用它的javascript来驱动浏览器中的“ Application Under TestApplication Under Test我仍然在实践中感受到了Selenium-RC方式。