我使用Java和页面对象模式构建了各种测试自动化框架(https://code.google.com/p/selenium/wiki/PageObjects),其中我发现的两个主要好处是:
1) 有了页面实例后,您可以看到可用的方法(例如键入homepage.将显示所有可以从homepage调用的操作/方法)
2) 因为导航方法(例如goToHomepage())返回随后页面的实例(homepage),所以通过编写代码并查看其带你去哪里,您可以通过测试简单地导航。
例如:
WelcomePage welcomePage = loginPage.loginWithValidUser(validUser);
PaymentsPage paymentsPage = welcomePage.goToPaymentsPage();
这些好处在Java中运作得非常完美,因为IDE知道对象的类型(或页面)。
然而,在JavaScript(动态类型语言)中,对象类型在任何时候都不是固定的,并且通常对IDE来说含糊不清。因此,我无法看到如何在使用JavaScript构建的自动化套件上实现这些好处(例如通过使用Cucumber)。
有人能向我展示如何使用页面对象模式来使用JavaScript获得这些好处吗?