我使用JUnit5和Selenium进行测试。我需要创建一个jar文件,当执行该文件时,它将打开浏览器并执行测试用例。
我从这个视频中发现:如何从Selenium项目创建可运行的Jar文件,使用TestNG您可以创建一个对象,设置所需的测试类并运行测试类,但我还没有找到使用JUnit5执行此操作的等效方法
我知道使用JUnit platform launcher,您可以使用下面的代码来运行测试,但是在执行jar文件时这是行不通的,因为JUnit任务本身并不执行测试,只捕获输出。至少这是我从JUnit Launcher Task上读到的
public class TestExecutor {
public static void main(String args[]) {
final LauncherDiscoveryRequest request =
LauncherDiscoveryRequestBuilder.request()
.selectors(selectClass(MyTest.class))
.build();
final Launcher launcher = LauncherFactory.create();
launcher.execute(request);
}
}
有没有办法创建一个可执行的jar文件来打开浏览器并执行selenium测试?
1.实现任务定时器。(无代码,可能使用quaze)
2.实现web到手动触发。(使用springboot webmvc)
import org.junit.platform.launcher.Launcher;
import org.junit.platform.launcher.LauncherDiscoveryRequest;
import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
import org.junit.platform.launcher.core.LauncherFactory;
import org.junit.platform.launcher.listeners.SummaryGeneratingListener;
import org.junit.platform.launcher.listeners.TestExecutionSummary;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.FileNotFoundException;
import static org.junit.platform.engine.discovery.ClassNameFilter.includeClassNamePatterns;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectPackage;
@RestController
@RequestMapping("/excutor")
public class ExcutorContrller {
@GetMapping("/")
public String excute(String packageName, String className) throws FileNotFoundException {
new Thread(() -> {
System.out.println(packageName + "======" + className);
LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder
.request()
.selectors(
selectPackage(packageName)
// selectClass(com.wusuiwei.cases.JunitTest.class)
)
.filters(
includeClassNamePatterns(".*Test")
)
.build();
Launcher launcher = LauncherFactory.create();
// Register a listener of your choice
SummaryGeneratingListener listener = new SummaryGeneratingListener();
launcher.registerTestExecutionListeners(listener);
launcher.execute(request);
TestExecutionSummary summary = listener.getSummary();
System.out.println(summary);
// Do something with the TestExecutionSummary.
});
return "excuting....";
}
}
我想在Jenkins中运行Selenium Webdriver Maven测试。我遵循了教程:https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html和https://www.safaribooksonline.com/library/view/jenkins-the-definitive/978144931
问题内容: 我在运行Ubuntu的本地计算机上设置Jenkins,将其指向我的jdk,然后进行maven,创建了一个作业来运行我的Selenium测试,并为它提供了项目中pom.xml的路径,但是当我尝试运行该作业时,它立即失败。控制台输出显示 在工作区中构建/ var / lib / jenkins / workspace / new job [new job] $ / usr / share
我是硒的新手,也是毛茸茸的测试。我看到Selenium IDE只允许固定的测试用例。但是模糊测试似乎是有帮助的。 如有任何帮助,我们将不胜感激。
我们正在运行使用mspec编写的selenium webdriver测试。 我们使用内置的mspec runner从team city启动这些测试。 这是在服务器上本地使用火狐来运行测试。 我们似乎通过不同数量的成功和失败测试得到随机结果,我们相信这取决于执行速度。我们的测试套件有等待元素,但这些似乎并不总是达到预期效果。 我们有没有办法减缓整个测试套件的执行速度,以尝试缓解这个问题? 还是有更好
我正在使用shadowJar插件构建/创建我的fatJar。在我的身材里。格雷德尔我有这个 使用gradle shadowJar创建我的胖罐子。然而,创建的胖罐子的名称是一个简单的名称。全部是r100。罐子我想把它改成样本快照。r100部署。罐子如何使用ShadowJar覆盖jar名称。
假设我有一个测试来断言系统中新用户的注册是否真的成功: 现在,这将在实际数据库中创建一个新的测试用户,因为我希望这个测试在实际环境中运行。这意味着测试不能一直运行,对吗?我应该如何进行此类测试?那些使用系统的实际环境并操纵真实数据的人?