Я использую версию selenium 3.0.0-beta4. Пытался настроить параметры geckoDriver в моем проекте. Я использовал Maven и TestNG вместе с java.
import java.util.concurrent.TimeUnit;
import org.testng.annotations.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.WebDriver;
public class GmailSignupAutomation {
private WebDriver driver;
private String baseUrl;
@BeforeClass(alwaysRun = true)
public void setUp() throws Exception {System.setProperty("webdriver.gecko.driver","D://software_/geckodriver-v0.11.1-win64/geckodriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
**driver = new FirefoxDriver(capabilities);**
baseUrl = "https://accounts.google.com/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testGoogleAccountLoginForm() throws Exception {
driver.get(baseUrl + "//SignUp?service=mail&continue=https://mail.google.com/mail/?pc=topnav-about-en");
driver.findElement(By.id("FirstName")).clear();
driver.findElement(By.id("FirstName")).sendKeys("HOSSAIN");
}
@AfterClass(alwaysRun = true)
public void tearDown() throws Exception {
driver.quit();
}
}
И вот результат:
1476438749160 geckodriver INFO Прослушивание 127.0.0.1:39530 14 октября 2016 г. 15:52:29 org.openqa.selenium.remote.ProtocolHandshake createSession
ИНФОРМАЦИЯ: попытка двухдиалектного сеанса при условии, что на удаленном конце выполняется закон Постела.
1476438749613 mozprofile :: profile INFO Использование пути к профилю C: \ Users \ HOSSAI ~ 1.MAH \ AppData \ Local \ Temp \ rust_mozprofile.e9aWwalq9rWK
1476438749656 geckodriver :: marionette INFO Запуск браузера C: \ Program Files \ Mozilla Firefox \ firefox.exe
1476438749683 geckodriver :: marionette INFO Подключение к Marionette на локальном хосте: 61519 14 октября 2016 г. 15:52:32 org.openqa.selenium.remote.ProtocolHandshake createSession
ИНФОРМАЦИЯ: Возврат к прямому подключению удаленного конца W3C
1476438752490 mozprofile :: profile INFO Использование пути к профилю C: \ Users \ HOSSAI ~ 1.MAH \ AppData \ Local \ Temp \ rust_mozprofile.D6FkME6daU3V
1476438752499 geckodriver :: marionette INFO Запуск браузера C: \ Program Files \ Mozilla Firefox \ firefox.exe
1476438752535 geckodriver :: marionette INFO Подключение к Marionette на локальном хосте: 61527 14 октября 2016 г. 15:52:37 org.openqa.selenium.remote.ProtocolHandshake createSession
ИНФОРМАЦИЯ: Возврат к исходному протоколу OSS JSON Wire. 1476438757062 mozprofile :: profile INFO Использование пути к профилю
C: \ Users \ HOSSAI ~ 1.MAH \ AppData \ Local \ Temp \ rust_mozprofile.FHKHmYIM3lXI
1476438757069 geckodriver :: marionette INFO Запуск браузера C: \ Program Files \ Mozilla Firefox \ firefox.exe
1476438757127 geckodriver :: marionette ИНФОРМАЦИЯ Подключение к Marionette на локальном хосте: 61557
[Utils] Попытка создать D: \ Projects \ Automation \ GoogleSignupAutomation \ test-output \ Default suite \ Default test.xml
[Утилиты] Каталог D: \ Projects \ Automation \ GoogleSignupAutomation \ test-output \ Существует набор по умолчанию: true
НЕУДАЧНАЯ КОНФИГУРАЦИЯ: @BeforeClass setUp org.openqa.selenium.SessionNotCreatedException: невозможно создать новый удаленный сеанс. желаемые возможности = Возможности [{marionette = true, browserName = firefox, version =, platform = ANY}], необходимые возможности = Возможности [{}]
Информация о сборке: версия: 'unknown', ревизия: '3169782', время: '2016-09-29 10:24:50 -0700' Информация о системе: host: 'XYZ', ip: '101.140.178.123', os. имя: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_102'
НЕПРАВИЛЬНАЯ КОНФИГУРАЦИЯ: @AfterClass tearDown java.lang.NullPointerException в SeleniumAutomation.GoogleSignupAutomation.GmailSignupAutomation.tearDown (GmailSignupAutomation.java:55) в sun.reflect.NativeMethodAccessorNativeSun.reflect.NativeMethodMethodAccessorNvokeInvokePlus (исходный код) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Неизвестный источник) в java.lang.reflect.Method.invoke (Неизвестный источник) в org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java.:100) в Invoker.invokeConfigurationMethod (Invoker.java:515) в org.testng.internal.Invoker.invokeConfigurations (Invoker.java:216) в org.testng.internal.Invoker.invokeConfigurations (Invoker.java:143) в org.testng. .TestMethodWorker.invokeAfterClassMethods (TestMethodWorker.java:217) в org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:115) в org.testng.TestRunner.privatener.java: запустить (TestRunner.java:600) на org.testng.SuiteRunner.runTest (SuiteRunner.java:366) на org.testng.SuiteRunner.runSequencies (SuiteRunner.java:361) на org.testng.SuiteRunner.privateRun (SuiteRunner.java: 319) на org.testng.SuiteRunner.run (SuiteRunner.java:268) на org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) на org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker на orgava .:86) testng.TestNG.runSuites Последовательно (TestNG.java:1264) в org.testng.TestNG.runSuitesLocally (TestNG.java:1189) в org.testng.TestNG.runSuites (TestNG.java:1104) в org.testng.TestNG.run (TestNG.java:1076) на org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:126) на org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:152) на org.testng.remote.Remote.Remote.Remote. основной (RemoteTestNG.java:57)
ПРОПУЩЕНО: testGoogleAccountLoginForm
=============================================== Набор по умолчанию Всего запусков тестов: 1, сбоев: 0, пропусков: 1, сбоев конфигурации: 2, пропусков: 0
Default test
Tests run: 1, Failures: 0, Skips: 1
Я думаю, что после установки пути к драйверу вам нужно установить DesiredCapabilities на MarionetteDriver, как показано в приведенном ниже коде. У меня работает нормально.
Вы можете попробовать, выполнив следующие действия:
Ошибки конфигурации: 2, пропуски: 0