Ich versuche, einen einfachen Test zu erstellen, öffnen Sie einfach die Seite und überprüfen Sie ihren Titel. Ich dachte, es könnte nicht einfacher sein, aber ... mein Test öffnet einen neuen Tab in einem aktuell Chrome-Browser geöffnet und nicht auf driver.get(myUrl);
mit dem org.openqa.selenium.NoSuchSessionException
NoSuchSessionException beim Starten von Chromedriver
Ich habe versucht, die Modernisierung und die Herabstufung chromedriver und Modernisierung Selen Herabstufung, aber kein Glück so weit. Momentan bin ich auf selen-java 3.3.1, chromedriver 2.28 und chrome 57.0.2987.98. Jede Hilfe wird geschätzt.
Bonusfrage, das letzte Mal, als ich den Chrometreiber verwendet habe, hat es ein neues Browserfenster geöffnet, irgendeinen Weg, um darauf zurück zu kommen? Ich würde meine Tests in einem neuen Fenster anstelle eines neuen Tabs bevorzugen.
public class MyExampleTest {
private String baseUrl;
private WebDriver driver;
@Before
public void openBrowser() {
baseUrl = "http://myurl/";
System.setProperty("webdriver.chrome.driver", "C:\\Projects\\chromedriver.exe");
driver = new ChromeDriver();
driver.get(baseUrl);
}
@Test
public void pageTitleAfterSearchShouldBeThere() throws IOException {
assertEquals("The page title should be this at the start of the test.", "my title", driver.getTitle());
}
}
Stacktrace:
org.openqa.selenium.NoSuchSessionException: no such session
(Driver info: chromedriver=2.28.455520 (cc17746adff54984afff480136733114c6b3704b),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 13 milliseconds
Build info: version: '3.3.1', revision: '5234b325d5', time: '2017-03-10 09:10:29 +0000'
System info: host: 'XXXXXXXXXXXXXXX', ip: 'xxx.xxx.xxx.xx', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=unknown error: Chrome failed to start: crashed
(Driver info: chromedriver=2.28.455520 (cc17746adff54984afff480136733114c6b3704b),platform=Windows NT 6.1.7601 SP1 x86_64), platform=ANY}]
Session ID: 359ce80c1b82e53fffae055451228404
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:216)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:168)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:638)
at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:325)
at ec_selenium.CapExampleTest.openBrowser(CapExampleTest.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Geben Sie Ihren vollständigen Code hier ein. – kushal
Könnten Sie bitte auch Stack-Trace einfügen? – Mikhail