有关WebdriverIO与Java Selenium的反馈如何?我很犹豫,想消除这种困惑。
我花了几天时间学习WebdriverIO,并进行了一些实践,但得出结论它还不够成熟。调试确实是一个挑战。
有关WebdriverIO与Java Selenium的反馈如何?我很犹豫,想消除这种困惑。
我花了几天时间学习WebdriverIO,并进行了一些实践,但得出结论它还不够成熟。调试确实是一个挑战。
WebdriverIO是(Selenium 2.0) WebDriver API的JavaScript / nodejs实现之一-像(Selendroid、Protractor等)许多其他工具一样。正如规范所述:
WebDriver是一个远程控制接口,可启用用户代理的内省和控制。它提供了一种平台和语言中立的线协议作为远程指导网页浏览器的行为的方法。
如果您使用Java,则将使用WebDriver的Java实现。您选择哪种语言和实现取决于您、您的技能和团队的技能。
虽然我非常怀疑WebdriverIO "还不够成熟"。WebDriver是一个很好的规范,有许多强大的实现,但它经常被错误地使用。特别是对于新手而言,非常大比例的“随机”故障完全可以通过避免其测试代码中的竞争条件来避免。
因此,我们使用Java - Selenium、Serenity、JBehave测试框架以及Javascript WebdriverIO、Mocha和Yodda。
我认为Java方法更容易理解和调试。更容易理解,因为网站测试大多是顺序的,你从一个页面导航到另一个页面,点击一个按钮并填写表单。这可以避免使用JS替代方案时遇到的任何异步问题。调试非常好,因为你有类和固定的结构。
第二个项目在后端使用NodeJS,因此集成测试框架更容易。测试框架成为部署/开发过程的一部分。