Comment appeler testng.xml fichier de pom.xml dans Maven
Je suis en utilisant Selenium WebDriver, Eclipse, TestNG et plugin Surefire. Je ne suis pas en mesure d'exécuter testng.xml fichier de pom.xml. Alors que je suis en cours d'exécution pom.xml à l'aide de mvn test il permet d'exécuter directement le fichier qui est dans le src/test/java.
mon pom.xml le code est
<groupId>angel</groupId>
<artifactId>Angel</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Angel</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
<dependencies>
<!-- Java API to access the Client Driver Protocols -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.21.0</version>
</dependency>
<!-- JExcel API is a java library which provides the ability to read, write, and modify Microsoft Excel spreadsheets.-->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.10</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<!-- Java API for manipulate the Microsoft Excel Sheets. -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-contrib</artifactId>
<version>3.5-beta5</version>
</dependency>
<!-- Java Mail API used to send Mails. --> <dependency> <groupId>javax.mail</groupId>
<artifactId>mail</artifactId> <version>1.4.3</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration> </plugin>
</plugins>
</project>
S'il vous plaît aider moi.
Mon projet de la structure est
project
--src/main/java
--src/main/resources
--src/test/java
|
--my testng class file with @Test method.
--src/test/resources
|
--testng.xml
--maven dependencies
--jre system library
--src
|
--main
--test
--target
pom.xml
-- =>les noms de dossier
|-- =>sous les noms de dossier
Mon testng.xml fichier est...
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite1" verbose="1" >
<test name="samplePage Test" >
<classes>
<class name="TestScripts.SamplePage" >
<methods>
<include name = "SamplePageTest_Execution"/>
</methods>
</class>
</classes>
</test>
<test name="newSamplePage Test" >
<classes>
<class name="TestScripts.NewSamplePage" >
<methods>
<include name = "NewSamplePage_Execution02"/>
</methods>
</class>
</classes>
</test>
</suite>
je voulais juste appeler la SamplePage_Execution méthode de pom.xml par le biais de testng.xml fichier.
Mon SamplePage_Execution méthode est
public class sample{
@Test
public static void SamplePageTest_Execution() throws Exception{
String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
boolean testStatus = true;
driver = new FirefoxDriver();
driver.get("http://www.google.com");
WebElement searchField = driver.findElement(By.name("q"));
searchField.sendKeys(new String [] {"selenium2.0"});
searchField.submit();
driver.close();
}}
Mon code suivant ne fonctionne pas: <configuration> <suiteXmlFiles> <suiteXmlFile>testng.xml</suiteXmlFile> </suiteXmlFiles> </configuration> Le code ci-dessous a bien fonctionné: <configuration> <comprend> <include>**/*ST.java</include> </includes> </configuration> Note: Mon sélénium java nom de code est: Selenium2ExampleST.java
OriginalL'auteur Manigandan | 2012-05-10
Vous devez vous connecter pour publier un commentaire.
Mon code suivant dans pom.xml fonctionne bien:
Exécuter le test en utilisant la commande suivante:
OU,
Merci beaucoup, newuser
OriginalL'auteur Ripon Al Wasim
Vous devriez changer suiteXmlFile à partir d'une classe dans un Fichier au lieu par exemple testng.xml fichier qui se trouve dans src/test/resources. En outre, la mise à jour de la surefire-plugin (version actuelle 2.12). Une autre chose est que le sélénium tests sont des tests d'intégration et de ne pas les tests unitaires.
Mise à jour
Vous devez ajouter le testng dépendance à la place de la junit dépendance. Donc, supprimer le junit dépendance et ajouter le testng dépendance en conséquence à la documentation de la maven-surefire-plugin.
Qu'est-ce que cela signifie? Avez-vous eu un message d'erreur? Avez-vous mise à jour maven-surefire-plugin pour 2.12 ? Où est tu testng.xml fichier situé ?
Non, je n'ai pas d'erreur msg.En fait, je vais avoir un testng classe dans les "src/test/java" répertoire. comme je l'ai mentionné plus tôt, alors que je suis en cours d'exécution pom.xml fichier directement exécute la testng fichier de classe et il fonctionne très bien. mais je veux courir que testng fichier de classe à l'aide de la testng.xml fichier et le testng.xml le fichier doit appelée par le biais de pom.xml.. Et j'ai mis à jour le maven-surfire-plugin pour 2.12 aussi.
Que vous avez à mettre une bonne testng.xml fichier dans src/test/resources et compte tenu de la configuration appropriée pour que, comme ceci: <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
je n'ai pas de chemin comme ça..Mon projet de la structure est le nom du projet --src/main/java --src/test/java | --mon testng classe --les dépendances maven --jre system library --src --cible pom.xml testng.xml. où trouver de la src/test/répertoire des ressources dans le projet d'explorer?
OriginalL'auteur khmarbaise
Vous pouvez exécuter maven test en invoquant testng.xml à partir de la ligne de commande directement via
OriginalL'auteur Xiao
Je pense qu'il y a des Erreurs élémentaires ici..
pom.xml = définition de package qui est maintenue par Maven
et testing.xml(xml utilisateur peut définir) est utilisé pour TestNG essai de définition. Soit vous utilisez la configuration xml, vous pouvez faire propre configuration des paramètres d'exécution pour l'exécution de Test NG
Et, votre condition de configuration dans le fichier xml de test (nom, auditeur nom de la classe, suite nom ou le nom de la classe) doit me correspondre à votre classe de test. Comme vous avez decleared nom de la classe = scripts de test.SamplePage mais votre classe de test = échantillon , ce xml ne sera jamais à court de votre classe de test.
Petit exemple :
<class name="com.automation.test.TestA" />
il est dans mes tests xml et ma classe de test sera TestA.OriginalL'auteur Shantonu
vous pouvez donner directement testng.xml au lieu de src/test/resources/testng.xml
Mon POM.xml fonctionne très bien. Le remplacer par votre POM.xml . Mise à jour de votre maven et de courir à nouveau. Bonne chance 🙂
OriginalL'auteur Shubham Jain
OriginalL'auteur ADIL HANNOUNI