Selenium WebDriver erste Java-Beispiel zum einrichten
Ich erstellt pom.xml und eine Beispiel-Datei Selenium2Example.java einrichten Maven.
Ich folgte den Anweisungen hier http://seleniumhq.org/docs/03_webdriver.html#chrome-driver
Aber ich bin immer der Fehler "Auswahl enthält keine main Typ" am laufen Selenium2Example.java als Java-Anwendung.
Hier ist die pom.xml ich bin mit
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion>4.0.0</modelVersion>
<groupId>MySel20Proj</groupId>
<artifactId>MySel20Proj</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.25.0</version>
</dependency>
<dependency>
<groupId>com.opera</groupId>
<artifactId>operadriver</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.opera</groupId>
<artifactId>operadriver</artifactId>
<version>0.16</version>
<exclusions>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Hier ist die Selenium2Example.java ich bin mit:
package org.openqa.selenium.example;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.Chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Selenium2Example {
public static void main(String[] args) {
//Create a new instance of the Chrome driver
//Notice that the remainder of the code relies on the interface,
//not the implementation.
WebDriver driver = new ChromeDriver();
//And now use this to visit Google
driver.get("http://www.google.com");
//Alternatively the same thing can be done like this
//driver.navigate().to("http://www.google.com");
//Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));
//Enter something to search for
element.sendKeys("Cheese!");
//Now submit the form. WebDriver will find the form for us from the element
element.submit();
//Check the title of the page
System.out.println("Page title is: " + driver.getTitle());
//Google's search is rendered dynamically with JavaScript.
//Wait for the page to load, timeout after 10 seconds
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return d.getTitle().toLowerCase().startsWith("cheese!");
}
});
//Should see: "cheese! - Google Search"
System.out.println("Page title is: " + driver.getTitle());
//Close the browser
driver.quit();
}
}
Am laufen, es gibt den folgenden Fehler
Ausführen als -> Ausführen config -> (Auswahl Selenium2Example.java unter TestNG
Den Fehler
org.testng.TestNGException:
Cannot find class in classpath: Selenium2Example
at org.testng.xml.XmlClass.loadClass(XmlClass.java:76)
at org.testng.xml.XmlClass.init(XmlClass.java:68)
at org.testng.xml.XmlClass.<init>(XmlClass.java:54)
at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:542)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:766)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1302)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2715)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:302)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:10)
at org.testng.xml.Parser.parse(Parser.java:172)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:310)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:88)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst von allen, werden Sie die richtige Entscheidung getroffen (meiner Meinung nach) zu verwenden, Maven, Java, WebDriver 😉
Was Sie getan haben, sieht aus wie, die Sie gewählt haben das falsche Paket oder Datei, um Sie auszuführen!
Ist das nicht ein problem von Selen, es ist ein problem deiner Konfiguration auszuführen, die in der IDE!
Ich denke, Sie Eclipse verwenden?
Versuchen, der rechten Maustaste auf die Datei, die Sie möchten ausführen -> ausführen als -> Java-Anwendung
Dass sollte dein Problem lösen...
Wenn Sie wollen, um einige Tests mit Selenium WebDriver, vergessen Sie nicht, wählen Sie ein Testing - Framework. Ich würde empfehlen, JUnit oder noch besser, TestNG...
Gibt es kein Problem mit den java-code. Pl überprüfen Sie die installation der richtigen Treiber.. Versuchen Sie durch ändern der chrome-Treiber mit dem firefox-Treiber.