【发布时间】:2013-06-03 10:05:48
【问题描述】:
我知道 Selenium IDE 和 Selenium Builder 作为 Firefox 插件来记录操作并导出它们,例如作为 C# 代码。
但是否还有一个工具可以帮助您按照 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;
元素可重用,代码更短。
【问题讨论】:
标签: c# selenium-webdriver selenium-ide pageobjects