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

Фотография

Selenium + java, несколько вопросов


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

#1 filipok

filipok

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

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

Отправлено 19 июля 2010 - 10:08

Здравствуйте.

Имеется несколько вопросов относительно тестирования WEB-приложения в связке Java + selenium.
В принципе особых проблем в работе не испытывал но есть кое какие вещи которые просто не знаю как сделать.

1. Приложение выбрасывает окно с предложением загрузить какой нить файл для просмотра (PDF, XML). Как проверить что данное окно высветилось, как согласиться с загрузкой? Как проверить содержимое (как получить поток данных сохраняемых)
2. Как проверить наличие "*" на экране. Просто звёздочку не ищет так как это означает поиск любого количества символов любых на странице, а если написать "\*" то ругается Java. Вариант с "\\*" тоже не прокатывает
3. Не хочет нажимать на ссылки такого вида <a> Это <br> ссылка</a>, как реализовать?
4. Как проверить что текст помечен красным цветом если в красный окрашен фон ячейки таблицы в которой находится текст. Пробовал искать ячейку по цвету фона через свойства а потом сравнивал внутренний текст с искомым текстом. Не прокатило так как отказывается искать ячейку по свойству bgcolor?

Заранее спасибо за ответы, хотя бы за часть. :focus:
  • 0

#2 mcreature

mcreature

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

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

Отправлено 19 июля 2010 - 10:58

1. Приложение выбрасывает окно с предложением загрузить какой нить файл для просмотра (PDF, XML). Как проверить что данное окно высветилось, как согласиться с загрузкой? Как проверить содержимое (как получить поток данных сохраняемых)

попробуйте посмотреть вот эти темы:
Тема 1
Тема 2

2. Как проверить наличие "*" на экране. Просто звёздочку не ищет так как это означает поиск любого количества символов любых на странице, а если написать "\*" то ругается Java. Вариант с "\\*" тоже не прокатывает

а как вы проверяете *, приведите кусочек кода?
  • 0

#3 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 19 июля 2010 - 11:10

Здравствуйте.

Имеется несколько вопросов относительно тестирования WEB-приложения в связке Java + selenium.
В принципе особых проблем в работе не испытывал но есть кое какие вещи которые просто не знаю как сделать.

1. Приложение выбрасывает окно с предложением загрузить какой нить файл для просмотра (PDF, XML). Как проверить что данное окно высветилось, как согласиться с загрузкой? Как проверить содержимое (как получить поток данных сохраняемых)
2. Как проверить наличие "*" на экране. Просто звёздочку не ищет так как это означает поиск любого количества символов любых на странице, а если написать "\*" то ругается Java. Вариант с "\\*" тоже не прокатывает
3. Не хочет нажимать на ссылки такого вида <a> Это <br> ссылка</a>, как реализовать?
4. Как проверить что текст помечен красным цветом если в красный окрашен фон ячейки таблицы в которой находится текст. Пробовал искать ячейку по цвету фона через свойства а потом сравнивал внутренний текст с искомым текстом. Не прокатило так как отказывается искать ячейку по свойству bgcolor?

Заранее спасибо за ответы, хотя бы за часть.

1. на счет первого, сходу не отвечу, надо подумать...
2. пробуйте искать по строке "\\\\*"
3. не хочет нажимать или не находит ссылку?
4. займитесь анализом html и css кода. Посмотрите какие свойства применяются к Вашей ячейке, на основании их и делайте проверки.

Пока вот... после публикации кода попробую более точно что-то посоветовать.
  • 0
Алексей Булат
Про Тестинг

#4 filipok

filipok

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

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

Отправлено 19 июля 2010 - 11:29

1. Приложение выбрасывает окно с предложением загрузить какой нить файл для просмотра (PDF, XML). Как проверить что данное окно высветилось, как согласиться с загрузкой? Как проверить содержимое (как получить поток данных сохраняемых)

попробуйте посмотреть вот эти темы:
Тема 1
Тема 2

2. Как проверить наличие "*" на экране. Просто звёздочку не ищет так как это означает поиск любого количества символов любых на странице, а если написать "\*" то ругается Java. Вариант с "\\*" тоже не прокатывает

а как вы проверяете *, приведите кусочек кода?


темки сейчас посмотрю, по поводу звёздочки

selenium.isTextPresent("*"); - естественно находит так как ищет всё подряд
selenium.isTextPresent("\*"); - ругается Java
selenium.isTextPresent("\\*"); - говорит что такого символа на странице нет, то-есть возвращает false
  • 0

#5 filipok

filipok

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

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

Отправлено 19 июля 2010 - 12:39

1. на счет первого, сходу не отвечу, надо подумать...
2. пробуйте искать по строке "\\\\*"
3. не хочет нажимать или не находит ссылку?
4. займитесь анализом html и css кода. Посмотрите какие свойства применяются к Вашей ячейке, на основании их и делайте проверки.

Пока вот... после публикации кода попробую более точно что-то посоветовать.


1. пробую нативные функции
2. поиск по строке "\\\\*" даёт отрицательный результат
3. не находит ссылку
4. анализировал, есть таблица у которой все ячейки кроме одной одинаковые, у той ячейки что отличается стоит свойство bgcolor = "red". Суть теста проверить что текст в ячейке помечен цветом. Пробую выводить System.out.println("Text: " + selenium.getText("xpath=//td[@bgcolor='red']//a"));
получаю ERROR: Element xpath=//td[@bgcolor='red']//a not found

:focus:
  • 0

#6 mcreature

mcreature

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

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

Отправлено 19 июля 2010 - 12:52

темки сейчас посмотрю, по поводу звёздочки

selenium.isTextPresent("*"); - естественно находит так как ищет всё подряд
selenium.isTextPresent("\*"); - ругается Java
selenium.isTextPresent("\\*"); - говорит что такого символа на странице нет, то-есть возвращает false


1. Ну есть предположение, что ищете не в том фрейме. Попробуйте выбрать необходимый фрейм с помощью selenium.selectFrame().
2. Если вы знаете путь до элемента (xpath), в тексте которого содержится *, то можете получить текст с помощью selenium.getText(), а потом поискать с помощью contains или других методов.

4. анализировал, есть таблица у которой все ячейки кроме одной одинаковые, у той ячейки что отличается стоит свойство bgcolor = "red". Суть теста проверить что текст в ячейке помечен цветом. Пробую выводить System.out.println("Text: " + selenium.getText("xpath=//td[@bgcolor='red']//a"));
получаю ERROR: Element xpath=//td[@bgcolor='red']//a not found

:focus:


Тут надо применять не getText, а getAttribute.
  • 0

#7 filipok

filipok

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

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

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

1. Ну есть предположение, что ищете не в том фрейме. Попробуйте выбрать необходимый фрейм с помощью selenium.selectFrame().
2. Если вы знаете путь до элемента (xpath), в тексте которого содержится *, то можете получить текст с помощью selenium.getText(), а потом поискать с помощью contains или других методов.

1. На странице нет фреймов, страница цельная.
2. Xpath нету до элемента, это просто текст, а точнее лейбл к полю ввода, что то типа "Name *. Тоесть я ищу текст со звёздочкой, таких лейблов несколько и по сему подход к поиску должен быть стандартным, не должно быть жёсткой привязки.

Тут надо применять не getText, а getAttribute.


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

#8 mcreature

mcreature

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

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

Отправлено 19 июля 2010 - 13:55

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

bgcolor - свойство элемента td, по идее его можно получить с помощью getAttribute

попробуйте так:
selenium.getAttribute("xpath=//td/@bgcolor");
только увеличьте путь до этого элемента, а то td немеряно на странице, наверное
у меня такая запись работает

хотя вообще-то селениум у вас не значение не отдает, а элемент не находит и для начала надо разобраться почему он его не находит...
  • 0

#9 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 19 июля 2010 - 14:33

1. на счет первого, сходу не отвечу, надо подумать...
2. пробуйте искать по строке "\\\\*"
3. не хочет нажимать или не находит ссылку?
4. займитесь анализом html и css кода. Посмотрите какие свойства применяются к Вашей ячейке, на основании их и делайте проверки.

Пока вот... после публикации кода попробую более точно что-то посоветовать.


1. пробую нативные функции
2. поиск по строке "\\\\*" даёт отрицательный результат
3. не находит ссылку
4. анализировал, есть таблица у которой все ячейки кроме одной одинаковые, у той ячейки что отличается стоит свойство bgcolor = "red". Суть теста проверить что текст в ячейке помечен цветом. Пробую выводить System.out.println("Text: " + selenium.getText("xpath=//td[@bgcolor='red']//a"));
получаю ERROR: Element xpath=//td[@bgcolor='red']//a not found


Давайте смотреть :) вот что нашел:

2. По поводу звездочки пробуем: selenium.isTextPresent("exact:*"); Попробовал на нашем тестовом портале - вроде работает :)
3. Попробуйте сначала сделать getText для этой ссылки найдя её через XPATH. Скорее всего <br> трансформируется в нечто на подобии символа перевода строки. Из-за этого вы не можете найти ссылку.
4. Попробуйте без кейворда "xpath=". Вот так: selenium.getText("//td[@bgcolor='red']//a");
и еще, вы уверены, что надо проверять на цвет = red, а не на код этого цвета (255 0 0 или #FF0000)
  • 0
Алексей Булат
Про Тестинг

#10 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

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

Еще вариант со звездочкой можно вот так проверить selenium.getXpathCount("//*[text()='*']")
  • 0
Алексей Булат
Про Тестинг

#11 filipok

filipok

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

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

Отправлено 20 июля 2010 - 05:05

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

bgcolor - свойство элемента td, по идее его можно получить с помощью getAttribute

попробуйте так:
selenium.getAttribute("xpath=//td/@bgcolor");
только увеличьте путь до этого элемента, а то td немеряно на странице, наверное
у меня такая запись работает

хотя вообще-то селениум у вас не значение не отдает, а элемент не находит и для начала надо разобраться почему он его не находит...

спасибо, у меня так тоже работает, свойство то я получить могу, тока надо указать конкретную ячейку (например присвоив ей какой нить id), но цель то немного другая.
Надо по цвету ячейки до неё доколебаться и получить из неё текст ссылки что бы сравнить его с тестовым текстом, нам же надо проверить что текст на странице помечен цветом. А до свойства то понятное дело что добраться нет проблем, просто в приложении у ячайки кроме как bgcolor свойства отличительных знаков нет.
  • 0

#12 filipok

filipok

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

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

Отправлено 20 июля 2010 - 05:07

1. на счет первого, сходу не отвечу, надо подумать...
2. пробуйте искать по строке "\\\\*"
3. не хочет нажимать или не находит ссылку?
4. займитесь анализом html и css кода. Посмотрите какие свойства применяются к Вашей ячейке, на основании их и делайте проверки.

Пока вот... после публикации кода попробую более точно что-то посоветовать.


1. пробую нативные функции
2. поиск по строке "\\\\*" даёт отрицательный результат
3. не находит ссылку
4. анализировал, есть таблица у которой все ячейки кроме одной одинаковые, у той ячейки что отличается стоит свойство bgcolor = "red". Суть теста проверить что текст в ячейке помечен цветом. Пробую выводить System.out.println("Text: " + selenium.getText("xpath=//td[@bgcolor='red']//a"));
получаю ERROR: Element xpath=//td[@bgcolor='red']//a not found


Давайте смотреть :) вот что нашел:

2. По поводу звездочки пробуем: selenium.isTextPresent("exact:*"); Попробовал на нашем тестовом портале - вроде работает :)
3. Попробуйте сначала сделать getText для этой ссылки найдя её через XPATH. Скорее всего <br> трансформируется в нечто на подобии символа перевода строки. Из-за этого вы не можете найти ссылку.
4. Попробуйте без кейворда "xpath=". Вот так: selenium.getText("//td[@bgcolor='red']//a");
и еще, вы уверены, что надо проверять на цвет = red, а не на код этого цвета (255 0 0 или #FF0000)

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

Так проверил вариант со звёздочкой вроде как работает, можно вопрос откуда такая информация про звёздочку и её проверку, где читануть?
По поводу поиска ячейки по цвету через xPath не прокатило
  • 0

#13 enki86

enki86

    Постоянный участник

  • Members
  • PipPipPip
  • 231 сообщений


Отправлено 20 июля 2010 - 06:08

в безвыходных ситуациях можно пользоваться Java html парсерами
они и текст вам дадут страничный, и ошибки верстки корректно обработают, удалив тэги
Ну, а потом дело техники найти в тексте какой-то символ или строку. Но это тяжелый вариант, поэтому рекомендую прибегать в самым крайних случаях. Например, если нужно сделать синтаксический анализ - проверить на наличие орфографических ошибок etc...
А для начала разберитесь с XPath
удачи
  • 0

#14 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 20 июля 2010 - 07:29

Так проверил вариант со звёздочкой вроде как работает, можно вопрос откуда такая информация про звёздочку и её проверку, где читануть?
По поводу поиска ячейки по цвету через xPath не прокатило

Не поверите, информация из оффициальной документации по Селениум :)
http://seleniumhq.or...cumentation.pdf
  • 0
Алексей Булат
Про Тестинг

#15 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 20 июля 2010 - 07:36

спасибо, у меня так тоже работает, свойство то я получить могу, тока надо указать конкретную ячейку (например присвоив ей какой нить id), но цель то немного другая.
Надо по цвету ячейки до неё доколебаться и получить из неё текст ссылки что бы сравнить его с тестовым текстом, нам же надо проверить что текст на странице помечен цветом. А до свойства то понятное дело что добраться нет проблем, просто в приложении у ячайки кроме как bgcolor свойства отличительных знаков нет.


Вот что я подумал :)

А что возвращает команда:
selenium.getXpathCount("//td[@bgcolor='red']");
Если больше 0, то вполне возможно нужно использовать индексы как в массивах в xpath... Попробуйте, может поможет :)

P.S. А вообще для таких ситуаций хорошо было бы видеть ваш HTML код.
  • 0
Алексей Булат
Про Тестинг

#16 filipok

filipok

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

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

Отправлено 20 июля 2010 - 08:22

спасибо, у меня так тоже работает, свойство то я получить могу, тока надо указать конкретную ячейку (например присвоив ей какой нить id), но цель то немного другая.
Надо по цвету ячейки до неё доколебаться и получить из неё текст ссылки что бы сравнить его с тестовым текстом, нам же надо проверить что текст на странице помечен цветом. А до свойства то понятное дело что добраться нет проблем, просто в приложении у ячайки кроме как bgcolor свойства отличительных знаков нет.


Вот что я подумал :)

А что возвращает команда:
selenium.getXpathCount("//td[@bgcolor='red']");
Если больше 0, то вполне возможно нужно использовать индексы как в массивах в xpath... Попробуйте, может поможет :)

P.S. А вообще для таких ситуаций хорошо было бы видеть ваш HTML код.


попробовал код selenium.getXpathCount("//td[@bgcolor='red']"); , результат 0 (естественно код цвета мои)
Я не против, выкладываю кусок страшного кода java скрипта
// starting the calendar table...
calendarHTML += '<table cellpadding="2" cellspacing="0" border="0" style="border-bottom: 1px solid #fff;"><tr align="right">'
// appending day initials
for (var i = 0; i < weekdayInits.length; i++) calendarHTML += '<td class="calFont" style="border-bottom: 1px solid #808080;"><small><small>' + weekdayInits[i] + '</small></small><\/td>'
calendarHTML += '<tr align="right">'
// getting the first day of the month
month.setDate(1);
var daysToStart = (month.getDay() == 0)? 7 : month.getDay();
// drawing empty cells
for (var i = 0; i < daysToStart - 1; i++) calendarHTML += '<td class="calFont"><br /><\/td>';
// drawing the calendar itself
for (var i = 1; i < 33; i++) {
month.setDate(i);
if (month.getMonth() == thisMonth) {
if (isThisMonth && currDate.getDate() == i) calendarHTML += '<td class="calFont" style="color: #ffffff;" bgcolor="#ff7f00" ><small><a href="" onClick="setDate(' + i + ', ' + thisMonth + ', ' + thisYear + '); return false;">' + i + '</a></small><\/td>';
else calendarHTML += '<td class="calFont"><small><a href="" onClick="setDate(' + i + ', ' + thisMonth + ', ' + thisYear + '); return false;">' + i + '<\/a></small><\/td>';
} else break;
if (month.getDay() == 0) calendarHTML += '<\/tr><tr align="right">';
}
// drawing empty cells if any
if (month.getDay() != 1) {
var finalDay = (month.getDay() == 0)? 7 : month.getDay();
var daysToEnd = 8 - finalDay;
for (var i = 0; i < daysToEnd; i++) calendarHTML += '<td class="calFont"><br /><\/td>';
}
// tables ends
выделяемый цвет #ff7f00
индексы, если я вас правильно понял, я использовать не могу так как часть кода предстваленного это календарь, у которого выделяется текущаяя дата, откуда следует что она каждый день разная, тоесть ячайка выделяется каждый день разная. Тоесть мы извлекаем текущую дату, достаём число и проверяем что данное число помечено цветом в календаре
  • 0

#17 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 20 июля 2010 - 12:08

выделяемый цвет #ff7f00
индексы, если я вас правильно понял, я использовать не могу так как часть кода предстваленного это календарь, у которого выделяется текущаяя дата, откуда следует что она каждый день разная, тоесть ячайка выделяется каждый день разная. Тоесть мы извлекаем текущую дату, достаём число и проверяем что данное число помечено цветом в календаре


А вот и я :)

Решение оказалось элементарным :) это была задача на внимание :)
Сделал свою тестовую страницу:

<html>
<body>
<table>
<td class="calFont" style="border-bottom: 1px solid #808080;"><a href="">123</a></td>
<td class="calFont" style="color: #ffffff;" bgcolor="#ff7f00"><a href="">456</a></td>
</table>
</body>
</html>

Далее Напустил на нее Селениум. Выполнил команду selenium.getHtmlSource()
получил следующий код:
<HEAD></HEAD>
<BODY>
<TABLE>
<TBODY>
<TR>
<TD class=calFont style="BORDER-BOTTOM: #808080 1px solid"><A href="">123</A></TD>
<TD class=calFont style="COLOR: #ffffff" bgColor=#ff7f00><A href="">456</A></TD></TR></TBODY></TABLE></BODY>

Найдите 10 отличий :)
- Первое и самое главное, что селением видит элемент bgcolor, как bgColor (большое С, а не маленькое как в первоначальном исходном коде)
Взяв это не вооружение, запускаю команду: selenium.getXpathCount("//td[@bgColor='#ff7f00']") и получаю 1 элемент. :)

Думаю это даст вам начальную точку в решении Вашей проблемы с поискам нужного элемента!

PS можно сказать, что мораль такова: разбирайте страницу используя атрибуты элементов с такими именами, как их видит Selenium, а не с теми, что у вас в исходном коде.
  • 0
Алексей Булат
Про Тестинг

#18 filipok

filipok

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

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

Отправлено 20 июля 2010 - 12:34

выделяемый цвет #ff7f00
индексы, если я вас правильно понял, я использовать не могу так как часть кода предстваленного это календарь, у которого выделяется текущаяя дата, откуда следует что она каждый день разная, тоесть ячайка выделяется каждый день разная. Тоесть мы извлекаем текущую дату, достаём число и проверяем что данное число помечено цветом в календаре


А вот и я :)

Решение оказалось элементарным :) это была задача на внимание :)
Сделал свою тестовую страницу:

<html>
<body>
<table>
<td class="calFont" style="border-bottom: 1px solid #808080;"><a href="">123</a></td>
<td class="calFont" style="color: #ffffff;" bgcolor="#ff7f00"><a href="">456</a></td>
</table>
</body>
</html>

Далее Напустил на нее Селениум. Выполнил команду selenium.getHtmlSource()
получил следующий код:
<HEAD></HEAD>
<BODY>
<TABLE>
<TBODY>
<TR>
<TD class=calFont style="BORDER-BOTTOM: #808080 1px solid"><A href="">123</A></TD>
<TD class=calFont style="COLOR: #ffffff" bgColor=#ff7f00><A href="">456</A></TD></TR></TBODY></TABLE></BODY>

Найдите 10 отличий :)
- Первое и самое главное, что селением видит элемент bgcolor, как bgColor (большое С, а не маленькое как в первоначальном исходном коде)
Взяв это не вооружение, запускаю команду: selenium.getXpathCount("//td[@bgColor='#ff7f00']") и получаю 1 элемент. :)

Думаю это даст вам начальную точку в решении Вашей проблемы с поискам нужного элемента!

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


огромное при огромное спасибо, дали пищу для размышлений, опять же доки по силениуму у меня небыло, пользовался тока Javadocs.
правда я подозревал что свойство не правильно написано и по сему дал ID нужной ячейке и по этому ID тем нименее доставал свойство bgcolor именно так как оно написано (все буковки строчные). Ну да ладно, работает и славно.

Правда пока суть да дело появился один очень важный вопрос, как сделать дистрибутив тестов, как мне видится так что бы всё запускалось двойным кликом по файлу. Ща всё запускаю через Эклипс и ант.
  • 0

#19 filipok

filipok

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

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

Отправлено 20 июля 2010 - 12:51

выделяемый цвет #ff7f00
индексы, если я вас правильно понял, я использовать не могу так как часть кода предстваленного это календарь, у которого выделяется текущаяя дата, откуда следует что она каждый день разная, тоесть ячайка выделяется каждый день разная. Тоесть мы извлекаем текущую дату, достаём число и проверяем что данное число помечено цветом в календаре


А вот и я :)

Решение оказалось элементарным :) это была задача на внимание :)
Сделал свою тестовую страницу:

<html>
<body>
<table>
<td class="calFont" style="border-bottom: 1px solid #808080;"><a href="">123</a></td>
<td class="calFont" style="color: #ffffff;" bgcolor="#ff7f00"><a href="">456</a></td>
</table>
</body>
</html>

Далее Напустил на нее Селениум. Выполнил команду selenium.getHtmlSource()
получил следующий код:
<HEAD></HEAD>
<BODY>
<TABLE>
<TBODY>
<TR>
<TD class=calFont style="BORDER-BOTTOM: #808080 1px solid"><A href="">123</A></TD>
<TD class=calFont style="COLOR: #ffffff" bgColor=#ff7f00><A href="">456</A></TD></TR></TBODY></TABLE></BODY>

Найдите 10 отличий :)
- Первое и самое главное, что селением видит элемент bgcolor, как bgColor (большое С, а не маленькое как в первоначальном исходном коде)
Взяв это не вооружение, запускаю команду: selenium.getXpathCount("//td[@bgColor='#ff7f00']") и получаю 1 элемент. :)

Думаю это даст вам начальную точку в решении Вашей проблемы с поискам нужного элемента!

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


огромное при огромное спасибо, дали пищу для размышлений, опять же доки по силениуму у меня небыло, пользовался тока Javadocs.
правда я подозревал что свойство не правильно написано и по сему дал ID нужной ячейке и по этому ID тем нименее доставал свойство bgcolor именно так как оно написано (все буковки строчные). Ну да ладно, работает и славно. Проверил, всё работает и всё достаётся :focus:

Правда пока суть да дело появился один очень важный вопрос, как сделать дистрибутив тестов, как мне видится так что бы всё запускалось двойным кликом по файлу. Ща всё запускаю через Эклипс и ант.


  • 0

#20 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 20 июля 2010 - 13:05

Правда пока суть да дело появился один очень важный вопрос, как сделать дистрибутив тестов, как мне видится так что бы всё запускалось двойным кликом по файлу. Ща всё запускаю через Эклипс и ант.

Ну, раз вы ант знаете, то и проблем быть не может :)
собираете все тесты в jar файл (что-то на подобии)
<target name="compile">
		<javac
			srcdir="${src.dir}:"
			includes="org/testcase/**"
			destdir="${build.classes.dir}"
			debug="on"
			deprecation="on"
			optimize="off"
			>
			<classpath refid="lib.classpath"/>
		</javac>
	</target>

	<target name="build" depends="compile">
		<jar jarfile="${jar.file}" basedir="${build.classes.dir}" includes="**">
		</jar>
	</target>

А дальше запускаете
java -classpath {перечисляете все необходимые jar-ы} org.blah.blahblah.Test

Ну или что-то вроде того :)
  • 0
Алексей Булат
Про Тестинг


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

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