我知道有 Selenium IDE 和 Selenium Builder 作为 Firefox 插件来记录操作并将它们导出为例如 C#-Code。
但是是否还有一个工具可以帮助您按照 PageObject 模式创建 Selenium (2) WebDriver 测试代码?我知道这会很困难,因为程序必须知道应该如何实现抽象。
据我所知,这样的工具不存在吗?但是,由工具支持的创建 Selenium WebDriver PageObject-Code 的最佳方法是什么?
也许使用 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;
这些元素将是可重用的,并且代码会更短。