gpt4 book ai didi

javascript - 页面对象模型或 JavaScript 测试替代方案?

转载 作者:行者123 更新时间:2023-12-03 05:13:12 26 4
gpt4 key购买 nike

页面对象模型仍然是自动化 Web 应用程序的最佳方式吗?

对我来说,剧本模式似乎是一种更好的管理方式。

或者使用 JavaScript 替代方案,例如使用 Cucumber.js 和 WebdriverIO 进行验收测试。

最佳答案

你的问题听起来好像只有一个答案,但实际上,如果你编码正确,你可以将它们合并在一起。

页面对象模型

这有利于将页面上的元素与其余代码分开。如果实现正确,只需更改 POM 中的一行,即可针对使用该页面的所有场景更正该页面上的更改。

nextButton.click();
fullName.sendKeys("John Doe");

剧本模式

这有利于分离不同页面、不同工作流程上发生的操作。

james.attemptsTo(
goToTheNextPage(),
fillOutHisDetails()
);

如果旅程的工作流程略有变化,则您可以简单地重新排序剧本模式,或删除不再需要的操作。在上面的示例中,如果企业决定注册表单应该是单页而不是多页,则删除这一行会更有意义:

goToTheNextPage(),

而不是删除我本来放入的 2:

driver.findElement({css:"#next"}).click();
driver.findElement({css:"#registrationDetails"});

CucumberJS + WebdriverIO

这很好地用纯商业语言来描述场景的信息。

Scenario: I am filling out the registration form
Given I am a new user
And I want to register for an account
When I fill out the registration form
Then I should be able to log in

合并它们

如果您想要真正人类可读的代码,您可以合并所有这 3 个代码。

您拥有业务级语言的功能文件。您已根据剧本模式编写了步骤定义。您已使用页面对象模型编写了剧本模式步骤。

这可能看起来很多层,但这意味着业务将能够理解场景,测试人员和开发人员回顾代码将了解某个旅程的工作流程,并进一步查看代码调试将允许测试人员通过仅更改一行代码来更改多个旅程中的元素值。

关于javascript - 页面对象模型或 JavaScript 测试替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41716267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com