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

Фотография

baseUrl как переменная?

Selenium WebDriver Eclipse Ant

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

#1 VikaViktoriya

VikaViktoriya

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

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

Отправлено 07 марта 2014 - 08:59

Всем привет,

 

вот такая проблема и вопрос: У меня много Тестов.java, в каждом Тест.java есть baseUrl или в больших тестах baseUrl появляеться несколько раз. Мне нужно все эти Тесты.java запускать на разных baseUrl (на разных тестирующих машинах). Можно ли как-то baseUrl указать как переменную и в одном месте только менять?!

Запускаю все тесты через Ant(build.xml). Позже через Jenkins.

 

Заранее огромное спасибо!


  • 0

#2 appmen

appmen

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

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

Отправлено 07 марта 2014 - 09:01

можно использовать properties файл и на разных конфигурациях его менять


  • 1

#3 VikaViktoriya

VikaViktoriya

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

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

Отправлено 07 марта 2014 - 09:20

можно использовать properties файл и на разных конфигурациях его менять

 

Можно ли пример? я не программист, я только учусь....


  • 0

#4 vmaximv

vmaximv

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

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 07 марта 2014 - 09:30

Почитайте сначала про ООП: наследование, полиморфизм, инкапсуляция.


  • 0

#5 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 07 марта 2014 - 10:02

Если вы используете TestNG, то возможно параметры задавать в xml ваших тестов - 

http://testng.org/do...ters-testng-xml


  • 0

#6 appmen

appmen

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

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

Отправлено 07 марта 2014 - 13:07

Почитайте сначала про ООП: наследование, полиморфизм, инкапсуляция.

зачем?

 

Точно, а как вы тесты запускаете, может у вас уже всё есть


  • 0

#7 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 13 марта 2014 - 21:19

В связке Jenkins - Ant, наверное проще добавить baseUrl как параметр, который будет использоваться в качестве аргумента при запуске теста.

вот пример:

http://stackoverflow...-line-arguments


  • 1

#8 VikaViktoriya

VikaViktoriya

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

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

Отправлено 19 марта 2014 - 12:40

можно использовать properties файл и на разных конфигурациях его менять

 

Заработало вот так:

в build.html добавляем:

………….

<property name="webdriver.base.url" value="www.google.ru" />

………….

             <!-- Run the JUnit Tests -->

<target name="junit" depends="compile">

       <junit printsummary="on" fork="true" haltonfailure="yes">

               <classpath refid="junit.class.path" />

               <formatter type="xml" />

               <batchtest todir="${test.report.dir}">

                         <fileset dir="${src.dir}">

                                   <include name="**/*.java" />

                         </fileset>

                 </batchtest>

               <sysproperty key="webdriver.base.url" value="${webdriver.base.url}"/>

        </junit>

</target>

………….

 

в Тест.java изеняем:

………….

 

 @Before
  public void setUp() throws Exception {
    driver = new FirefoxDriver();   

   baseUrl = System.getProperty("webdriver.base.url");

                 driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
                 }

 

………….

 

 

Может кому то понадобиться  :wink: 

облегчит и ускорит работу тестировщика


  • 0

#9 vmaximv

vmaximv

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

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 19 марта 2014 - 13:12

У меня много Тестов.java, в каждом Тест.java есть baseUrl

Т.е. вы по прежнему в каждом тесте инициализируете переменную одним и тем же значением, взятым из system properties?


  • 0

#10 VikaViktoriya

VikaViktoriya

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

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

Отправлено 19 марта 2014 - 13:24

 

У меня много Тестов.java, в каждом Тест.java есть baseUrl

Т.е. вы по прежнему в каждом тесте инициализируете переменную одним и тем же значением, взятым из system properties?

 

да. Один раз в тестах заменить или в новых сразу менять, а потом при нужнде менять только в build.html


  • 0

#11 vmaximv

vmaximv

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

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 19 марта 2014 - 14:02

Почитайте сначала про ООП: наследование, полиморфизм, инкапсуляция.

зачем?

Теперь понятно?
  • 0

#12 appmen

appmen

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

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

Отправлено 19 марта 2014 - 15:41

А если один и тот же набор тестов используется в разных окружениях?

Не знаю правильно ли, но у меня й набор тестов и разные проперти файлы, возможно тут так же...


  • 0

#13 VikaViktoriya

VikaViktoriya

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

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

Отправлено 20 марта 2014 - 10:06

А если один и тот же набор тестов используется в разных окружениях?

Не знаю правильно ли, но у меня й набор тестов и разные проперти файлы, возможно тут так же...

Вы имеете в виду  на разных браузерах? (firefox, Interten Explorer и т.д.)


  • 0

#14 appmen

appmen

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

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

Отправлено 20 марта 2014 - 14:13

Вы имеете в виду  на разных браузерах? (firefox, Interten Explorer и т.д.)

 

да. Просто была идея использовать Грид, но потом передумали


  • 0

#15 VikaViktoriya

VikaViktoriya

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

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

Отправлено 21 марта 2014 - 11:26

 

Вы имеете в виду  на разных браузерах? (firefox, Interten Explorer и т.д.)

 

да. Просто была идея использовать Грид, но потом передумали

 

насчет Грида не знаю, а вот про настройки для  firefox, Interten Explorer можено тут почитать http://internetka.in...explorerdriver/


  • 1

#16 vmaximv

vmaximv

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

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 21 марта 2014 - 11:34

возможно тут так же...

Давайте я покажу, как я вижу данную тему:

У человека есть набор тестов в IDE. Он их портирует в Java. IDE услужливо в каждый тест лупит baseUrl='трататата'. Человека не смущает, что код совсем таки не DRY, до тех пор, пока кол-во тестов небольшое и нет необходимости менять этот baseUrl. Но появляется таки эта необходимость и человек начинает понимать, что перелопачивать весь этот вагон тестов клацая постоянно ctrl+v - не комильфо. Казалось бы самое время отрефакторить всю эту кашу. Но благодаря вашим советам человек решил свою проблему "влоб", но опять совсем таки не в DRY стиле.

 

Следующим этапом будет "Мне нужно все эти Тесты.java запускать на разных браузерах" - тут уже такое "лобовое" решение непрокатит.


  • 1

#17 appmen

appmen

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

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

Отправлено 21 марта 2014 - 11:39

большое спасибо, Виктория. У меня сделано так, как описано в конце примера Татьяны


  • 0



Темы с аналогичным тегами Selenium WebDriver Eclipse, Ant

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

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