2011-08-10 12 views
6

Istnieje strona internetowa, którą próbuję przetestować, która ma wiele pól tekstowych. Doszedłem do punktu, w którym mogę pobrać wszystkie wartości w każdym polu tekstowym i zapisać je w tablicy, ale utknąłem, jak ponownie wpisywać te same wartości do pól tekstowych.Selenium IDE - Wprowadzanie wartości przechowywanych w tablicy do pola tekstowego?

Oto co mam do tej pory w selen:

What I have so far Większy widok:http://i.stack.imgur.com/rb93k.png

Przechowywane zmienna „count” jest po prostu liczba wierszy w tabeli, i nie powoduje problem. Część I już zakreślony na czerwono jest, gdy problem jest w

Kiedy uruchomić ten test, zamiast wpisywać wartość zapisaną w tablicy w tym indeksie, po prostu typy:.

enter image description here

To trwa do końca.

Zmienna "i" jest prawidłowo wstawiana, ale z jakiegoś powodu zamiast przechwytywania tej wartości, po prostu wpisuje ją w polu tekstowym.

Czy ktoś wie, jak mogę uzyskać poprawną wartość w tablicy?

Poniżej jest problematyczne linia:

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

Odpowiedz

1

myślę, że trzeba wymienić kółkiem odniesienie do ${textBoxArray[${i}] z

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

Read this blog post uzyskać więcej informacji, zwłaszcza rozdział o „ustawianie i pobieranie zmienne ".

Cytowanie z artykułu pod

store | 10 | x 

To oczywiście określa x = 10. Istnieje kilka sposobów na odniesienie: $ {x} lub storedVars ['x']. To nie to samo.

W szczególności

Nie można niczego $ {x} przypisać.

1

Można wstawić jeszcze jedno polecenie przed problematycznej linii:

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

I zmienić problematyczne wiersz:

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

także będzie prawdopodobnie pomocne zadeklarować swoją tablicę na początku testu:

storeEval | new Array() | textBoxArray 
2

Używam biblioteki Selenium za pomocą Robot Tests Framework.Nie używam żadnego IDE, tylko używając HTML do tworzenia przypadków testowych i definiowania nowych słów kluczowych.

gdy kiedykolwiek chcą uzyskać dostęp do listy zmienny element, wystarczy użyć następującej składni

@ {list_variable_name} [0]

uwaga, że ​​$ {nazwa_zmiennej} jest dostęp do zmiennej pojedynczą wartość lub odniesienie do zmiennej listy. Jeśli chcemy uzyskać dostęp do elementu listy, musimy użyć @ zamiast $.

Jeśli dobrze rozumiem Twoją sytuację, @ {textBoxArray} [$ {i}] powinno działać.

Wypróbuj również $ {textBoxArray } [$ {i}], ponieważ wydaje się, że po prostu wyszukujesz ostatnie}.

Więcej informacji pod adresem http://robotframework.googlecode.com/svn/tags/robotframework-2.5.4/doc/userguide/RobotFrameworkUserGuide.html#list-variables

Powiązane problemy