проблема с автоматизацией с помощью Ruby

#ruby #automation #watir

#ruby #автоматизация #watir

Вопрос:

Я новичок в 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")
  

затем

 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 для доступа к текстовому полю с помощью

Ie.div(:class) пробуя все классы, я всегда получаю эту ошибку

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

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

Комментарии:

1. практически невозможно определить, где вы ошибаетесь, не видя саму страницу или, по крайней мере, соответствующий HTML (где поле ввода определено как минимум) страницы.

2. Другая полезная вещь — получать сообщения об ошибках, которые вы видите, относящиеся к тем вещам, которые вы пробовали, поскольку это часто дает гораздо больше подсказок о том, в чем проблема, чем «ни одна из всех этих команд не работает», которая в основном ничего нам не говорит

3. Удалено из-за отсутствия ответа от пользователя. Последний раз их видели 22 дня назад, и, по-видимому, они мало заинтересованы в сотрудничестве с нами для решения их проблемы.

Ответ №1:

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

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

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

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

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