2017-02-22 107 views
2

Мета: -Неожиданное поведение селена WebDriver

  • Firefox v51.0.1 (32-битный)
  • И.Е. v11.576.14393.0
  • И.Е.
  • Окна 10
  • Селен 3.0.1
  • Geckodriver Win32 v0.13.0
  • IEDriverServer Win3 2 v3.0.0
  • Java v1.8.0_71

Шаги для воспроизведения: -

  • Когда я использую ниже код он запускает Firefox браузер:

    System.setProperty("webdriver.chrome.driver", "path/to/geckodriver.exe"); 
    WebDriver driver = new ChromeDriver(); 
    driver.get("https://www.google.co.in"); 
    
  • Когда я использую ниже код, он запускает IE браузер:

    System.setProperty("webdriver.chrome.driver", "path/to/iedriverserver.exe"); 
    WebDriver driver = new ChromeDriver(); 
    driver.get("https://www.google.co.in"); 
    

Вопросы: -

  • Почему selenium открывает браузер на основе executable driver настройки?
  • В обоих случаях поведение селена верное?
  • Если правильно, то почему у нас есть отдельное имя класса водителя, например FirefoxDriver, InternetExplorerDriver, ChromeDriver и т. Д.?
+0

Вы хотите сказать, что 'Firefox & IE' вместо' Chrome', из-за 'driver executable'? Если да, то pls проверит то же поведение в 2.53 (любые более ранние версии 3), добавьте детали. –

+0

@Naveen На данный момент я пытаюсь использовать selenium 3.0.1 и да, он открывает 'Firefox' и' IE' вместо 'Chrome', из-за исполняемого файла ... и это мой вопрос, почему? –

ответ

3

Проект селена просто пытается запустить исполняемый файл и запросить у него новый сеанс. Проблема здесь в том, что chromedriver с готовностью принимает новый запрос сеанса для «firefox», но он не должен.

Это ошибка, на самом деле, это была резьба относительно этого на git-хабе для платы селена. If we pass chromedriver.exe for webdriver.gecko.driver , it works and opens chrome browser

Надеюсь, это поможет.