Ich versuche, eine TestNG Suite gegen Internet Explorer zu starten. Es scheint jedoch fehlgeschlagen zu sein, mit dem CSS-Locator ein Element auf der Webseite zu finden. Ich verwende die Annotation @FindAll, um mehrere Ortungsstrategien anzugeben, und diese Strategien eignen sich gut für Chrome und Firefox. Hier ist der Fehler, den ich in der TestNG Ausfall Zusammenfassung sehe:Wie @FindAll funktioniert für InternetExplorer WebDriver mit Selenium
org.openqa.selenium.WebDriverException: (ACHTUNG: Der Server hat nicht bietet alle Informationen Stacktrace) Befehl Dauer oder Timeout: 70 Millisekunden Build-Info : Version: '2.53.0', Revision: '35ae25b', Uhrzeit: '2016-03-15 17:00:58' Systeminfo: Host: '(Hostname wurde hier weggelassen)', IP: '10 .18 .28.53 ', Betriebssystemname:' Windows 10 ', os.arch:' amd64 ', Versionsnummer: '10.0', java.version: '1.8.0_91' Treiberinfo: org.openqa.selenium.ie .InternetExplorerDriver Capabilities [{browserAttachTimeout = 0, dh.enableFullPageScreenshot = true, enablePersistentHover = true, ie.forceCreateProcessApi = false, ie.forceShellWindowsApi = false, pageLoadStrategy = normal, ignoreZoomSetting = false, ie.fileUploadDialogTimeout = 3000, Version = 11, Plattform = WINDOWS, nativeEvents = true, ie.ensureCleanSession = falsch, elementScrollBehavior = 0, ie.browserCommandLineSwitches =, requireWindowFocus = false, browser = Internet Explorer, initialBrowserUrl = http://localhost:28843/, javascriptEnabled = true, ignoreProtectedModeSettings = false, enableElementCacheCleanup = true, unexpectedAlertBehaviour = entlassen}] Session ID: 3ccb2fc8-aac7-484c-8a0d-ca8c8539742e *** Elementinfo: {Using = css selektor, value = # content> div.container> h1} a t sun.reflect.NativeConstructorAccessorImpl.newInstance0 (native Methode) bei sun.reflect.NativeConstructorAccessorImpl.newInstance (Unbekannt Quelle) bei sun.reflect.DelegatingConstructorAccessorImpl.newInstance (Unbekannt Quelle) bei java.lang.reflect.Constructor.newInstance (Unknown Source) bei org.openqa.selenium.remote.ErrorHandler.createThrowable (ErrorHandler.java:206) bei org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed (ErrorHandler.java:158) bei org .openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:678) unter org.openqa.selenium.remote.RemoteWebDriver.findElements (RemoteWebDriver.jav a: 388) bei org.openqa.selenium.remote.RemoteWebDriver.findElementsByCssSelector (RemoteWebDriver.java:496) bei org.openqa.selenium.By $ ByCssSelector.findElements (By.java:441) bei org.openqa .selenium.support.pagefactory.ByAll.findElements (ByAll.java:63) bei org.openqa.selenium.support.pagefactory.ByAll.findElement (ByAll.java:52) bei org.openqa.selenium.remote .RemoteWebDriver.findElement (RemoteWebDriver.java:355) bei org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement (DefaultElementLocator.java:69) bei org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler .invozieren (OrtungElem entHandler.java:38) bei com.sun.proxy. $ Proxy13.getText (Unknown Source) bei com.webcp.common.pageobjects.LoginPage.getLoginTextTop (LoginPage.java:58) bei com.webcp.common .pageobjects.LoginPage.verifyLoginTextTop (LoginPage.java:65) unter com.webcp.common.tests.LoginPageTest.verifyLoginPage (LoginPageTest.java:45) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) bei java.lang.reflect.Method.invoke (Unknown Source) bei org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java:85) bei org.testng.internal.Invoker.invokeMethod (Invoker.java:639) um org.testng.internal.Invoker.invokeTestMethod (Invoker.java: 816) bei org.testng.internal.Invoker.invokeTestMethods (Invoker.java:1124) bei org.testng.internal.TestMethodWorker.invokeTestMethods (TestMethodWorker.java:125) bei org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:108) bei org.testng.TestRunner.privateRun (TestRunner.java:774) bei org.testng.TestRunner.run (TestRunner.java:624) bei org.testng.SuiteRunner.runTest (SuiteRunner.java:359) bei org.testng.SuiteRunner.runSequentially (SuiteRunner.java:354) um org.testng.SuiteRunner.privateRun (SuiteRunner.java:312) um org.testng.SuiteRunner.run (SuiteRunner.java:261) um org. testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) um org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java:86) um org.testng.TestNG.runSuites Sequentially (TestNG.java:1215) um org.testng. TestNG.runSuitesLocally (TestNG.java:1140) um org.testng.TestNG.run (TestNG.java:1048) um org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:126) bei org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:137) bei org.testng.remote.RemoteTestNG.main (RemoteTestNG.java : 58)
Und hier ist der Code-Block, der ausgeführt wird:
TestBaseSetup Klasse Schnipsel:
public class TestBaseSetup
{
private static WebDriver driver;
private static Logger Log = Logger.getLogger(TestBaseSetup.class.getName());
static String driverPath = "C:\\Users\\bberndt\\eclipse\\Selenium Files\\";
public static WebDriver getDriver()
{
return driver;
}
private static WebDriver initIEDriver(String appURL)
{
Log.info("Launching Microsoft Internet Explorer with new profile");
File file = new File(driverPath + "IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();
Log.info("Driver instantiated");
driver.manage().window().maximize();
Log.info("Window maximized");
driver.get(appURL);
Log.info("Navigating to: " + appURL);
return driver;
}
}
LoginPageTest Klasse:
Objekt-RepositoryLoginpage:
public class LoginPage
{
protected WebDriver driver;
private static Logger Log = Logger.getLogger(LoginPage.class.getName());
@FindAll({ @FindBy(xpath = "/html/body/div/div/div/h1"),
@FindBy(css = "#content > div.container > h1") })
private WebElement loginTextTop;
@FindAll({ @FindBy(xpath = "/html/body/div/div/div/h2"),
@FindBy(css = "h2") })
private WebElement loginTextBottom;
public LoginPage(WebDriver driver)
{
this.driver = driver;
}
public String getPageTitle()
{
String title = driver.getTitle();
return title;
}
public boolean verifyLoginPageTitle()
{
String expectedPageTitle = "WTS";
return getPageTitle().contains(expectedPageTitle);
}
public String getLoginTextTop()
{
String TextTop = loginTextTop.getText();
return TextTop;
}
public boolean verifyLoginTextTop()
{
String expectedPageText = "Welcome to CenterPoint™";
return getLoginTextTop().contains(expectedPageText);
}
public String getLoginTextBottom()
{
String TextBottom = loginTextBottom.getText();
return TextBottom;
}
public boolean verifyLoginTextBottom()
{
String expectedPageText = "Please Sign In";
return getLoginTextBottom().contains(expectedPageText);
}
}
Mit welchen Versionen von Internet Explorer soll das laufen? – Zoot
Die Version, die ich verwende, ist IE 11 @Zoot –