Cha*_*man 28 selenium cucumber specflow gherkin pageobjects
使用Test Automation的页面对象模型,我们将页面链接在一起,如下所示:
WebDriver driver = new WebDriver()
HomePage homePage = new HomePage(driver);
LoginPage loginPage = homePage.GoToLoginPage();
WelcomePage welcomePage = loginPage.Login();
etc
etc
Run Code Online (Sandbox Code Playgroud)
这样做的最大好处是,如果开发人员更改主页,使其不再链接到登录页面,我可以更新我的主页类,并在运行测试之前查看我需要更新的所有测试(有错误).
然而,对于小黄瓜,上面的每一行将形成一个单独的"步骤",因此是一个单独的方法.因此,如何进行这种连接?
是将页面对象类的实例(例如homePage,loginPage等)放入交叉gherkin语句持久性存储(例如specflow POCO或'World')的唯一方法吗?
好的,因此,在询问了众多开发人员和测试自动化专家之后,解决方案似乎是继续进行链接[e.g. WelcomePage welcomePage = loginPage.loginWithValidUser(validUser)]。
要跨步骤持久化页面对象的实例(例如,上面示例中的welcomePage),可以使用依赖项注入工具(在Ruby的Cucumber实现中创建类似于World扩展的功能)。
这是更多信息:https : //cukes.info/docs/reference/java-di
但是,大多数项目将从“依赖注入”模块中受益,以便更好地组织代码并在“步骤定义”之间共享状态。
来自SpecFlow的更多信息(.net官方黄瓜实施):
http://specflow.org/getting-started/beyond-the-basics/
最后,我围绕该领域创建了一个整个博客,可能会对人们有所帮助,因为小黄瓜/页面对象交互是我非常感兴趣的主题:
http://www.seligmanventures.com/dev-blog/test-automation-page-object-model-with-gherkin
| 归档时间: |
|
| 查看次数: |
2862 次 |
| 最近记录: |