Как я уже писал ранее в заметке «Автологируемые контролы» что удобно использовать юзер контролы с функцией автологирования. Так же эти контролы удобно оснастить вспомогательными методами, которые могут очень сильно облегчить написание тестовых скриптов впоследствии. Такими вспомогательными методами могут быть:
- Проверка текста в текстовом поле.
- Проверка цвета текста для текста или ссылки.
- Проверка существования текстового элемента или ссылки.
- Выбор произвольного значения из выпадающего списка.
- Проверка состояния чекбокса.
- и т.д.
Рассмотрим пример несколько примеров.
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».