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

Фотография

Как задать 2 параметра при использовании WebDriverFactory

webdriver selenium WebDriverFactory

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

#1 BossNote

BossNote

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Айгуль

Отправлено 30 сентября 2014 - 14:56

Добрый день! Нужно запустить тесты на Jenkin's c использованием библиотеки WebDriverFactory.
До ее применения тесты запускались так:

     FirefoxProfile profile = new FirefoxProfile();
     profile.setPreference("intl.accept_languages", "ru");
     String Xport = System.getProperty("lmportal.xvfb.id", ":0");
public void setUp() throws Exception {
     "lmportal.deploy.firefox.path", "/usr/bin/firefox"));
     FirefoxBinary binary = new FirefoxBinary(firefoxPath);
     binary.setEnvironmentProperty("DISPLAY", Xport);
     driver = new FirefoxDriver(binary, profile);
     driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

Как поместить profile и binary в capabilities и запрашивать драйвер с этими настройками?

 

В конечном результате необходимо указать Локаль и Бинарный FF

Тесты запускаются на jenkins, использую ant и junit


  • 0

#2 barancev

barancev

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

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


Отправлено 30 сентября 2014 - 15:00

Профиль можно, FirefoxBinary нельзя. Я подумаю, как можно это решить, отпишусь по результатам.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#3 BossNote

BossNote

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Айгуль

Отправлено 30 сентября 2014 - 15:01

Хорошо, очень важно это для нас.


  • 0

#4 razielsd

razielsd

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

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


Отправлено 30 сентября 2014 - 15:55

указать ссылку на баш-скрипт, для запуска файрфокса в котором будут все необходимые параметры вместо пути к файрфоксу пробовали ?


  • 0

#5 BossNote

BossNote

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Айгуль

Отправлено 30 сентября 2014 - 16:21

указать ссылку на баш-скрипт, для запуска файрфокса в котором будут все необходимые параметры вместо пути к файрфоксу пробовали ?

Не пробывали, если подскажете как это реализовать будем рады как слоны :)


  • 0

#6 razielsd

razielsd

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

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


Отправлено 30 сентября 2014 - 18:13

 

указать ссылку на баш-скрипт, для запуска файрфокса в котором будут все необходимые параметры вместо пути к файрфоксу пробовали ?

Не пробывали, если подскажете как это реализовать будем рады как слоны :)

 

 

Если я правильно понял код, то примерно так, но точно не помню сходу как прокинуть имя профиля в firefox:

 

#!/bin/bash

DISPLAY=1&&/usr/bin/firefox -p <profilename> $@


  • 0

#7 BossNote

BossNote

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Айгуль

Отправлено 01 октября 2014 - 07:38

 

 

указать ссылку на баш-скрипт, для запуска файрфокса в котором будут все необходимые параметры вместо пути к файрфоксу пробовали ?

Не пробывали, если подскажете как это реализовать будем рады как слоны :)

 

 

Если я правильно понял код, то примерно так, но точно не помню сходу как прокинуть имя профиля в firefox:

 

#!/bin/bash

DISPLAY=1&&/usr/bin/firefox -p <profilename> $@

 

А как-нибудь надо обращаться к нему в коде самих тестов? 


  • 0

#8 razielsd

razielsd

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

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


Отправлено 01 октября 2014 - 08:24


А как-нибудь надо обращаться к нему в коде самих тестов? 

 

 

не понимаю вопроса


  • 0

#9 BossNote

BossNote

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Айгуль

Отправлено 01 октября 2014 - 08:45

 


А как-нибудь надо обращаться к нему в коде самих тестов? 

 

 

не понимаю вопроса

 

Возможно, так как еще новичек в этом деле.
Вызываем в jenkins: 

/usr/bin/Xvfb :0 -ac&
export DISPLAY=:0

Раньше в коде во время старта браузера писали следующее: 
tring Xport = System.getProperty("lmportal.xvfb.id", ":0");
public void setUp() throws Exception {
     "lmportal.deploy.firefox.path", "/usr/bin/firefox"));
     FirefoxBinary binary = new FirefoxBinary(firefoxPath);
     binary.setEnvironmentProperty("DISPLAY", Xport);

//полный вариант в первом посте

Вопрос: Как сейчас это все организовать, если можно напишите пожалуйста развернуты ответ с примерами.

  • 0

#10 barancev

barancev

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

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


Отправлено 01 октября 2014 - 09:14

Проверил, оказывается я был неправ, оба можно :)
FirefoxProfile profile = new FirefoxProfile();
// заполняем профиль
FirefoxBinary binary = new FirefoxBinary(firefoxPath);
// устанавливаем дополнительные свойства binary
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
capabilities.setCapability(FirefoxDriver.BINARY, binary);

driver = WebDriverFactory.getDriver(capabilities);

  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#11 BossNote

BossNote

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Айгуль

Отправлено 01 октября 2014 - 11:29

Проверил, оказывается я был неправ, оба можно :)

FirefoxProfile profile = new FirefoxProfile();
// заполняем профиль
FirefoxBinary binary = new FirefoxBinary(firefoxPath);
// устанавливаем дополнительные свойства binary
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
capabilities.setCapability(FirefoxDriver.BINARY, binary);

driver = WebDriverFactory.getDriver(capabilities);

d333c4927f88.png

Вот такое появляется, после того как сделал по вашему примеру. Что я неправильно делаю?


  • 0

#12 barancev

barancev

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

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


Отправлено 01 октября 2014 - 12:50

classpath неправильно указали, видимо
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#13 BossNote

BossNote

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Айгуль

Отправлено 01 октября 2014 - 17:33

Вот поправил, билд проходит а сами тесты валятся:

CreateAccount
[junit] Running CreateAccount
[junit] Testsuite: CreateAccount
[junit] Tests run: 1, Failures: 0, Errors: 2, Time elapsed: 0.263 sec
[junit] Tests run: 1, Failures: 0, Errors: 2, Time elapsed: 0.263 sec
[junit]
[junit] Testcase: createaccount took 0.099 sec
[junit]     Caused an ERROR
[junit] Unrecognized browser type:
[junit] java.lang.Error: Unrecognized browser type:
[junit]     at ru.stqa.selenium.factory.WebDriverFactoryInternal.createLocalDriver(WebDriverFactoryInternal.java:93)
[junit]     at ru.stqa.selenium.factory.WebDriverFactoryInternal.newDriver(WebDriverFactoryInternal.java:58)
[junit]     at ru.stqa.selenium.factory.ThreadLocalSingletonStorage.createNewDriver(ThreadLocalSingletonStorage.java:91)
[junit]     at ru.stqa.selenium.factory.ThreadLocalSingletonStorage.getDriver(ThreadLocalSingletonStorage.java:36)
[junit]     at ru.stqa.selenium.factory.WebDriverFactoryInternal.getDriver(WebDriverFactoryInternal.java:49)
[junit]     at ru.stqa.selenium.factory.WebDriverFactory.getDriver(WebDriverFactory.java:39)
[junit]     at Locators.startBrowser(Locators.java:346)
[junit]
[junit]     Caused an ERROR
[junit] null
[junit] java.lang.NullPointerException
[junit]     at CreateAccount.tearDown(CreateAccount.java:624)
[junit]
[junit] Test CreateAccount FAILED

BUILD SUCCESSFUL
Total time: 1 second
[ru.st] $ ant -file build.xml AuthTest
Buildfile: /var/lib/jenkins/workspace/web.selenium.tests-dev/ru.st/build.xml 

 


  • 0

#14 barancev

barancev

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

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


Отправлено 02 октября 2014 - 10:37

Ну я же только для примера привёл код, надо его не просто копировать, а творчески осмысливать :)
 
В capabilities обязательно должен быть указан тип браузера -- а что вы вообще собираетесь запускать?
 
То есть либо надо создавать его так:

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
...

либо прописывать браузер в уже созданном объекте:

DesiredCapabilities capabilities = new DesiredCapabilities();
DesiredCapabilities.firefox().setBrowserName(BrowserType.FIREFOX);
...

  • 1
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium



Темы с аналогичным тегами webdriver, selenium, WebDriverFactory

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

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