【问题标题】:Using Selenium IDE's getEval command with FirefoxWebdriver在 FirefoxWebdriver 中使用 Selenium IDE 的 getEval 命令
【发布时间】:2013-06-20 12:53:09
【问题描述】:

你好,

我有一个使用此代码的 Selenium IDE 脚本:

 getEval |      this.page().findElement('xpath=//html/body/div[18]/div[9]/div[2]/div/div[9]/div[2]/center/div/div/div[2]/div/span/span/a').removeAttribute('target')

然后我将整个测试用例导出为 Junit 测试用例。 getEval 的命令未包含在导出中。我尝试了以下代码:

if (driver instanceof JavascriptExecutor) {
    js = (JavascriptExecutor)driver;

}
js.executeScript("this.page().findElement('xpath=//html/body/div[18]/div[9]/div[2]/div/div[9]/div[2]/center/div/div/div[2]/div/span/span/a').removeAttribute('target');");

运行这行代码时,出现异常:page is not defined

我也试过了:

sel = new WebDriverBackedSelenium(driver, driver.getCurrentUrl());
    sel.getEval("page().findElement('xpath=//html/body/div[18]/div[9]/div[2]/div/div[9]/div[2]/center/div/div/div[2]/div/span/span/a').removeAttribute('target')");

运行此行时,Junit 测试崩溃,并且测试用例失败。我想知道我是否发送了正确的 javascript 脚本,或者是否有另一种更好的方式通过 java 执行这样的 Selenium 命令。

我正在使用 java 6 和 Selenium 2.33.0

【问题讨论】:

    标签: java javascript selenium selenium-webdriver


    【解决方案1】:

    为什么不试试 selenium webdriver API 或 selenium 2.0 呢?如果您想编写更复杂的测试,这是一种更好的方法。你可以在这里看到一些例子:http://docs.seleniumhq.org/docs/03_webdriver.jsp#selenium-webdriver-api-commands-and-operations

    【讨论】:

      猜你喜欢
      • 2019-03-18
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      相关资源
      最近更新 更多