如何将 Microsoft Edge 与 Selinum 一起使用 Java

How to use Microsoft Edge with Selinum Java

希望你一切都好。我正在尝试 运行 我的第一个 Selinuim 测试,但每次都失败,大多数教程使用 Chrome 但我使用的是 Microsoft Edge,我想每次都进行 运行 测试在那里,我根据 edge://settings/help 下载了正确的 Edge Webdriver 版本,这是我在代码和项目文件中所做的: 我的代码:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
//import org.openqa.selenium.edge.EdgeDriver;
public class Test {
   @org.testng.annotations.Test
   public void test() {
       WebDriver driver = new ChromeDriver();
       System.setProperty("webdriver.chrome.driver", "msedgedriver.exe");
       driver.get("http://automationpractice.com/index.php?controller=authentication&back=my-account");
   }
} ```
The error: 

[RemoteTestNG] 检测到 TestNG 版本 7.3.0 失败:测试 java.lang.IllegalStateException:驱动可执行文件的路径必须由webdriver.chrome.driver系统设置属性;有关详细信息,请参阅 https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html 在 com.google.common.base.Preconditions.checkState(Preconditions.java:847) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:134) 在 org.openqa.selenium.chrome.ChromeDriverService.access000 美元(ChromeDriverService.java:35) 在 org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:159) 在 org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355) 在 org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:123) 在 Test.test(Test.java:7) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.base/java.lang.reflect.Method.invoke(Method.java:564) 在 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132) 在 org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599) 在 org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174) 在 org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) 在 org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822) 在 org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147) 在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) 在 java.base/java.util.ArrayList.forEach(ArrayList.java:1511) 在 org.testng.TestRunner.privateRun(TestRunner.java:764) 在 org.testng.TestRunner.run(TestRunner.java:585) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:384) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) 在 org.testng.SuiteRunner.run(SuiteRunner.java:286) 在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) 在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) 在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1218) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1140) 在 org.testng.TestNG.runSuites(TestNG.java:1069) 在 org.testng.TestNG.run(TestNG.java:1037) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) 在 org.testng.remote.RemoteTestNG.initAndRun(远程TestNG.java:251) 在 org.testng.remote.RemoteTestNG.main(远程TestNG.java:77)

============================================= == 默认测试 测试 运行:1,失败:1,跳过:0

============================================= == 默认套件 总测试 运行:1,通过:0,失败:1,跳过:0 =============================================```

enter image description here

System.setProperty("webdriver.chrome.driver", "msedgedriver.exe");

提供完整路径而不是相对路径

也重新排列顺序

System.setProperty("webdriver.chrome.driver", "c:\somepath\msedgedriver.exe");
WebDriver driver = new ChromeDriver();
   

而不是 chrome 使用:

webdriver.edge.driver

喜欢

  System.setProperty("webdriver.edge.driver","D:\msedgedriver.exe"); 
  WebDriver driver = new EdgeDriver();

https://www.selenium.dev/documentation/en/webdriver/driver_requirements/

查看文档