单击链接会导致测试

时间:2010-11-22 10:01:11

标签: selenium selenium-webdriver

以下命令

selenium.click("link=Identify Awards");

打开一个弹出窗口但是测试没有继续

我已经放置了

selenium.waitForPopUp(null, "1500");
selenium.windowFocus();
selenium.selectPopUp("Search -- Webpage Dialog");

单击命令后无效 链接是转到java函数。

我知道此命令单击链接,按钮,复选框或单选按钮。如果单击操作导致加载新页面(如链接通常那样),请调用 waitForPageToLoad。 我认为waitforPageToLoad没有注册弹出窗口加载

更新

我尝试了以下

selenium.fireEvent("link=Identify Awards", "onClick");

并得到以下

弹出窗口在另一个域上可能是原因吗?

Exception in thread "Main Thread" org.openqa.selenium.ie.UnexpectedJavascriptExecutionException: Cannot execute script
System info: os.name: 'Windows Vista', os.arch: 'x86', os.version: '6.1', java.version: '1.5.0_12'
Driver info: driver.version: ie
    at org.openqa.selenium.ie.ErrorHandler.verifyErrorCode(ErrorHandler.java:70)
    at org.openqa.selenium.ie.InternetExplorerDriver.executeScript(InternetExplorerDriver.java:205)
    at org.openqa.selenium.internal.seleniumemulation.JavascriptLibrary.callEmbeddedSelenium(JavascriptLibrary.java:47)
    at org.openqa.selenium.internal.seleniumemulation.FireEvent.handleSeleneseCommand(FireEvent.java:35)
    at org.openqa.selenium.internal.seleniumemulation.FireEvent.handleSeleneseCommand(FireEvent.java:1)
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:33)
    at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:47)
    at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:277)
    at org.openqa.selenium.WebDriverCommandProcessor.doCommand(WebDriverCommandProcessor.java:209)
    at com.thoughtworks.selenium.DefaultSelenium.fireEvent(DefaultSelenium.java:201)

2 个答案:

答案 0 :(得分:1)

我发现在某些情况下触发javascript特别是selenium的click函数没有正确调用onClick命令元素,这可能是你遇到的问题。

如果是这样,请尝试使用以下命令显式触发onClick事件:

selenium.fire_event("link=Identify Awards", "onClick")

希望有所帮助。

答案 1 :(得分:1)

使用selenium.selectWindow选择弹出窗口,然后使用selenium.selectWindow(null)选择基本窗口。你没有描述它是哪种弹出窗口。是确认框,框架或模型对话框还是简单的另一个窗口。硒在治疗所有这些方面都有所不同