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

Фотография

не выбирается элемент списка


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

#21 panterka

panterka

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

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Panterochka
  • Город:Saint John


Отправлено 13 сентября 2011 - 14:52

Насколько я могу судить, в ExtJS выпадающие списки реализуются не через дивы, а через списки (ul - li). Пример. Может быть имеется в виду какой-то другой виджет?


Программисты сказали, что это extjs, вот пример кода

<div id="ext-gen362" class="x-layer x-combo-list " style="…">
<div id="ext-gen364" class="x-combo-list-inner" style="…">
<div class="x-combo-list-item ">Item 1</div>
<div class="x-combo-list-item ">Item 2</div>
<div class="x-combo-list-item">Item 3</div>
<div class="x-combo-list-item ">Item 4</div>
<div class="x-combo-list-item ">Item 5</div>
<div class="x-combo-list-item ">-----------------------------------------------</div>
<div class="x-combo-list-item x-combo-selected"> Item 6</div>
<div class="x-combo-list-item">Item 7</div>

</div>
</div>

Вся страница из дивов... но ни за что не могу зацепиться селениумом....
  • 0

#22 panterka

panterka

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

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Panterochka
  • Город:Saint John


Отправлено 13 сентября 2011 - 14:55

Насколько я могу судить, в ExtJS выпадающие списки реализуются не через дивы, а через списки (ul - li). Пример. Может быть имеется в виду какой-то другой виджет?

Первая выпадушка в Вашем примере почти один в один с моим списком :), только у меня вместо li везде div используется
  • 0

#23 barancev

barancev

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

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


Отправлено 13 сентября 2011 - 15:15

Ага, понял, это предыдущая версия ExtJS. Ладно, попробуем с ней поэкспериментировать.
Впрочем, я практически уверен, что selenium 1 с этим не справится, а вот вторая версия, думаю, не оплошает.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#24 panterka

panterka

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

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Panterochka
  • Город:Saint John


Отправлено 13 сентября 2011 - 15:17

Ага, понял, это предыдущая версия ExtJS. Ладно, попробуем с ней поэкспериментировать.
Впрочем, я практически уверен, что selenium 1 с этим не справится, а вот вторая версия, думаю, не оплошает.


Да, это из старых версий.
Спасибо! Очень надеюсь, что получится....
  • 0

#25 barancev

barancev

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

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


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

Попробовал, не обнаружил никаких затруднений, всё работает:

Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://dev.sencha.com/");
        selenium.start();
        selenium.open("http://dev.sencha.com/deploy/ext-3.4.0/examples/form/combos.html");
        selenium.click("ext-gen13");
        selenium.click("//div[@id='ext-gen48']/div[text()='Alaska']");

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

#26 ekulgavaya

ekulgavaya

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 14 сентября 2011 - 07:26

А если вместо списка селекта используются дивы, то такая конструкция не работает:
selenium.select("//div[@id='ext-gen374']", "label=Item 4");

Подскажите пожалуйста как побороться с ней:
<div id="ext-gen372" class="класс_нэйм1" style="...">
<div id="ext-gen374" class="класс_нэйм2" style="...">
<div class="класс_нэйм3">Item 1</div>
<div class="класс_нэйм3">Item 2</div>
<div class="класс_нэйм3">Item 3</div>
<div class="класс_нэйм3">Item 4</div>
<div class="класс_нэйм3">Item 5</div>...
</div>
</div>

Спасибо



Во-первых, циферка в айдишке после каждого открытия страницы будет новая, поэтому к ней привязываться не нужно. Я бы попробовала искать элементы по классу
Сначала подождать пока что-то появится
waitForElementPresent("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3']")
А потом уже кликать
selenium.click("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3']")
или
selenium.click("css=div.класс_нэйм1>div.класс_нэйм2>div.класс_нэйм3")
или
selenium.click("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3'[i]]")
где i= от 0 до getXpathCount("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3']")

  • 0
In God we trust, the rest we test.

#27 barancev

barancev

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

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


Отправлено 14 сентября 2011 - 08:52

Да, хорошие локаторы -- это отдельная история. Мы же решали проблему "селениум ничего не видит на странице" и поэтому не может кликнуть. Таки видит, и может :)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#28 panterka

panterka

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

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Panterochka
  • Город:Saint John


Отправлено 14 сентября 2011 - 09:04

Спасибо за советы, чешутся руки применить на своем приложении:), но буду пытать его после релиза уже, в конце недели. Обязательно отпишу о результатах!
Спасибо!
  • 0

#29 alena b

alena b

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

  • Members
  • Pip
  • 23 сообщений
  • ФИО:Alena

Отправлено 16 сентября 2011 - 09:38

такая вот проблема. есть список на странице. из него нужно выбрать элемент и нажать кнопку переноса, чтоб он переместился в другой список.
код вот какой:

<select name="ext-comp-1018" size="20" style="height: 343px; width: 230px;" multiple="false" id="plugins_accessible" class=" x-form-select-multiple x-form-field ">
<option value="1" id="ext-gen465">Экспорт в RTF</option>
<option value="2" id="ext-gen466">Экспорт в XLS</option>
</select>

я пробовала методы:
click("//select[@id='plugins_accessible']//option[@value='1']")
clickAt("//select[@id='plugins_accessible']//option[@value='1']")
mouseDown("//select[@id='plugins_accessible']//option[@value='1']")
и еще в комбинации mouseOver() и mouseDown()

ничего не помогает. элемент не выделяется никак и соответственно не переносится в другой список

может кто знает как еще можно выделить элемент? (когда руками проходишь тест, он выделяется щелчком мыши по нему)

выглядит эта форма так:
Изображение


Обычно вроде для такого вида списков используется метод selenium.addSelection("//select[@id='plugins_accessible']", "label=Экспорт в RTF");
И потом нажимается кнопка со стрелочкой.
  • 0

#30 panterka

panterka

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

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Panterochka
  • Город:Saint John


Отправлено 23 сентября 2011 - 22:06

Попробовал, не обнаружил никаких затруднений, всё работает:

Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://dev.sencha.com/");
        selenium.start();
        selenium.open("http://dev.sencha.com/deploy/ext-3.4.0/examples/form/combos.html");
        selenium.click("ext-gen13");
        selenium.click("//div[@id='ext-gen48']/div[text()='Alaska']");


Уже полностью скопировала Ваш пример - не работает. В IDE да, все супер, а вот уже когда из эклипса прогоняю - не находит, как и ожидалось, по экстиджсному айдишнику....
Но! Мой тест таки сдвинулся с места, правда только в ФФ, а это грустно). То была и есть бага хрома.
Кликаю везде с помощью засыпания+clickAt, выбираю в основном по классам, т.к. только они идут с постоянным айдишником.
  • 0


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

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