0

I SelenJava und Eclipse-Mars bin mit, um einen Test zu schreiben. Ich beschloss, Hot Code Replacement zu verwenden, um meine Selentests zu debuggen. Der Hauptgrund, warum ich mich für HCR entschieden habe, war, zu meinen Locators zu kommen (Beispiel: WebElement searchBox = driverChrome.findElement(By.xpath("bla bla"));) und den xpath zu testen, ob es funktioniert oder nicht, und wenn nicht, ändere ich es, speichere es und probiere es erneut, ohne das Ganze laufen zu lassen Prüfung.Wie * Hot-Code Replacement * verwenden, um meine XPath zu korrigieren es falsch ist

Ich habe dieses Problem, dass wenn ich etwas ändern, und klicken Sie auf Speichern, um es zeigt:

enter image description here:

Below mein Beispielcode finden:

public static void main(String[] args) throws InterruptedException { 
     System.setProperty("webdriver.chrome.driver", "Chrome Drivers\\chromedriverWindows32"); 
     try { 
      WebDriver driverChrome = new ChromeDriver(); 
      driverChrome.get("http://www.google.com/xhtml"); 
      driverChrome.manage().window().maximize(); 
      String name = "bla bla"; 
      driverChrome.findElement(By.name(name)).click(); 
      Thread.sleep(2000); // Let the user actually see something! 
      driverChrome.quit(); 
     } catch (Exception e) {   
      e.printStackTrace(); 
     } 
    } 
+0

Mögliches Duplikat: - http://stackoverflow.com/questions/23156405/change-execution-of-java-program-while-debugging –

Antwort

0

mit mehr Details aktualisiert

Hot-Code-Ersatz funktioniert nicht bei jeder Codesituation. Erwägen Sie, den XPath als Zeichenfolgenvariable festzulegen, und ändern Sie dann den Wert dieser Variablen als Teil des Debugging.

Zum Beispiel:

@Test 
public void changeExpression() throws Exception { 
    WebDriver browser = new FirefoxDriver(); 
    browser.get("http://google.com"); 
    WebElement searchBtn = 
      browser.findElement(By.xpath("*//form//input[@value='Google Search']")); 
    //do other stuff... 
    browser.quit(); 
} 

setzen Sie nun einen Stützpunkt auf der WebElement searchBtn ... Aussage. Führen Sie den Test im Debug-Modus aus. Überschreiten Sie den Haltepunkt, damit die Anweisung browser.findElement ausgeführt wird. Sie haben entweder ein initialisiertes WebElement searchBtn oder eine Ausnahme, weil der XPath ungültig ist.

Jetzt können Sie das Expressions-Fenster in Eclipse öffnen (Fenster -> Show View => Other => Expressions).

Hier können Sie die Anweisung find bearbeiten, insbesondere die Anweisung xpath.

enter image description here

Ehrlich gesagt, wenn Sie nur zu validieren XPaths versuchen, wäre es viel einfacher zu bedienen Entwickler-Tools in Chrome, IE oder Firefox sein:

enter image description here

HTH

+0

hat leider nicht funktioniert :( –

+1

Sorry, mir ist klar, dass ich nicht h Ave war klar: Ändern Sie den Wert der Variablen, indem Sie das Expression-Fenster im Debug-Modus verwenden. Es ist subtil anders als Hot-Code-Update. Sie können das Ausdruckfenster zum Auswerten/Testen von Suchlogik, Schritten usw. verwenden. –

+0

Aber nachdem ich den Locator übergeben und herausgefunden habe, dass es falsch war, wie kann ich zurückgehen und sehen, ob der neue Wert dem bannerXpath in Expression zugewiesen wurde Fenster funktioniert oder nicht? –

Verwandte Themen