我可以编写并执行Selenium脚本,而不需要任何特殊的测试框架,但是由于我们与其他工具存在依赖关系,我希望使用Junit 5。然而,在使用Junit 4时,我从未遇到过像org.junit.jupiter.api.extension.ParameterResolutionException
这样的错误。
目前我正在使用Junit 5,并通过谷歌搜索获取一些思路,但无法解决问题。
测试脚本使用Junit 5
,Eclipse 4.8
和Selenium
:
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class loginTest {
public WebDriver driver = null;
public loginTest(WebDriver driver) {
this.driver=driver;
}
@BeforeEach
public void setUp() throws Exception {
driver.get("google.com");
System.out.println("Page title is: " + driver.getTitle());
}
@Test
public void test() {
// some action here I have in original script
System.out.println("Page title is: " + driver.getTitle());
}
@AfterEach
public void tearDown() throws Exception {
driver.quit();
}
}
堆栈跟踪:
org.junit.jupiter.api.extension.ParameterResolutionException: 在可执行文件 [public login.loginTest(org.openqa.selenium.WebDriver)] 中未注册参数解析器,该参数为 [org.openqa.selenium.WebDriver arg0]。 at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:191)
WebDriver
参数的构造函数来实例化测试类。因此,它会寻找已注册的ParameterResolver
来解析它,但是没有注册任何一个。您是否有提供WebDriver
实例的扩展? - Marc Philipp