我正在使用Selenium WebDriver、eclipse、testng和surefire插件。我无法从pom.xml运行testng.xml文件。当我使用mvn测试运行pom.xml时,它直接运行src/test//testcases中的文件。请就我的错误提出忠告。先谢谢你
我的POM文件:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test.maven</groupId>
<artifactId>NumberGenerator</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>NumberGenerator</name>
<!-- <url>http://maven.apache.org</url> -->
<!-- <dependencies> -->
<!-- <dependency> -->
<!-- <groupId>junit</groupId> -->
<!-- <artifactId>junit</artifactId> -->
<!-- <version>4.11</version> -->
<!-- <scope>test</scope> -->
<!-- </dependency> -->
<!-- </dependencies> -->
<!-- <build> -->
<!-- <plugins> -->
<!-- <plugin> -->
<!-- <groupId>org.apache.maven.plugins</groupId> -->
<!-- <artifactId>maven-compiler-plugin</artifactId> -->
<!-- <version>2.3.2</version> -->
<!-- <configuration> -->
<!-- <source>1.6</source> -->
<!-- <target>1.6</target> -->
<!-- </configuration> -->
<!-- </plugin> -->
<!-- </plugins> -->
<!-- </build> -->
<!-- Source directory configuration -->
<build>
<plugins>
<!-- Following plugin executes the testng tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<!-- Suite testng xml file to consider for test execution -->
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
<!-- <suiteXmlFile>suites-test-testng.xml</suiteXmlFile> -->
</suiteXmlFiles>
</configuration>
</plugin>
<!-- Compiler plugin configures the java version to be usedfor compiling
the code -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- Dependency libraries to include for compilation -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
我的testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Automation_Sobet_WBG_YiWanCai_TestSuite">
<test name="Testing">
<classes>
<class name="src/test/java/testCases.Automation_Sobet_WBG_YiWanCai"/>
</classes>
</test>
</suite>
我的测试案例:
package testCases;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import pageObjects.Home_Page;
import pageObjects.ProductListing_Page;
import utility.Constant;
import utility.Log;
import appModules.ProductSelectionConfirmation_Action;
import appModules.SignIn_ActionBuilder;
public class Automation_Sobet_WBG_YiWanCai {
public WebDriver driver;
// ******************** ABC **********************//
@Test(description = "ABC (复式)" , enabled = true)
public void WBG_FuShi() throws Exception {
try{
driver = new FirefoxDriver();
SignIn_ActionBuilder.Execute(driver);
ProductListing_Page.select_Title(driver, 1).click();
ProductListing_Page.select_Title2(driver, 3).click();
ProductSelectionConfirmation_Action.Pick_LotteryNum_All_Execute(driver, 6);
SignIn_ActionBuilder.Logout_Session(driver);
System.out.println("@ABC PASSES");
}catch (Exception e){
Log.error(e.getMessage());
throw (e);
}
}
在testng.xml文件中,必须指定完全限定的名称,而不是类的路径。下面指定的更改应该起作用。
<classes>
<class name="testCases.Automation_Sobet_WBG_YiWanCai"/>
</classes>
此外,我建议您将testng.xml文件放在路径src/test/resources/testng.xml
下,并在POM文件中更新它,如下所示。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<!-- Suite testng xml file to consider for test execution -->
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
如果不使用JUnit,可以将其从POM文件中删除。
我能够从Eclipse成功地执行我的testng.xml文件。但是我需要从命令提示符执行我的testng.xml文件。但是下面的命令不起作用,得到错误为“无法找到或加载主类testng-6.8.5.jar;”。更感谢任何帮助。
项目 当我运行代码时得到一些错误。
在eclipse IDE中,我使用Maven项目创建了一个基本的cucumber框架。 我已经添加了pom.xml.for dependencies下面添加的TestNG插件中所需的所有依赖项。 但是“TestNG套件”选项没有出现在首选项中,所以通过帮助->Install New Software安装TestNG。 testng.xml文件 但它的投掷低于错误
我在Windows上安装了Spark,我无法启动。当我输入时,我得到以下错误: Python 3.6.0 | Anaconda custom(64位)|(默认值,2016年12月23日,11:57:41)[MSC v.1900 64位(AMD64)]在win32上键入“帮助”、“版权”、“信用”或“许可证”以了解更多信息。回溯(最近一次调用):文件“c:\Spark\bin..\python\py
我已经在Eclipse中创建了用于执行Selenium测试的Maven项目。我编写了一个TestSuite作为testng.xml。我喜欢从pom.xml运行这个testng.xml。 当我运行pom.xml时(右键单击pom.xml->Maven test),构建是成功的,但没有运行任何测试。测试结果如下: 结果:运行的测试:0次,失败:0次,错误:0次,跳过:0次 我的testng.xml:
我有一套用网格运行的Selenium WebDriver测试。当我运行这个testng.xml文件时: 在我看来,在suite标记中指定parallel=“classes”与TestNG文档是一致的,但不能在单独的类中实现@test方法的异步执行。 为什么。xml文件的这种配置不起作用?我需要做什么不同的工作来使它发挥作用?