автоматизировать проблемы с Ruby - PullRequest
0 голосов
/ 06 октября 2011

Я новичок в Ruby, и у меня возникли проблемы с использованием Ruby и Watir для автоматизации тестов. Моя проблема в том, что я не могу добраться до текстового поля на веб-странице ‘Id = namecolumnbeginswith’ и ‘name = ProjectsList_namecolumnbeginswith_0’

Я попробовал это:

ie.text_field(:name, "ProjectsList_namecolumnbeginswith_0").set("gapc")

тогда

ie.hidden(:xpath, "//input[ @id='namecolumnbeginswith' @title='Search By Name'  @name='ProjectsList_namecolumnbeginswith_0' @iniValue='Starts With' @prompt='Starts With' @value='Starts With']/").set("gapc")

тогда

ie.frame(:name, "FRAME").frame(:name, "nested_frame").text_field(:name, "ProjectsList_namecolumnbeginswith_0").set("gapc")

1012 * тогда *

ie.link(:href, "/pwcollab/wdk/theme/documentum/css/dragdrop.css").click

тогда

ie.link(:class, "projectsList").click

тогда

ie.frame(:name,"FRAME").frame(:name,"nested_frame").button(:value,"ProjectsList_OK_0").click

ни одна из всех этих команд не работает

Ссылка на эту веб-страницу:

    '</script>'
</head>
<frameset onload="onLoad()" rows="100%,*" border="0">
    <frame title="Frame for system use" src="/pwcollab/wdk/blank.htm" noresize />
    <frame title="Frame for system use" src="/pwcollab/wdk/blank.htm" />
</frameset>
</html>

Я использую watir, чтобы найти свои кадры и получил этот результат с IRB:

irb(main):048:0> ie.show_frames

0 кадров

=> 0..-1

Затем я попытался DOM получить доступ к текстовому полю, используя

Т.е. (div): пробуя все классы, у меня всегда есть эта ошибка

Watir::Exception::UnknownObjectException: Unable to locate element

Подводя итог, мне нужно несколько советов для доступа к текстовому полю на веб-странице с помощью Ruby & Watir для автоматизации тестирования веб-приложения.

1 Ответ

0 голосов
/ 10 октября 2011

Нам нужна дополнительная информация, чтобы сообщить вам, где может быть проблема (кроме болтающегося за клавиатурой ;-) Я и другие пользователи watir были бы рады предложить помощь, но без вашего ответа на комментарии (редактировать) вопрос) нам не хватает работать.

В частности, чтобы сказать вам, что может быть не так, нам понадобится хотя бы одна из двух вещей.

1) исходный код веб-страницы, где определяется элемент, с которым вы пытаетесь взаимодействовать. Ни один из элементов страницы, с которыми вы пытаетесь взаимодействовать, отсутствует в небольшом фрагменте HTML, который вы включили. Там даже нет фрейма, который вы пытаетесь использовать «вложенный фрейм», так что, к сожалению, немного HTML совершенно бесполезен, когда речь идет о предоставлении нам информации, которая нам нужна, чтобы помочь вам.

2) Конкретные ошибки. "ни одна из всех этих команд не работает" сообщает ноль полезной информации. Если мы увидим конкретную ошибку, возвращаемую из разных вещей, которые вы пробовали, то у нас будет немного больше понимания того, КАК и ПОЧЕМУ что-то не работает, и зная причину ошибки, возможно, сможет определить Вы, что вам нужно сделать, чтобы ваш код работал.

Наконец, небольшой совет. Вы указываете значение идентификатора для одного из элементов, к которому вы пытаетесь обратиться. Если у элемента есть идентификатор, так как согласно стандартам HTML идентификаторы должны быть уникальными на странице, одного этого должно быть достаточно для идентификации элемента. Добавление в класс, имя или любой другой атрибут будет избыточным в этой точке.

...