gpt4 book ai didi

java - 自定义 Selenium Java Junit4 Webdriver 导出器

转载 作者:行者123 更新时间:2023-12-02 09:09:06 24 4
gpt4 key购买 nike

我在 selenium IDE 中做了一些研究和大量的研究,但我还找不到任何方法来做到这一点。

我想做的基本上是添加额外的支持并更改某些命令的现有实现,即 isTextPresent 和 addSelection。我基本上可以保留 WebDriver JUnit 导出器的大部分功能,因为它工作正常,但只想添加一些自定义方法返回。

例如,我想更改 isTextPresent() 的导出器:

// Warning: waitForTextPresent may require manual changes
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { if (driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*SOME INTERESTING TEXT[\\s\\S]*$")) break; } catch (Exception e) {}
Thread.sleep(1000);
}

对此:

SeleniumHelperUtil.isTextPresent("一些有趣的文本");

这样我就可以使用我的自定义 SeleniumHelperUtil java 类,我希望所有的 selenium 测试都使用它。这是一个大型复杂的工作流程项目,因此我们最终将进行数百次测试。我希望我的测试人员构建他们的测试用例,使用 WebDriver 将它们导出到 Java 中,进入 JUnit4 测试。然后他们可以将它们 checkin CVS,我们的自动 Hudson 构建服务器将每晚运行新的测试。我希望我们的开发人员能够在最少的干预下实现这一点(好吧,目前只有我的 ATM 机,在他们发明 30 小时工作日之前我没有时间:))。

我尝试过的

我尝试通过剪切和粘贴 webdriver.js 中的所有代码(包括选项)来创建自定义导出器,并且我已将 waitFor 函数修改为如下所示:

function waitFor(expression) {
return "SeleniumHelperUtil.isTextPresent(" + expression ")";
}

不幸的是,我得到的只是 WebDriver.js 实现:

// Warning: waitForTextPresent may require manual changes
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { if (driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*SOME INTERESTING TEXT[\\s\\S]*$")) break; } catch (Exception e) {}
Thread.sleep(1000);
}

我正在使用 Selenium 1.9.1 版本和 Firefox 13(在 Thinapp 实现上,由于工作限制,我显然无法拥有完整安装的版本)。

现在我已经在 xpi 文件中的 WebDriver-Junit4.js 文件中找到了部分代码,因此我可以修改它并使用我的自定义代码重建插件,但如果通过 selenium- 来完成它会很好因为我不确定当我在那里时我还会破坏什么。

最佳答案

public boolean isTextPresent(WebDriver driver, String textToCheck)
{
try
{
org.openqa.selenium.By by = By.xpath("//p[contains(.,'"+textToCheck+"')]"));
driver.findElement(by);
return true;
}
catch (NoSuchElementException e)
{
return false;
}
}

要检查 Selenium 单元测试的结果:使用 firebug。

关于java - 自定义 Selenium Java Junit4 Webdriver 导出器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447697/

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