Перейти к содержимому

Фотография

Почему не работает через FirefoxDriver


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 Yura94

Yura94

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 27 июня 2011 - 13:06

Подскажите почему не работает?

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;


public class MyFirstTestCase {
	public static void main(String[] args){
		WebDriver driver = new FirefoxDriver();		
		driver.get( "http://www.example.com" );		
		WebElement searchInput = driver.findElement( By.id("search-input") );		
		searchInput.sendKeys( "dog" );
		searchInput.submit();		
		driver.close();		
	}
}

Пишет

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function
	at MyFirstTestCase.main(MyFirstTestCase.java:10)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 1 more

  • 0

#2 dinas

dinas

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • Город:Минск

Отправлено 27 июня 2011 - 14:30

NoClassDefFoundError судя по названию не может что-то найти. Проверьте локаторы.

А вообще я не понимаю зачем юзать громоздкую Жаву для Селениума.
from selenium import webdriver

class MyFirstTestCase():
    def main():
        driver = webdriver.Firefox()
        driver.get('http://www.example.com')
        driver.find_element_by_id('search-input').send_keys('dog').submit()
        driver.close()
Помоему языки типа Python куда более удобочитаемые как минимум, не говоря о других преимуществах.
  • 0

#3 alex_s

alex_s

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Стойкович Александр
  • Город:Ужгород

Отправлено 27 июня 2011 - 14:45

По моему просто нужные библиотеки не добавлены в classpath,
вот ссылка на такое обсуждение: http://stackoverflow...efnotfounderror
  • 0

#4 Yura94

Yura94

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 28 июня 2011 - 10:56

Добавил библиотеки все что прилагались с селениумом. alex_s, те 4 штуки там есть. Но все равно не работает. Лис открывается но ничего не переходит.


Пробую с хромом, тоже запускается браузер но ничего не происходит. Ошибка.
Exception in thread "main" java.lang.RuntimeException: Timed out waiting for http://localhost:28368/healthz to be available after 20058 ms
	at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:76)
	at org.openqa.selenium.chrome.ChromeDriverService.start(ChromeDriverService.java:150)
	at org.openqa.selenium.chrome.ChromeCommandExecutor.execute(ChromeCommandExecutor.java:48)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:389)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:103)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:86)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:97)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:87)
	at MyFirstTestCase.main(MyFirstTestCase.java:9)

  • 0

#5 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 01 июля 2011 - 05:30

я понимаю, что это глупый вопрос, но у вас сервер запущен?
  • 0

#6 dinas

dinas

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • Город:Минск

Отправлено 01 июля 2011 - 06:26

я понимаю, что это глупый вопрос, но у вас сервер запущен?

Да, это глупый вопрос. Речь идет о WebDriver
  • 0

#7 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 01 июля 2011 - 13:00

Чтобы Selenium мог запускать Chrome, нужно ещё загрузить вспомогательное приложение chromedriver -- http://code.google.c.../downloads/list и поместить его куда-нибудь в PATH

Внимание, не путайте ChromeDriver, который есть класс в составе Selenium, и отдельное приложение chromedriver, которое является частью проекта Chromium и просто для удобства выложено на страницу загрузки Selenium.
Аналогично обстоит дело с Opera -- в составе Selenium есть класс OperaDriver, для работы которого нужно вспомогательное отдельное приложение operadriver, разрабатываемое компанией Opera.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 01 июля 2011 - 13:03

Да, кстати, ещё замечание по коду -- метод submit объявлен deprecated, для отправки форм надо использовать честный click на соответствующей кнопке, или sendKeys(ENTER), если форма отправляется без кнопки.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#9 Yura94

Yura94

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 02 июля 2011 - 15:19

barancev, спасибо я так и использовал. Похоже это был баг в версии драйверов. Потому как потом зашел и скачал новые, только появившееся и все пошло.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных