it-swarm.com.ru

Невозможно найти соответствующий набор возможностей с Selenium 3.8.1 и драйвером gecko 0.19.0

import org.openqa.Selenium.By;
import org.openqa.Selenium.WebDriver;
//import org.openqa.Selenium.chrome.ChromeDriver;
import org.openqa.Selenium.firefox.FirefoxDriver;

public class Webdriver {

    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub


        System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        //System.setProperty("webdriver.chrome.driver","C:\\Selenium\\chromedriver.exe");
        //WebDriver driver = new ChromeDriver();

        driver.get("https://maps.mapmyindia.com");

        Thread.sleep(2000);
        driver.findElement(By.id("auto")).sendKeys("TCS");

        Thread.sleep(2000);
        driver.findElement(By.id("auto_geo")).click();

Когда я запускаю этот код в Eclipse Luna, возникает ошибка: исключение в потоке "main" org.openqa.Selenium.SessionNotCreatedException: невозможно найти соответствующий набор возможностей

5
shivam
new FirefoxDriver(DesiredCapabilities caps); 

устарела, использовать

FirefoxOptions options = new FirefoxOptions();
options.setCapability("marionette", false);
WebDriver webDriver = new FirefoxDriver(options);

и ты в порядке

9
Alexander Oreshin

Вы должны добавить возможности для Firefox. Пожалуйста, измените ваш код следующим образом

 System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");

 DesiredCapabilities capabilities = new DesiredCapabilities();

 capabilities = DesiredCapabilities.firefox();
 capabilities.setBrowserName("firefox");
 capabilities.setVersion("your firefox version");
 capabilities.setPlatform(Platform.WINDOWS);
 capabilities.setCapability("marionette", false);

 WebDriver driver = new FirefoxDriver(capabilities);

 driver.get("https://maps.mapmyindia.com");

Если у вас Windows windows_nt, вместо windows поставьте windows_nt

1
Mahmud Riad

SessionNotCreatedException

SessionNotCreatedExceptionextendsWebDriverExceptionи являетсяRuntimeException, что означает, что сеанс не может быть создан.

Возможные причины :

Возможные причины создания нового сеанса:

  • Проблемы совместимости между версиямиJDK,Selenium,WebDriverиWeb Browser.
  • Доступ к тому же номеру порта с помощью GeckoDriver или Marionette по новому сеансу, предыдущий сеанс которого еще не был освобожден.
  • Отсутствие доступа к CPU
  • Недостаток Physical Memory
  • Недостаток Swap Memory
  • Недостаток Disc Cache
  • Недостаток Network Bandwidth
  • Наличие OS chores в системе.

Блок кода:

Я не вижу проблем с кодированием в вашем блоке кода как таковом.

Решение :

Простое решение будет следующим:

  • Всегда используйте последнюю выпущенную версию JDK (Java SE 9.0.1), клиент Selenium-Java (v3.8.1), вариант WebDriver (GeckoDriver v0.19.1) и веб-браузер (Firefox Quantum Browser).
  • Если базовая версия веб-браузера слишком старая, рассмотрите возможность удаления браузера с помощью Revo Uninstaller и установки недавно выпущенной GA версии браузера Firefox.
  • Всегда используйте quit () в методе tearDown (), чтобы веб-драйвер и веб-клиент были уничтожены должным образом.
  • Очистите рабочую область проекта от вашего IDE до и после выполнения тестового пакета.
  • Очистите кэш браузера до и после выполнения ваших тестов.
  • Регулярно используйте инструмент CCleaner, чтобы стереть с себя рутинную работу ОС.
  • Выполните свой тест.
0
DebanjanB

Другая возможная причина - устаревшая версия Firefox. 

Я обновил версию, и она отлично работает! 

Я мог открыть только браузер с настройкой options.setCapability("marionette", true);, затем в открывшемся окне я обновился через диалог «О Firefox». Затем вы должны удалить строку о marionette.

Вероятно, тот, который у меня был, собирался работать только с marionette, пока мы пытаемся использовать его с geckodriver, у которого другой протокол. Любой, кто знает больше меня, может подтвердить или опровергнуть!

0
caesarsol