Question

La commande suivante

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

Ouvre une fenêtre contextuelle mais le test ne continue pas

J'ai placé

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

Une fois la commande cliquez pour en savoir plus, le lien est vers une fonction Java.

Je sais que cette commande clique sur un lien, un bouton, une case à cocher ou un bouton radio. Si l'action de clics fait charger une nouvelle page (comme le fait généralement un lien), appelezwaitForPageToLoad. Je pense que le waitforPageToLoad n'enregistre pas le chargement contextuel

Mise à jour

J'ai essayé ce qui suit

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

Et j'ai ce qui suit

La popup est sur un autre domaine pourrait-ce être la cause?

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)
Était-ce utile?

La solution

utilisation selenium.selectWindow Pour sélectionner une fenêtre contextuelle, puis utiliser selenium.selectWindow(null) Pour sélectionner la fenêtre de base. Vous n'avez pas décrit comme de quel type de popup c'est. Est une boîte de confirmation ou un cadre ou une boîte de dialogue de modèle ou simplement une autre fenêtre. le sélénium diffère dans le traitement de tous ces

Autres conseils

J'ai découvert que, à certaines occasions, lors du déclenchement de JavaScript dans la fonction de clic de Selenium, n'invoque pas correctement la commande elements onclick et cela pourrait être le problème que vous rencontrez.

Si c'est le cas, essayez d'utiliser ce qui suit pour licencier explicitement l'événement OnClick:

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

J'espère que cela pourra aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top