Здесь есть пара вопросов, на которые стоит обратить внимание. Вот код, который будет делать то, что вам нужно, а затем объяснение.
Во-первых, настройте свой тест на выполнение только одной итерации, поскольку в этой одной итерации вы просматриваете таблицу данных. Если бы вы избегали цикла в коде, вы могли бы установить для него значение «Выполнить все строки», и он будет перебирать таблицу данных.
<opens the number dialog>
data_length = DataTable.GetRowCount 'returns 6
for i=1 To data_length
DataTable.SetCurrentRow(i)
swfWindow("main_client").SwfWindow("tallyDialog").WinEdit("Current Value: -000.00).Set DataTable.Value("length") 'expecting it to read and input first value.
swfWindow("main_client").SwfWindow("tallyDialog").ActiveX("Enter") 'click enter
avg_length = swfWindow("main_client").SwfWindow("tallyDialog").Check (Checkpoint("Value must be from 0 to 100))
If avg_length then
reporter.reportEvent micPass, "test passed"
Else
reporter.reportEvent micFail, "test failed"
End if
Next
Обратите внимание на команду DataTable.SetCurrentRow
в начале цикла, которая устанавливает строку данных с индексом цикла i
. Это гарантирует, что каждый раз в цикле таблица данных выбирает правильный элемент данных для итерации цикла.
Дайте эту попытку, и если у вас все еще есть проблемы, опубликуйте комментарий с вашей проблемой, и я постараюсь помочь вам в дальнейшем.