我从两个入门文档开始了 Selenium + JUnit 4 测试。 我使用 Maven3、Java17 和 IntelliJ IDEA w/Arch Linux。
我的pom.xml如下:
<?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>org.leder</groupId>
<artifactId>HelloSelenium</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.20.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>test/main/java</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
我的Main.java如下:
package org.leder;
import dev.failsafe.internal.util.Assert;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class Main {
public static final String ALDI_ONLINESHOP_GUTES_FÜR_ALLE = "ALDI ONLINESHOP - Gutes für alle";
@Test
public void loginLogoutTest() {
WebDriver driver = new ChromeDriver();
driver.get("https://aldi-onlineshop.de");
String title = driver.getTitle();
System.out.println(title);
Assert.isTrue(title.equals(ALDI_ONLINESHOP_GUTES_FÜR_ALLE), "Title is valid");
WebElement submitButton = driver.findElement(By.cssSelector("[class='sc-jsJBEP.iXSECa']"));
submitButton.click();
WebElement loginMenu = driver.findElement(By.cssSelector("[data-attr-value='My Account']"));
loginMenu.click();
driver.quit();
}
}
我已经做了以下事情:
mvn clean test
没有任何效果!
我没有收到任何错误消息,只是成功的 Maven 输出“BUILD SUCCESS”。
我期待看到 chromium 浏览器打开并执行测试。
最有可能的是,Maven 无法识别您的测试类并且根本不运行测试。您可以在 Maven 控制台输出中检查这一点。
尝试使用 Surefire 插件使用的某种模式重命名它。例如。
MainTest
请参阅文档:https://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html