2011-08-10 3 views
6

Есть веб-страница. Я пытаюсь проверить, что у вас много текстовых полей. Я дошел до того, что могу получить все значения в каждом текстовом поле и сохранить их в массиве, но я зациклился на том, как снова вводить те же значения в текстовые поля.Selenium IDE - ввод значений, хранящихся в массиве, в текстовое поле?

Вот то, что я до сих пор в Селен:

What I have so far Изображение большего размера:http://i.stack.imgur.com/rb93k.png

Сохраненная переменная «Count» это просто количество строк в таблице, и не вызывает проблема. Часть я обведены красным, где проблема приходит в

Когда я запускаю этот тест, вместо того, чтобы вводить значение, хранящееся в массиве по этому индексу, это просто типа:.

enter image description here

Это продолжается до конца.

Переменная «i» правильно вставлена, но почему-то вместо того, чтобы захватывать это значение, она просто вводит ее в текстовое поле.

Кто-нибудь знает, как я могу получить правильное значение в массиве?

Ниже проблематичная линия:

type | javascript{this.browserbot.getUserWindow().getTestingHooks('TextBoxValue_' + storedVars['i'])} | ${textBoxArray[${i}]} | 

ответ

1

Я думаю, вам нужно заменить кружком ссылку на ${textBoxArray[${i}] с

javascript{storedVars['textBoxArray['+storedVars['j']+']']} 

Read this blog post для получения дополнительной информации, в частности, раздел о «Установке и получении переменные.

Цитирование из статьи, рассмотрит

store | 10 | x 

Это, очевидно, устанавливает й = 10. Существует несколько способов ссылки на него: $ {x} или storedVars ['x']. Они не то же самое.

В частности

Вы не можете ничего $ {х} назначения.

1

Вы можете вставить еще одну команду перед проблемной строкой:

getEval | storedVars['text'] = storedVars['textBoxArray'][storedVars['i']]; 

И изменить проблемную строку:

type | javascript{this.browserbot.getUserWindow().getTestingHooks('TextBoxValue_' + storedVars['i'])} | ${text} 

Кроме того, это будет, вероятно, полезно объявить массив в начале от испытания:

storeEval | new Array() | textBoxArray 
2

Я использую библиотеку Selenium через Robot Tests Framework.Я не использую IDE, просто использую HTML для создания тестовых примеров и определения новых ключевых слов.

Если когда-нибудь я хочу, чтобы получить доступ к переменной элемента списка, я просто использовать следующую sintaxe

@ {list_variable_name} [0]

примечание, что $ {имя_переменной} является доступ к переменной одно значение или ссылка на переменную списка. Если мы хотим получить доступ к элементу списка, нам нужно использовать @ вместо $.

Если я правильно понимаю вашу ситуацию, @ {textBoxArray} [$ {i}] должен работать на вас.

Просьба также $ {textBoxArray } [$ {i}], потому что кажется, что вы просто неправильно используете последний}.

Подробнее на http://robotframework.googlecode.com/svn/tags/robotframework-2.5.4/doc/userguide/RobotFrameworkUserGuide.html#list-variables

Смежные вопросы