我试图用TestNG.xml运行我的TestNG套件。我的套件中总共有四个类,但我只能用所有方法一次运行两个类。假设我在每个类中有3个方法,那么在TestNG套件中,如果我只添加两个类,TestNG.xml文件将用6个方法运行我的两个测试。现在,如果我尝试在testng.xml文件中添加第三个类,它将只运行每个类的第一个方法。这意味着现在它只运行3个方法(每个类一个)。我在我的项目下创建了一个源文件夹,然后在这个源文件夹中创建了这个testng.xml文件。请让我知道我做错了什么好吗。下面是我的testng.xml文件和测试用例。
testng.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="MurcuryTour AUtomation suite">
<test name="MurcuryTour">
<classes>
<class name="murcuryTourPagesTests.LoginPageTest"></class>
<class name="murcuryTourPagesTests.FlightsPageTest"></class>
<class name="murcuryTourPagesTests.HomePageTest"></class>
</classes>
</test>
</suite>
Here is my all test classes that I am trying to run in test suite.
package murcuryTourPagesTests;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.MurcuryTour.qa.base.TestBase;
import com.MurcuryTour.qa.pages.FlightsPage;
import com.MurcuryTour.qa.pages.LoginPage;
public class LoginPageTest extends TestBase{
LoginPage loginpage;
FlightsPage flightspage;
public LoginPageTest() {
super();
}
@BeforeClass
public void setup() {
initialization();
loginpage = new LoginPage();
flightspage = new FlightsPage();
}
@Test(priority=1)
public void titleVerification() {
String title =loginpage.validatePageTitle();
Assert.assertEquals(title,"Sign-on: Mercury Tours");
}
@Test(priority=2)
public void login() {
flightspage =loginpage.login(prop.getProperty ("username"),prop.getProperty("password"));
}
@AfterClass
public void tearDown() {
driver.quit();
}
}
-----------------------------------------------------------
2nd class:
package murcuryTourPagesTests;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import com.MurcuryTour.qa.base.TestBase;
import com.MurcuryTour.qa.pages.HomePage;
import com.MurcuryTour.qa.pages.LoginPage;
import com.MurcuryTour.qa.pages.RegistrationPage;
public class HomePageTest extends TestBase {
LoginPage loginpage;
HomePage homepage;
RegistrationPage registrationPage;
public HomePageTest() {
super();
}
@BeforeTest
public void setup() {
initialization();
loginpage = new LoginPage();
loginpage.login(prop.getProperty("username"),prop.getProperty("password"));
homepage = new HomePage();
registrationPage = new RegistrationPage();
}
@Test(priority = 1)
public void click_On_Home_Tab() {
homepage.Click_On_Home_Tab();
}
@Test(priority = 2)
public void home_Page_Title_Verification() {
String title = homepage.Verify_HomePage_Title();
Assert.assertEquals(title, "Welcome: Mercury Tours");
}
@AfterSuite
public void tearDown() {
driver.close();
}
}
---------------------------------------------------------------------
3rd class:
package murcuryTourPagesTests;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.MurcuryTour.qa.base.TestBase;
import com.MurcuryTour.qa.pages.FlightsPage;
import com.MurcuryTour.qa.pages.HomePage;
import com.MurcuryTour.qa.pages.LoginPage;
public class FlightsPageTest extends TestBase{
LoginPage loginpage;
FlightsPage flightspage;
HomePage homepage;
public FlightsPageTest() {
super();
}
@BeforeClass
public void setup() {
initialization();
loginpage= new LoginPage();
loginpage.login(prop.getProperty("username"),prop.getProperty ("password"));
flightspage= new FlightsPage();
homepage= new HomePage();
}
@Test(priority=1)
public void verifyFlightsPageTitle() {
String title =flightspage.varifyFlightsPageTitle();
Assert.assertEquals(title,"Find a Flight: Mercury Tours:");
}
@Test(priority=2)
public void move_To_Find_A_FlightPage() {
flightspage.clickOnFindFlights();
}
@Test(priority=3)
public void move_To_Reservation_Page(){
flightspage.clickOnreserveFlights();
}
@Test(priority=4)
public void enter_User_Inofrmation() {
flightspage.enterUserInformation();
}
@Test(priority=5)
public void back_To_Home_Page(){
homepage=flightspage.backToHomePage();
}
@AfterClass
public void tearDown() {
driver.quit();
}
}
执行testng xml时,它在套件中只执行1个测试 基本测试- 登录测试-
我已经在Eclipse中创建了用于执行Selenium测试的Maven项目。我编写了一个TestSuite作为testng.xml。我喜欢从pom.xml运行这个testng.xml。 当我运行pom.xml时(右键单击pom.xml->Maven test),构建是成功的,但没有运行任何测试。测试结果如下: 结果:运行的测试:0次,失败:0次,错误:0次,跳过:0次 我的testng.xml:
有4个类包含测试< code>TestClass1、TestClasss2、TestClass3、TestClass4。您需要创建2个测试套件,每个套件将包含2个类,并使用< code>Maven surefire插件并行运行它们。 我创建了两个包含以下内容的xml文件: 和 也添加到: 接下来,我用命令< code>mvn clean test运行项目,项目将要运行,但是测试没有开始。我哪里错了
22.13.7.测试报告 测试任务默认生成以下结果. 一份HTML测试报告 一个与Ant的JUnit测试报告任务兼容的XML.这个格式与许多其他服务兼容,如CI serves 结果是有效的二进制,测试任务会从这些二进制结果生成其他结果。 有一个独立的TestReport任务类型会根据一些Test任务实例生成的二进制源码生成一个HTML报告.使用这种测试类型,需要定义一个destinationDir
当运行单元测试的时候,Gradle 会输出一份 HTML 格式的报告以方便查看结果。Android plugin 则将所有连接设备的测试报告都合并到一个 HTML 格式的报告文件中。所有测试结果都以 XML 文件形式保存到 build/reports/androidTests/ 中(类似于 JUnit 的运行结果保存在 build/reports/tests 中)。可以自定义路径: android
5.4 测试报告 当运行单元测试的时候,Gradle 会生成一份 HTML 报告以便于查看测试结果。 Android plugins 在这个基础上扩展了 HTML 报告,以合并所有已连接设备上的测试结果。 5.4.1 单工程报告 在运行测试的时候工程会自动的生成报告,默认位置是: build/reports/androidTests 这和 jUnit 报告的位置 build/reports/tes