Java 为什么我的Selenium JUnit测试会绕过@Before&@在注释之后?
我已经编写了一些代码来打印“设置”,然后运行测试,然后打印“关闭测试”。但是Selenium跳过了我的[Before]和[After]方法,只运行自己的测试Java 为什么我的Selenium JUnit测试会绕过@Before&@在注释之后?,java,selenium,selenium-webdriver,junit,Java,Selenium,Selenium Webdriver,Junit,我已经编写了一些代码来打印“设置”,然后运行测试,然后打印“关闭测试”。但是Selenium跳过了我的[Before]和[After]方法,只运行自己的测试 package smoketests; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; pub
package smoketests;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.WebDriver;
public class PageTitleJUnit {
@Test
public void PageTitleTest() {
System.out.println("Running the test");
String webURL = "http://sdettraining.com/trguitransactions/AccountManagement.aspx";
WebDriver driver = utilities.DriverFactory.open("Chrome");
driver.get(webURL);
String actualTitle = driver.getTitle();
String expectedTitle = "SDET Training | Account Management";
Assert.assertEquals(expectedTitle, actualTitle);
}
@Before
public void setUp() {
System.out.println("Setting up");
}
@After
public void tearDown() {
System.out.println("Closing the test");
}
}
出于某种原因,它只是从@test方法打印出“Running the test”,并跳过了我的Before和After方法。我尝试重新编写代码,并重新启动eclipse。但到目前为止没有任何帮助。这是控制台日志的屏幕截图。主要问题是您混淆了注释和注释 JUnit 4.x的基本注释如下所示:
@BeforeClass
@AfterClass
@之前
@之后
@Test
和
注释和导入org.junit.After代码>
但是您通过导入org.junit.jupiter.api.Test引用了
代码>
解决方案
- 从
项目工作区中删除JUnit 5.x的引用
- 通过导入org.junit.Test来解析
注释@Test
通过
清理IDE
项目工作区
执行您的
测试
Selenium正在跳过我的[Before]和[After]方法,只运行自己的测试。
这是什么意思?您正在作为JUnit测试运行,对吗?是的。这是正确的。“Before”表示它应该在运行“Test”之前运行代码块。“After”意味着它应该在测试完成后运行该行代码。但它同时跳过了“之前”和“之后”什么junit版本?我如何知道我目前使用的是哪个junit版本?我刚刚做了。我只是想知道,up投票对你的帐户有什么帮助?@Bekind这将解释该系统及其工作原理: