Frage

Der folgende Befehl

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

Öffnet ein Popup, aber der Test wird nicht fortgesetzt

Ich habe platziert

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

Nach dem Befehl klick ohne Verfügbarkeit ist der Link zu einer Java -Funktion.

Ich weiß, dass dieser Befehl auf einen Link, eine Schaltfläche, ein Kontrollkästchen oder ein Optionsfeld klickt. Wenn die Klickaktion dazu führt, dass eine neue Seite geladen wird (wie ein Link normalerweise), rufen Sie anwaitForPageToLoad. ich glaube, dass der waitforPageToLoad Registriert das Popup -Laden nicht

Aktualisieren

Ich habe Folgendes ausprobiert

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

und bekommen die folgenden

Das Popup steht auf einer anderen Domäne, könnte dies die Ursache sein?

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)
War es hilfreich?

Lösung

verwenden selenium.selectWindow So wählen Sie Popup aus und verwenden Sie dann selenium.selectWindow(null) So wählen Sie das Basisfenster. Sie haben nicht als welche Art von Popup beschrieben. Ist ein Bestätigungsfeld oder ein Rahmen oder ein Modelldialog oder einfach ein anderes Fenster. Selen unterscheidet sich bei der Behandlung all dieser

Andere Tipps

Ich habe festgestellt, dass beim Auslösen von JavaScript in bestimmten Seleniums Klickfunktion bei einigen Gelegenheiten nicht den Befehl Elemente Onclick ordnungsgemäß aufgerufen wird, und dies könnte das Problem sein, auf das Sie stoßen.

Wenn dies die folgende Verwendung verwendet, um das Onclick -Ereignis explizit zu entlassen:

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

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top