我已经实现了WebDriverEventListener接口并使用EventFiringWebDriver注册了该接口,但是一旦遇到以下代码段中突出显示的代码,它将引发异常并跳过所有测试:
public static void initialize(){试试{字符串useBrowser = prop.getProperty(“ BROWSER”);如果 (useBrowser.toLowerCase()。equals(“ chrome”)){ WebDriverManager.chromedriver()。setup();驱动程序=新 ChromeDriver(); }如果 (useBrowser.toLowerCase()。equals(“ firefox”)){ WebDriverManager.firefoxdriver()。setup();驱动程序=新 FirefoxDriver(); }如果 (useBrowser.toLowerCase()。equals(“ ie”)){ WebDriverManager.iedriver()。setup();驱动程序=新 InternetExplorerDriver(); }
eventDriver = new EventFiringWebDriver(driver); custListener = new
CustomEventListener(); eventDriver.register(custListener);司机 = eventDriver;
**driver.manage().window().maximize();** driver.manage().deleteAllCookies(); **driver.manage().timeouts().pageLoadTimeout(10,TimeUnit.SECONDS);** driver.manage().timeouts().implicitlyWait(15,TimeUnit.SECONDS); driver.get(prop.getProperty("DEV33URL")); } catch (Exception e) { e.printStackTrace(); } }
WebDriverEventListener / EventFiringWebDriver是否不支持以下这些方法? 1. driver.manage()。window()。maximize(); 2. driver.manage()。timeouts()。pageLoadTimeout(10,TimeUnit.SECONDS);
失败的配置:@BeforeMethod设置 java.lang.AbstractMethodError: org.openqa.selenium.support.events.EventFiringWebDriver $ EventFiringOptions.window()Lorg / openqa / selenium / WebDriver $ Window; 在com.WP.Base.WPCore.initialize(WPCore.java:61)处 com.WP.TestCases.HomePageTest.setup(HomePageTest.java:26)位于 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)位于 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于 java.lang.reflect.Method.invoke(来源未知) org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) 在 org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59) 在 org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:458) 在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222) 在org.testng.internal.Invoker.invokeMethod(Invoker.java:523)处 org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) 在org.testng.TestRunner.privateRun(TestRunner.java:648)处 org.testng.TestRunner.run(TestRunner.java:505)在 org.testng.SuiteRunner.runTest(SuiteRunner.java:455)在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)在 org.testng.SuiteRunner.run(SuiteRunner.java:364)在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)在 org.testng.TestNG.runSuitesLocally(TestNG.java:1137)在 org.testng.TestNG.runSuites(TestNG.java:1049)在 org.testng.TestNG.run(TestNG.java:1017)在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) 在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) 在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
跳过的配置:@AfterMethod tearDown跳过的配置: @BeforeMethod设置跳过配置:@AfterMethod tearDown 跳过配置:@BeforeMethod设置跳过配置: @AfterMethod tearDown跳过的配置:@BeforeMethod设置 跳过的配置:@AfterMethod tearDown跳过的配置: @BeforeMethod设置跳过配置:@AfterMethod tearDown 跳过配置:@BeforeMethod设置跳过配置: @AfterMethod tearDown跳过:verifyHomePageTitle