Maven 没有 运行 我的 Appium(selenium) 测试
Maven doesn't run my Appium(selenium) tests
我的JDK是1.8
版本,Surefire是2.22.2
,Maven是3.6.3
。我正在使用 junit 和 spring 注释。
当我尝试使用 mavn test
命令 运行 我的测试时,我没有得到任何错误,我得到了成功构建并且没有案例 运行.
Running testCases.TestLogin
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@7bb11784
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.808 sec
当我 运行 class 使用 IntellIJ UI 运行 时,案例 运行 是正确的。我的 class 名字以 Test*
开头。这是我的测试代码。
package testCases;
import appium.AppiumController;
import org.junit.*;
import org.springframework.context.annotation.Description;
import screens.HomeScreen;
import screens.LoginScreen;
public class TestLogin extends AppiumController {
protected static LoginScreen loginScreen;
protected static HomeScreen homeScreen;
@BeforeClass
public static void setUp() throws Exception {
startAppium();
loginScreen = new LoginScreen(driver, wait);
homeScreen = new HomeScreen(driver, wait);
}
@After
public void afterEach() {
loginScreen.appReset();
}
@Test
@Description("Verify user can login with valid credentials")
public void validLoginTest() throws Exception {
loginScreen.login("admin", "admin");
Assert.assertTrue("Home screen is not visible\n", homeScreen.isHomeScreenVisible());
}
@Test
@Description("Verify user can not login with invalid credentials")
public void invalidLoginTest() throws Exception {
loginScreen.login("admin1", "admin1");
Assert.assertFalse("Home screen is visible\n", homeScreen.isHomeScreenVisible());
}
@AfterClass
public static void tearDown() throws Exception {
stopAppium();
}
有什么问题,如何使用命令行 运行 测试用例?
您可能在 POM.xml
中同时具有 TestNg 和 Junit 依赖项
根据 TestNg 的 maven-surefire-plugin 插件文档。您可能需要 运行 两个提供程序,例如surefire-junit47 和 surefire-testng,并通过设置 属性 junit=false.
避免在 surefire-testng 提供程序中进行 运行ning JUnit 测试
文档 Ref - 第 'Running TestNG and JUnit Tests'
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<properties>
<property>
<name>junit</name>
<value>false</value>
</property>
</properties>
<threadCount>1</threadCount>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M5</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>3.0.0-M5</version>
</dependency>
</dependencies>
</plugin>
我的JDK是1.8
版本,Surefire是2.22.2
,Maven是3.6.3
。我正在使用 junit 和 spring 注释。
当我尝试使用 mavn test
命令 运行 我的测试时,我没有得到任何错误,我得到了成功构建并且没有案例 运行.
Running testCases.TestLogin Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@7bb11784 Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.808 sec
当我 运行 class 使用 IntellIJ UI 运行 时,案例 运行 是正确的。我的 class 名字以 Test*
开头。这是我的测试代码。
package testCases; import appium.AppiumController; import org.junit.*; import org.springframework.context.annotation.Description; import screens.HomeScreen; import screens.LoginScreen; public class TestLogin extends AppiumController { protected static LoginScreen loginScreen; protected static HomeScreen homeScreen; @BeforeClass public static void setUp() throws Exception { startAppium(); loginScreen = new LoginScreen(driver, wait); homeScreen = new HomeScreen(driver, wait); } @After public void afterEach() { loginScreen.appReset(); } @Test @Description("Verify user can login with valid credentials") public void validLoginTest() throws Exception { loginScreen.login("admin", "admin"); Assert.assertTrue("Home screen is not visible\n", homeScreen.isHomeScreenVisible()); } @Test @Description("Verify user can not login with invalid credentials") public void invalidLoginTest() throws Exception { loginScreen.login("admin1", "admin1"); Assert.assertFalse("Home screen is visible\n", homeScreen.isHomeScreenVisible()); } @AfterClass public static void tearDown() throws Exception { stopAppium(); }
有什么问题,如何使用命令行 运行 测试用例?
您可能在 POM.xml
中同时具有 TestNg 和 Junit 依赖项根据 TestNg 的 maven-surefire-plugin 插件文档。您可能需要 运行 两个提供程序,例如surefire-junit47 和 surefire-testng,并通过设置 属性 junit=false.
避免在 surefire-testng 提供程序中进行 运行ning JUnit 测试文档 Ref - 第 'Running TestNG and JUnit Tests'
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<properties>
<property>
<name>junit</name>
<value>false</value>
</property>
</properties>
<threadCount>1</threadCount>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M5</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>3.0.0-M5</version>
</dependency>
</dependencies>
</plugin>