Ich versuche eine einfache Vorrichtung zu schreiben, die den Browser öffnet und zu www.google.com navigiert. Wenn ich die Wiki-Seite benutze, passiert sie grün, aber der Browser öffnet sich nie (ich glaube nicht, dass die Methode sogar vom Wiki aufgerufen wird). Kann jemand mein Gerät und Wiki ansehen, um zu sehen, was ich falsch mache? Vielen Dank im Voraus,Fitnesse Wiki kann Selen Methode nicht korrekt aufrufen
ist die Wiki -
!|SeleniumFitness|
|URL |navigateToSite?|
|http://www.google.com| |
Nach Laufen -
!|SeleniumFitnesse| java.lang.NoSuchMethodError: org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(Lorg/openqa/selenium/remote/service/DriverService;Ljava/util/Map;)V
|URL |The instance decisionTable_4.setURL. does not exist|navigateToSite?
|http://www.google.com|!The instance decisionTable_4.navigateToSite. does not exist |
Hier wird die Fixture -
package FitNesseConcept.fitNesse;
import java.util.Properties;
import org.junit.BeforeClass;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.BeforeMethod;
//import com.google.common.base.Preconditions.*;
//import com.google.common.collect.Lists;
import fit.ColumnFixture;
public class SeleniumFitnesse extends ColumnFixture {
public static ChromeDriver driver = null;
private String navigateToSite = "";
public String URL = "";
public SeleniumFitnesse() {
Properties props = System.getProperties();
props.setProperty("webdriver.chrome.driver", "/home/ninad/eclipse-workspace/chromedriver");
driver = new ChromeDriver();
}
// SET-GET Methods
public String getURL() {
return URL;
}
public void setURL(String uRL) {
URL = uRL;
}
public String getNavigateToSite() {
return navigateToSite;
}
public void setNavigateToSite(String navigateToSite) {
this.navigateToSite = navigateToSite;
}
// Navigate to URL
public void navigateToSite() throws Throwable {
System.out.println("Navigating to Website");
try {
driver.navigate().to(URL);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Gibt es einen besonderen Grund, warum Sie Ihre eigene (noch eine) Selenium FitNesse Integration schreiben? Hast du die verfügbaren Plugins unter http://fitnesse.org/PlugIns#slimfixtures ausgecheckt? –
Warum schreiben Sie eine Fit-Säulenleuchte, möchten Sie eine Form der Entscheidungstabelle erstellen? Wenn ich mir den Code und das Wiki anschaue, kann ich nicht ganz erkennen, was Sie von der Tabelle erwarten. Wenn Sie eine Tabelle verwenden möchten, um eine Reihe von Schritten (z. B. das Öffnen einer Seite) nacheinander auszuführen, würde ich empfehlen, zum Slim-Test-Runner zu wechseln und dessen Skript-Tabelle zu verwenden (http://fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests .SliM.ScriptTable). Ihr aktueller Code verwendet eine jUnit 'BeforeMethod'-Annotation, die nichts in einem FitNesse-Kontext bedeutet oder tut. –
Vielen Dank für Ihre Antwort. Ich war mir der Slimfixture Plugins nicht bewusst. Kannst du mir Schritt für Schritt erklären, wie ich sie in mein Eclipse-Projekt importiere? Ist es so einfach wie eine Abhängigkeit von Maven hinzuzufügen? Wenn nicht, wo ist das Glas genau? Vielen Dank (fyi - ich bin Anfänger bis Mittelstufe bei all dem, ich bin an Gurke gewöhnt, aber die Firma, für die ich arbeite, will fitnesse). – noMoreMutants