Pergunta

O seguinte comando

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

abre um pop -up, no entanto, o teste não continua

Eu coloquei

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

Após o comando de clique, sem aproveitar, o link é para uma função Java.

Sei que este comando clica em um link, botão, caixa de seleção ou botão de rádio. Se a ação de clique fizer com que uma nova página seja carregada (como um link normalmente), liguewaitForPageToLoad. Eu acho que o waitforPageToLoad não está registrando o carregamento pop -up

Atualizar

Eu tentei o seguinte

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

e obteve o seguinte

O pop -up está em outro domínio, essa poderia ser a causa?

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)
Foi útil?

Solução

usar selenium.selectWindow para selecionar pop -up e depois usar selenium.selectWindow(null) para selecionar a janela base. Você não descreveu como que tipo de pop -up é. É uma caixa de confirmação ou um quadro ou uma caixa de diálogo modelo ou simplesmente outra janela. O selênio difere no tratamento de tudo isso

Outras dicas

Descobri que em algumas ocasiões ao desencadear o JavaScript, em particular, a função de clique do Selenium não invoca os elementos OnClick Command corretamente e esse pode ser o problema que você está encontrando.

Nesse caso, tente usar o seguinte para disparar explicitamente o evento OnClick:

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

Espero que ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top