JavaScript是否与严格的页面对象模式兼容?

Cha*_*man 7 javascript java testing ui-automation pageobjects

我使用Page Object Pattern with Java(https://code.google.com/p/selenium/wiki/PageObjects)构建了各种Test Automation框架.

我发现的两大好处是:

1)当你有一个页面实例时,你可以看到可用的方法(例如,输入主页.将显示你可以从主页调用的所有动作/方法)

2)因为导航方法(例如goToHomepage())返回后续页面的实例(例如主页),所以您只需编写代码并查看它所在的位置即可浏览您的测试.

例如

WelcomePage welcomePage = loginPage.loginWithValidUser(validUser);
PaymentsPage paymentsPage = welcomePage.goToPaymentsPage();
Run Code Online (Sandbox Code Playgroud)

这些好处与Java完美配合,因为IDE已知对象类型(或本例中的页面).

但是,使用JavaScript(动态类型语言),对象类型在任何时候都不固定,并且通常与IDE不明确.因此,我无法看到如何在使用JavaScript构建的自动化套件中实现这些优势(例如,使用Cucumber).

任何人都可以告诉我如何使用页面对象模式的JavaScript来获得这些好处吗?

bob*_*rti 2

我对这种模式不太了解。但我会提供一些细节,也许对你有帮助。 http://www.guru99.com/page-object-model-pom-page-factory-in-selenium-ultimate-guide.html

http://www.assertselenium.com/automation-design-practices/page-object-pattern/

实现这一点的一个好方法似乎是使用TypeScript(这是 的静态类型版本JavaScript):

https://en.wikipedia.org/wiki/TypeScript