【发布时间】:2015-01-23 00:32:14
【问题描述】:
使用 Selenium,是否可以创建一个虚拟 WebElement 用于单元测试?
@Test
public void testIt() {
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement we = (WebElement)js.executeScript("code to create and return a input element");
assertTrue("default value", we.getText());
}
我考虑过使用 Spy 或 Mock 对象,但 WebElement 没有任何“setter”方法,所以一旦我创建了 WebElement 实例,我不知道如何给它赋值。
例如,是否可以将 HtmlUnit Web 元素转换为 Selenium WebElement(包含属性)?
final String html = "<html><head></head><body id='tag'><b>text</b></body></html>";
final HtmlPage page = loadPage(html);
final HtmlUnitWebElement node = page.getHtmlElementById("tag");
WebElement we = node.findElement(By.xpath(".//b"));
【问题讨论】:
-
我开始认为没有真正的理由这样做?
-
我正在尝试验证我的 Selenium-based-scraper 并且正是需要这个(我认为)。您找到解决方案或替代方案了吗?
标签: selenium selenium-webdriver