Проверка значений в таблицах Html Table.

При тестирование веб приложений приходиться проверять значения в 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)

Рейтинг
( Пока оценок нет )
Загрузка ...