Снова о юзер контролах.

Как я уже писал ранее в заметке «Автологируемые контролы» что удобно использовать юзер контролы с функцией автологирования. Так же эти контролы удобно оснастить вспомогательными методами, которые могут очень сильно облегчить написание тестовых скриптов впоследствии. Такими вспомогательными методами могут быть:

  1.  Проверка текста в текстовом поле.
  2.  Проверка цвета текста для текста или ссылки.
  3.  Проверка существования текстового элемента или ссылки.
  4.  Выбор произвольного значения из выпадающего списка.
  5.  Проверка состояния чекбокса.
  6.  и т.д.

Рассмотрим пример несколько примеров.

1. Пример проверки текста в текстовом поле.

[-] winclass MyTextField : HtmlTextField
   [+] void IsContain(string sValue, boolean bRaiseException optional)
      [+] if (this.sValue == sValue)
         [ ] Log.Write("Текст {sValue} существует в поле {this.sName()}.", "VERIFY")
      [+] else
         [+] if (bRaiseException == true)
            [ ] raise 1, "Текст {sValue} не существует в поле {this.sName()}."
         [+] else
            [ ] Log.Write("Текст {sValue} не существует в поле {this.sName()}.", "ERROR")

2. Пример проверки цвета текста для текстового элемента.

[+] winclass MyText : HtmlText
   [+] void VerifyTextColor(string sColor, boolean bRaiseException optional)
      [ ] STRING sTextColor = this.GetTextProp("$TextColor")
      [+] if(sTextColor != sColor)
         [+] if (IsNull(bRaiseException) == true || bRaiseException == false)
            [ ] Log.Write("Неверный цвет текста в {this.sName}! Ожидаемый: {sColor}, Реальный: '{sTextColor}'.", "ERROR")
         [+] else
            [ ] raise 1, "Неверный цвет текста в {this.sName}! Ожидаемый: '{sColor}', Реальный: '{sTextColor}'."
      [+] else
         [ ] Log.Write("Верный цвет текста в {this.sName}! Цвет текста:  '{sTextColor}'", "VERIFY")

Теперь для того чтобы проверить содержимое текстового поля или проверить цвет текста достаточно вызвать соответствующий метод для объекта.

wMainWindow.MyTextField("$username").IsContain("admin")

Данный код проверяет содержится ли текст «admin» в текстовом поле «user name».

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