gpt4 book ai didi

c# - 用于 PageObject 模式的 Selenium WebDriver 记录器

转载 作者:行者123 更新时间:2023-11-30 14:33:11 27 4
gpt4 key购买 nike

我知道有 Selenium IDE 和 Selenium Builder 作为 Firefox 插件来记录操作并导出它们,例如作为 C# 代码。

但是是否还有一个工具可以帮助您按照 PageObject 模式创建 Selenium (2) WebDriver 测试代码?我知道这会很困难,因为程序必须知道应该如何实现抽象。

据我所知没有这样的工具?但是什么是创建由工具支持的 Selenium WebDriver PageObject 代码的最佳方法

也许使用 Selenium 构建器只是通过 ID、类名等创建引用并在我的代码中手动实现它们?这可能比我自己决定用什么来精确标识元素要一点。但是Selenium Builder的开发者为什么要动态创建元素引用

IWebDriver wd = new RemoteWebDriver(DesiredCapabilities.Firefox());
wd.FindElement(By.Id("NameField")).Click();
wd.FindElement(By.Id("NameField")).Clear();

而不是 FindBy 属性?

[FindsBy(Using = "NameField")]
public IWebElement nameField;

元素将可重用,代码将更短。

最佳答案

在回答您的问题时,没有工具,我很高兴没有。人们过于依赖这些类型的工具。我还认为,使用 Builder 或 IDE 为您完成工作不会会更快。短期内,是的,长期而言,绝对不是。

虽然构建器在“发现”方面要聪明得多,但它仍然不够出色。 XPath 与 IDE,甚至 Firebug 和 Chrome 自己的开发者控制台一起,都失败了。

手动将为您服务。

但是,如果您一心想使用工具,那么请使用 Builder(只是因为它比 IDE 好“一点”)作为您的代码的基础。

就 Builder 提出这种代码的“原因”而言,是因为它基本且简单。这些工具旨在为您提供可用的基本代码。不是花哨的代码,而是最佳实践。这是您应该手动执行的操作。您可能会发现 IDE 提供的内容非常相似。

任何试图出售这些工具作为自动化测试答案的人都大错特错。答案是给您的测试人员和开发人员足够的时间来协调合适的策略!

没有可以准确定义动态元素定位策略的工具。具有在每次点击页面时发生变化的 ID 的内容。那么你期望它做什么?它会把它的手举到空中,给你最好的机会。这是您介入并挽救局面并制定有效的位置策略的地方 - 这是 IDE/Builder 将为您节省短期时间但您会花费长期时间的地方-term 摔倒时修理它的时间。

关于c# - 用于 PageObject 模式的 Selenium WebDriver 记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16894295/

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