Heim >Java >javaLernprogramm >Wie führe ich JavaScript-Code mit WebDriver in Java aus?
JavaScript mit WebDriver in Java ausführen
Die Integration von JavaScript mit WebDriver (Selenium 2) mit Java bietet erweiterte Testmöglichkeiten. Befolgen Sie die Richtlinien auf der Seite „Erste Schritte“. Es ist wichtig zu verstehen, von welchem Ort aus der Befehl „./go webdriverjs“ ausgeführt werden soll.
Antwort:
Die Ausführung Der Befehl „./go webdriverjs“ erfordert keine Ausführung in einem bestimmten Ordner. Dieser Befehl wird normalerweise verwendet, wenn Sie JavaScript-Tests mit WebDriverJs ausführen möchten, einer zusätzlichen Sprachbindung für WebDriver, die das Schreiben von Tests in JavaScript ermöglicht.
Wenn Ihr Ziel jedoch darin besteht, JavaScript-Code innerhalb von Javas WebDriver auszuführen, ist der Der Ansatz ist unterschiedlich. Um JavaScript-Snippets in Ihrem Java WebDriver-Code auszuführen, verwenden Sie Folgendes:
<code class="java">WebDriver driver = new AnyDriverYouWant(); if (driver instanceof JavascriptExecutor) { ((JavascriptExecutor)driver).executeScript("yourScript();"); } else { throw new IllegalStateException("This driver does not support JavaScript!"); }</code>
Alternativ können Sie den JavascriptExecutor einer Variablen zur späteren Verwendung zuweisen:
<code class="java">WebDriver driver = new AnyDriverYouWant(); JavascriptExecutor js; if (driver instanceof JavascriptExecutor) { js = (JavascriptExecutor)driver; } // later on... js.executeScript("return document.getElementById('someId');");</code>
ExecuteScript() Die Methode akzeptiert Funktionsaufrufe und rohes JS, sodass Sie Webelemente bearbeiten und mit der Seite interagieren können. Zum Beispiel:
Element anhand der ID suchen:
<code class="java">js.executeScript("return document.getElementById('someId');");</code>
Fügen Sie einen Rahmen zu einem hinzu Element:
<code class="java">WebElement element = driver.findElement(By.anything("tada")); js.executeScript("arguments[0].style.border='3px solid red'", element);</code>
Alle Eingabeelemente in Optionsfelder ändern:
<code class="java">js.executeScript( "var inputs = document.getElementsByTagName('input');" + "for(var i = 0; i < inputs.length; i++) { " + " inputs[i].type = 'radio';" + "}" );</code>
Das obige ist der detaillierte Inhalt vonWie führe ich JavaScript-Code mit WebDriver in Java aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!