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

Фотография

Нужна помощь в автоматизации


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

#1 Dmitry_

Dmitry_

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

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

Отправлено 29 апреля 2015 - 13:32

Есть сайт, где заказ происходит в несколько шагов. Я застрял на написании тестов для проверки свободных дат и времени, ибо исходный код страницы выглядит так (даты и свободное время в js скрипте):

<div class="order-calendar">
        <input class="order-calendar__date" name="ORDER_PROP_DATE" type="hidden">
        <script>
            var daysAvailable =  [
                                    {
                      date: '2015-05-01',
                      timing: [
                                                      {name: 08, disable: 'true'} ,
                                                      {name: 10, disable: 'true'} ,
                                                      {name: 12, disable: 'true'} ,
                                                      {name: 14, disable: 'true'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-02',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-03',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-04',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-09',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-10',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-06',
                      timing: [
                                                      {name: 08, disable: 'true'} ,
                                                      {name: 10, disable: 'true'} ,
                                                      {name: 12, disable: 'true'} ,
                                                      {name: 14, disable: 'true'} ,
                                                      {name: 16, disable: 'true'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-07',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-08',
                      timing: [
                                                      {name: 08, disable: 'true'} ,
                                                      {name: 10, disable: 'true'} ,
                                                      {name: 12, disable: 'true'} ,
                                                      {name: 14, disable: 'true'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-11',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-04-30',
                      timing: [
                                                      {name: 08, disable: 'true'} ,
                                                      {name: 10, disable: 'true'} ,
                                                      {name: 12, disable: 'true'} ,
                                                      {name: 14, disable: 'true'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-05',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-12',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-13',
                      timing: [
                                                      {name: 08, disable: 'true'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-14',
                      timing: [
                                                      {name: 08, disable: 'false'} ,
                                                      {name: 10, disable: 'false'} ,
                                                      {name: 12, disable: 'false'} ,
                                                      {name: 14, disable: 'false'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    },                                    {
                      date: '2015-05-15',
                      timing: [
                                                      {name: 08, disable: 'true'} ,
                                                      {name: 10, disable: 'true'} ,
                                                      {name: 12, disable: 'true'} ,
                                                      {name: 14, disable: 'true'} ,
                                                      {name: 16, disable: 'false'} ,
                                                      {name: 18, disable: 'false'} ,
                                                      {name: 20, disable: 'false'} ,
                                                ]
                    }                            ];
        </script>
..........

Даты и время выводятся не абы какие, они должны соответствовать определенным требованиям. Главная проблема - Как получить с сайта эти данные для проверки? И как выбрать интересующие меня параметры?

 

п.с. сильно не пинать, я в самом начале интересного и увлекательного пути тестировщика, а это первый проект, для которого я решил писать авто-тесты :)

п.п.с. тесты пишу на java+selenium+junit

 

 

UPD: Если какой-либо информации не хватает, чтобы решить мой вопрос — предоставлю.


  • 0

#2 aksas

aksas

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

  • Members
  • PipPip
  • 130 сообщений
  • Город:Харьков

Отправлено 29 апреля 2015 - 14:09

а как бы вы этот функционал проверяли вручную?

как пользователь видит эту информацию?

 

вот так и вы можете их получить и выбрать. А что там в жаваскрипте в идеальном случае вас вообще не должно волновать :)


  • 0

#3 Dmitry_

Dmitry_

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

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

Отправлено 29 апреля 2015 - 14:28

а как бы вы этот функционал проверяли вручную?

как пользователь видит эту информацию?

 

вот так и вы можете их получить и выбрать. А что там в жаваскрипте в идеальном случае вас вообще не должно волновать :)

На сайте отображается календарь, доступные даты выделены, но в коде страницы нет ни малейшего упоминания календаря, кроме этого js и пары div'ов, в который обернут скрипт.

Надо как-то получить свободные даты, чтобы проверить правильность вывода. Даты выводятся именно в блоке script.

 

UPD: выяснил как полуить даты, но кроме чила ничего больше не получаю, как проверить на доступность до сих пор не знаю :(


Сообщение отредактировал Dmitry_: 29 апреля 2015 - 14:38

  • 0

#4 aksas

aksas

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

  • Members
  • PipPip
  • 130 сообщений
  • Город:Харьков

Отправлено 29 апреля 2015 - 15:03

ну доступность наверно выделена с помощью стилей? А как получили доступ к датам?


  • 0

#5 Dmitry_

Dmitry_

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

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

Отправлено 29 апреля 2015 - 15:16

ну доступность наверно выделена с помощью стилей? А как получили доступ к датам?

List<WebElement> allDate = driver.findElements(By.className("order-calendar"));
    for (WebElement date : allDate){
System.out.println(date.getText());
}

Возвращает:

previous

апрель 2015
next
Пн Вт Ср Чт Пт Сб Вс
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3

 

 
 
И больше я ничего с ними делать не могу :)
Мне кажется в знание селениума все упирается, мб книжку какую-нибудь подскажите (можно и на английском)?
 
UPD: List<WebElement> allDate = driver.findElements(By.className("order-calendar")); возвращает лишь 1 элемент, из-за этого ничего и не получается выбрать. Есть какие-нибудь соображения по этому поводу?
 
UPD2: Разобрался

Сообщение отредактировал Dmitry_: 29 апреля 2015 - 16:14

  • 0

#6 aksas

aksas

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

  • Members
  • PipPip
  • 130 сообщений
  • Город:Харьков

Отправлено 30 апреля 2015 - 07:57

а как у вас с XPATH'ами?

Мне кажется вы не до конца разобрались с задачей. Можете выложить кусок HTML из инспектора (обычно Ctrl+Shift+I), который относится к календарю?

 

По селениуму вроде вполне нормальная дока на оф.сайте


  • 0

#7 dmitrii_

dmitrii_

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

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Дмитрий

Отправлено 03 мая 2015 - 12:28

а как у вас с XPATH'ами?

Мне кажется вы не до конца разобрались с задачей. Можете выложить кусок HTML из инспектора (обычно Ctrl+Shift+I), который относится к календарю?

 

По селениуму вроде вполне нормальная дока на оф.сайте

Вы правы, не до конца разобрался. Сейчас все в порядке.

 

Обращаюсь ко всем посетителям: Подскажите любую литературу, связанную с тестированием web-приложений с помощью java, selenium и junit. Буду рад любым толковым блогам, книгам (желательно на английском). Не хочется писать непонятные постороннему человеку тесты, а у меня сейчас как раз такие, наверное. 


  • 0


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

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