При тестирование веб приложений приходиться проверять значения в Html таблицах. Если же таких проверок значительное количество, то удобно написать специальную функцию для такой проверки.
Для начала в фрейме мы описываем требуемую таблицу и все ее колонки. И пишем специальную функцию для проверки значений в определенных колонках таблицы.
Описание таблицы в фрейме.
WINDOW wWebMailBox tag "mailbox" HtmlTable tlbLetters tag "$mailList" HtmlColumn clnFrom tag "from" HtmlColumn clnSubject tag "subject" HtmlColumn clnReceived tag "received"
Реализация функции проверки.
void VerifyValueInColumn(WINDOW wColumn, STRING sText, INTEGER nRowNumber optional) // --------- SPECS ----------------- // // Функция делает проверку текстового значения в html таблице. // // args: // wColumn - Объект 'Колонка' в которой необходимо проверить текстовое значение. // sText - Текст который необходимо проверить. // nRowNumber - Номер строки таблицы в которой нужно проверить текст (По умолчанию равен 1). // ----------- VARIABLES ------------ STRING sValue STRING sColumnName // ----------- STEPS ------------ // Column if(IsNull(wColumn) || !IsSet(wColumn)) raise 1, "Need not null value for column." // Text if(IsNull(sText) || !IsSet(sText)) raise 1, "Need not null value for text." // RowNumber if(IsNull(nRowNumber) || !IsSet(nRowNumber)) nRowNumber = 1 do BrowserPage.SetUserOption ("ShowBorderlessTables",0.75,USEROPT_DEFAULT) if (wColumn.HtmlText("#{nRowNumber}").Exists(5)) sValue = wColumn.HtmlText("#{nRowNumber}").GetText() else sValue = wColumn.HtmlLink("#{nRowNumber}").GetCaption() sColumnName = wColumn.GetCaption() if(MatchStr("*{sText}*", sValue)) Log.Write ("Текст '{sText}' найден в колонке '{sColumnName}' в строке номер {nRowNumber}.", "Verify") else Log.Write ("Текст '{sText}' не найден в колонке '{sColumnName}' в строке номер {nRowNumber}.", "ERROR") BrowserPage.SetUserOption ("ShowBorderlessTables",0.50,USEROPT_DEFAULT) except BrowserPage.SetUserOption ("ShowBorderlessTables",0.50,USEROPT_DEFAULT)
Пример использования функции.
//Проверяем что в колонке "From" в первой строке надпись "Иванов Иван Иванович". VerifyValueInColumn(wWebMailBox.tlbLetters.clnFrom, "Иванов Иван Иванович") //Проверяем что в колонке "Subject" в пятой строке надпись "Отчет за сентябрь". VerifyValueInColumn(wWebMailBox.tlbLetters.clnSubject, "Отчет за сентябрь", 5)