WebdriverIO Vs Selenium Webdriver (Java Approach)

对WebdriverIO与Selenium与Java有任何反馈吗?我陷入了两难境地,想澄清这种困惑。

我花了几天时间学习WebdriverIO,也做了一些动手操作,但得出的结论是它不够成熟。调试确实是一个挑战。


答案 1

WebdriverIO是(Selenium 2.0)WebDriver API的JavaScript / nodejs实现 - 许多(Selendroid,Protractor等)之一。正如规范所说:

WebDriver 是一个远程控制接口,支持对用户代理进行自省和控制。它提供了一个与平台和语言无关的有线协议,作为进程外程序远程指示Web浏览器行为的一种方式。

如果您使用Java,您将使用WebDriver的Java实现。哪种语言以及您选择的实现取决于您、您的技能和团队的技能。

虽然我非常怀疑WebdriverIO“不够成熟”。WebDriver是一个很好的规范,有许多强大的实现,但它经常被滥用。当然,就新手而言,很大一部分“随机”故障是其测试代码中完全可以避免的竞争条件。


答案 2

因此,我们使用Java - Selenium,Serenity,JBehave测试框架,然后是Javascript WebdriverIO,Mocha和Yodda。

我认为Java方法更容易理解和调试。更容易理解,因为网站测试主要是顺序的,你从一个页面导航到另一个页面,点击一个按钮,然后填写一个表格。它使您免于使用 JS 替代方案时遇到的任何异步问题。调试非常好,因为你有类和固定的结构。

第二个项目在后端使用NodeJS,因此集成测试框架要容易得多。测试框架成为部署/开发过程的一部分。


推荐