понедельник, 20 июля 2009 г.

Example of QTP script function

Пример функции в Quick Test Professional(QTP). Кликанье или чтение по всем элементам таблицы



В данном примере используется так называемое "программное описание" или "Programmatic Descriptions" и еще иногда называют descriptive programming. Также в примере используется свойство всех веб объектов QTP Object. Данное свойство позволяет обращаться к DOM свойствам и методам web объектов. Но к сожалению в help к QTP написано, что данное свойство работает, только для IE (InternetExplorer).




'Данный пример будет работать только в IE. Т.к. свойство Object , которое тут используется поддерживается только для ie.

Set browdes=Description.Create 'Создается объект описание

browdes("micclass").Value="Browser" 'для описания micclass значение Browser

Function rcTable(obj, strmode, col, row) ' Функция с 4 параметрами на вход, obj - объект(таблица), strmode - строковое значение c(click) или r(read)

Dim intRowcount ' переменная для хранения числа строк в таблице

intRowcount= obj.RowCount ' подсчет числа строк в таблице

If intRowcount >0 Then ' Проверка на то, что число строк в таблице больше 0

For i=row To intRowcount ' Цикл от переданного в функцию параметра row до числа строк в таблице

If strmode="c" Then ' Ветвление для строкового параметра c(click)

obj.Object.rows(i).cells(col).Click 'клик на соответсвующий элемент таблицы. С использованием свойства Object .

elseif mode="r" Then ' Ветвление для строкового параметра r(read)

Print obj.GetCellData(i,col) ' Печать текста соответсвующего элемента таблицы в лог.

End If ' Конец ветвления для строкового параметра

Next ' Переход к следующему значению в цикле, если оно еще не достигло максимального

Else ' Ветвление , если intRowcount >0 = False

MsgBox "Пустая таблица, повторите операцию на другой таблице" ' Вывод окна с сообщением

End If ' Конец ветвления проверки числа строк intRowcount >0


End Function ' Окончание функции

Set objTable=Browser(browdes).Frame("html id:=_frmQueryList").WebTable("html id:=Hitlist1__searchQueriesList__searchQueriesDataGrid") ' Пример инициализации объекта для использования в функции

rcTable objTable,"c",3,1' Пример использования функции

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