Русская версия

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator

Copyright © 2026 by Somov Studio. All Rights Reserved.


Описание

Русская версия ››

Hat

Особенность браузера Hat в том что автотесты напрямую выполняются в браузере без Selenium и WebDriver.

Встроенный фреймворк HatFramework содержит достаточное количество методов необходимых для выполнения основных задач автоматизации тестирования. Для описания скриптов автотестов используется язык программирования C# и встроенный редактор кода. Так же в качестве редактора можно воспользоваться Visual Studio. Удобный интерфейс браузера отображает все шаги выполнения теста с подробным описанием событий. Результат проверки формируется в отчет и отправляются на указаную почту. Запуск автотестов возможен из командной строки операционной системы Windows это пригодится при использовании автотестов в популярных средствах непрерывной интеграции таких как: Jenkins, TeamCity, GitLab CI/CD.

Официальная страница: https://somovstudio.github.io/ru/

Скачать приложение с GitFlic: https://gitflic.ru/project/somovstudio/hat/

Версия данной документации соответствует версии браузера 1.5.0.3 (обновление 27.03.2026)

Created with the Personal Edition of HelpNDoc: Easily create Help documents


Быстрый старт

Русская версия ››

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


Системные требования

Русская версия ›› Быстрый старт ››

Системные требования

1. Операционная система Windows 8, 8.1, 10, 11

2. Пакет Microsoft .NET Framework 4.8 (cкачать установщик .NET Framework Runtime )

3. Пакет Microsoft Edge WebView2 (cкачать установщик WebView2 Runtime )

Примечание: в архиве приложения в папке Redist содержатся установщики пакетов Microsoft .NET Framework 4.8 и Microsoft Edge WebView2

Created with the Personal Edition of HelpNDoc: Easily create EPub books


Установка и запуст

Русская версия ›› Быстрый старт ››

Установка и запуск браузера Hat

1. Скачайте браузер с официальной страницы на GitHub: https://github.com/SomovStudio/Hat/

Прверьте архив антивирусником и если всё в порядке откройте свойства архива и включите флаг "Разблокировать" чтобы система не спрашивала у вас разрешения при каждом запуске браузера.

2. Приложение абсолютно портативное и скаченный архив можна распаковать в любое место на жестком диске.

Совет: лучше не устанавливать в папку Program Files иначе придется дать приложению права администратора, распакуйте в корен диска.

перейдите в папку Hat-1.0.0

3. В папке Redist содержатся установщики пакетов Microsoft .NET Framework 4.8 и Microsoft Edge WebView2

4. В папке Hat находится само приложение.

Браузер запускается файлом Hat.exe

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


Создание простого проекта

Русская версия ›› Быстрый старт ››

Создание проекта и запуск автотеста

1. В окне "Проект" на вкладке "Проводник" или в основном меню "Создать проект" нажмите кнопку "Создать простой проект"

2. Создайте папку в которой будет содержаться проект с любым именем и в любом месте на диске.

В данном случае создана папка Project по адресу C:\Hat-1.0.0\

Выделите папку проекта и нажмите OK

3. В окне "Проект" на вкладке "Проводник" отобразится содержимое проекта.

Как вы можите видеть проект не пустой, он содержить несколько демонстрационных автотестов.

4. Нажмите дважды на файле ExampleTest1.cs чтобы открыть его в редакторе кода.

В 61 строке закоментирована строка с вызовом метода BrowserCloseAsync() который закрывает браузер.

Это нужно для того чтобы браузер автоматически не закрылся по завершению работы автотеста.

Проект успешно создан.

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


Создание проекта совместимого с Visual Studio

Русская версия ›› Быстрый старт ››

Создание проекта совместимого с Visual Studio

1. В окне "Проект" на вкладке "Проводник" или в основном меню "Создать проект" нажмите кнопку "Создать проект совместимый с Visual Studio"

2. Откроектся поп-ап для ввода имени проекта.

Обязательное условие имя проекта должно быть латинскими буквами и без пробелов.

3. Создайте папку в которой будет содержаться проект с любым именем и в любом месте на диске.

В данном случае создана папка Project по адресу C:\Hat-1.0.0\

Выделите папку проекта и нажмите OK

4. В окне "Проект" на вкладке "Проводник" отобразится содержимое проекта.

Как вы можите видеть проект не пустой, он содержить несколько демонстрационных автотестов.

5. Данный проект поддерживает работы в Visual Studio (предполагается что Visual Studio у вас уже установлен)

Чтобы открыть проект в Visual Studio нажмите в окне "Проект" на кнопку "Проводник"

Затем дважды нажмите на файл с расширением *.sln (в данном случае MyTests.sln)

Когда загрузится Visual Studio сразу будет открыт наш проект и доступен к работе в окне "Обозреватель решений"

Нажмите дважды на файле ExampleTest1.cs чтобы открыть его в редакторе кода.

В 59 строке закоментирована строка с вызовом метода BrowserCloseAsync() который закрывает браузер.

Это нужно для того чтобы браузер автоматически не закрылся по завершению работы автотеста.

Использовать Visual Studio очень удобно тем что редактор при вводе показывает выпадающий список со всеми доступными методами, а так же показывает синтаксис выбранного метода и требуемые ему переменные.

Проект успешно создан.

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


Запуск автотеста и его результат

Русская версия ›› Быстрый старт ››

Запуск автотеста

Чтобы запустить автотест нужно его выбрать в папке tests и нажать на кнопку "Запустить тест"

В нашем случае запускается файл ExampleTest1.cs

Процесс проверки отображается на вкладке "Тест"

По завершению работы автотеста в корне проекта будет создана папка "report" в которой содержаться все отчеты и скриншоты с результатами выполненной проверки.

Нажав дважды на файл отчета (например Report-ExampleTest1.html) вы получите отчет с полным описание о ходе выполнения автотеста.

Подробно про отчеты и отправку отчетов по почте смотрите в соответствующих разделах.

В результате проект был создан, автотест запущен и в результате получен отчет.

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


Кэш браузера

Русская версия ››

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


Очистка

Русская версия ›› Кэш браузера ››

Кэш браузера - очистка

Браузер автоматически выполняет очистку кэша перед каждым запуском и сообщает об этом в консоли

Вы так же можете очистить кэш вручную.

Для этого вам нужно закрыть браузер и удалить папку "Hat.exe.WebView2"

Весь кэш хранится в папке "Hat.exe.WebView2", после того как вы её удалите и запустите браузер эта папка будет снова создана и в ней будет храниться новый кэш текущей сессии.

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


Интерфейс

Русская версия ››

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


Основное меню

Русская версия ›› Интерфейс ››

Основное меню

Меню "Файл" - дает возможность сохранить логи в txt файлы.

Меню "Проект" - создание и открытие проектов автотестов, выполнение и остановка автотестов, а так же настройки.

Меню "Браузер" - служит навигацией браузера, а так же позволяет открыть панель разработчика "Средство разработки" и открыть окно Internet Explorer 11

Меню "Окно" - позволяет скрыть или отобразить системные окна браузера.

Меню "Справка" - содержит справочную информацию.

Created with the Personal Edition of HelpNDoc: Easily create Help documents


Панель инструментов

Русская версия ›› Интерфейс ››

Панель инструментов

Содержит поле для ввода адреса сайта и кнопки навигации браузера.

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


Окно Проект - вкладка Проводник

Русская версия ›› Интерфейс ››

Окно Проекта - вкладка Проводник

Основное окно для работы с проектом.

Панель инструментов содержит следующие кнопки:

    • Создать проект - создает новый проект автотестов (простой или совместимый с Visual Studio)
    • Открыть проект - открывает ранее созданный проект автотестов
    • Проводник - открывает папку проекта в проводнике Windows
    • Сформировать команду запуска - открывает окно с уже сформированной командой запуска автотестя для командной строки Windows (cmd)
    • Командная строка (cmd) - открывает системную консоль Windows
    • Настройки - меню настроек для работы с проектом
    • Папки - меню по работе с папками
    • Файлы - меню по работе с файлами
    • Обновить - обновление информации в дереве папок и файлов
    • Запустить тест - запускает выбранный автотест
    • Остановить тест - останавливает запущенный автотест

Меню настроек

    • Выбор способа отображения окна редактора

    • Выбор кодировки для файлов проекта

    • Настройка вывода сообщений в отчете, а так же формирование отчета со всеми результатами проверок.

    • Выбор языка вывода в отчете и письме

    • Выбор языка вывода в командной строке (cmd)

    • Включение отладки при выполнении JavaScript кода

    • Развернуть дерево папок и файлов в проводнике

Меню папок дает возможность создавать и удалять папки

Меню файлов дает возможность создавать новые файлы автотестов, открывать и удалять существующие файлы

Дерево папок и файлов проекта

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


Окно Проект - вкладка Тест

Русская версия ›› Интерфейс ››

Окно Проекта - вкладка Тест

Таблица шагов выполнения автотеста.

Панель инструментов содержит следующие кнопки:

    • Поле и кнопка Поиск - создает новый проект автотестов
    • Открыть проект - открывает ранее созданный проект автотестов
    • Запустить тест - запускает выбранный автотест
    • Остановить тест - останавливает запущенный автотест
    • Подробная информация о шаге - открывает окно с описание шага

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


Окно Проект - вкладка Библиотеки

Русская версия ›› Интерфейс ››

Окно Проекта - вкладка Библиотеки

Список подключаемых библиотек необходимых для выполнения автотестов

Панель инструментов содержит следующие кнопки:

    • Сохранить - сохраняет список библиотек в файл проекта project.hat

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


Окно Проект - вкладка Почта

Русская версия ›› Интерфейс ››

Окно Проекта - вкладка Почта

Настройки подключения почтового сервера для отправки писем с отчетами о результатах прохождения автотестов

Панель инструментов содержит следующие кнопки:

    • Сохранить - сохраняет настройки в файл проекта project.hat

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


Окно система

Русская версия ›› Интерфейс ››

Окно система

Вкладка "Вывод" - отображает все события происходящие при работе приложения.

Вкладка "Ошибки на странице" - отображает все ошибки (console) происходящие на загруженных страницах.

Вкладка "События на странице" - отображает все события (network) происходящие на загруженных страницах.

Вкладка "Настройки браузера" - основные настройки браузера.

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


Отчеты

Русская версия ››

Created with the Personal Edition of HelpNDoc: Easily create EBooks


Отчет работы автотеста

Русская версия ›› Отчеты ››

Отчет работы автотеста

При запуске автотеста в папке проекта будет создана новая папка reports если её еще нет.

После завершения работы автотеста будет создан файл с отчетом в формате html.

Имя файла отчета соответствует имени файла автотеста с приставкой Report

Например при выполнении автотеста ExampleTest1.cs будет создан отчет с именем Report-ExampleTest1.html

Для просмотра результатов по всем пройденым автотестам создается и обновляется файл index.html

Полученный отчет открывается в любом браузере

Полный отчет о всех пройденных проверках (index.html) выглядит так:

Данный отчет (index.html) создается или обновляется после завершения работы любого автотеста.

Этот отчет можно сформировать или обновить вручную через меню найстройки проекта.

Отчет с успешным прохождением всех шагов и проверок выглядит так:

Отчет о провальном тесте выглядит следующим образом:

Если во время выполнения произойдут какие-то критические ошибки они отразятся в отчете так:

С помощью меню настроек проекта можно переключить тип отчета на "Краткий отчет", в таком случае в отчете будут выводится только пользовательские сообщения и сообщения об ошибках.

Таким образом отчеты будут выглядить так:

Created with the Personal Edition of HelpNDoc: Free EPub producer


Лог файл

Русская версия ›› Отчеты ››

Лог файл (log.txt)

При неудачном выполнении автотеста создается не только отчет но и делается запись в лог файле log.txt

В файл записывается дата и время неудачи, имя файла и описание автотеста, а так же причины неудачи автотеста.

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


Почта

Русская версия ››

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


Отправить отчет о провале автотеста на почту

Русская версия ›› Почта ››

Отправить отчет о провале автотеста на почту

В окне "Проект" настраивается подключение к почтовому серверу.

В данном примере используется почтовый ящик Yandex.

Чтобы использовать функцию отправки отчета на почту нужно включить эту опцию в автотесте с помощью метода BrowserEnableSendMailAsync

public async Task setUp()
{
await tester.BrowserEnableSendMailAsync(true, false); // только в случае провала
await tester.BrowserEnableSendMailAsync(false, true); // только в случае успеха
await tester.BrowserEnableSendMailAsync(); // в обоих случаях
}

В случае провала на перечисленные почтовые адреса будет отправлен отчет следующего вида

В письме будет вложен скриншот в момент ошибки и отчет с шагами выполнения, а так же пользовательские сообщения.

Отправить письмо можно в любой момент, для этого нужно использовать функцию SendMsgToMailAsync

public async Task tearDown()
{
if(tester.GetTestResult() == Tester.PASSED)
{
await tester.SendMsgToMailAsync("Тестовое сообщение", "Тест завершился успешно");
}
}

Created with the Personal Edition of HelpNDoc: Free EPub producer


Консольный режим запуска (Jenkins)

Русская версия ››

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


Запуск из командной строки

Русская версия ›› Консольный режим запуска (Jenkins) ››

Запуск автотеста из командной строки

Чтобы запускать автотесты в популярных системах непрерывной интеграции нужно использовать командную строку Windows.

В окне "Проект" (на вкладке "Проводник") выберите файл автотеста который нужно запустить.

Затем на панели инструментов нажмите на кнопку "Сформировать командную строку"

В результате вам откроется окно с уже готовыми командами.

    • первая команда: cd C:\Hat-1.2.0\Hat - это переход в папку с приложением Hat.exe
    • вторая команда: Hat.exe ExampleTest1.cs C:\Hat-1.2.0\Project - выполняет запуск автотеста

Синтаксис команды запуска:

Hat.exe [Имя_Файла_Автотеста] [Путь_К_Папке_С_Проектом]

Откройте командную строку

Используйте ранее полученные команды

Будет запущен автотест, при этом все шаги выполнения отразятся в консоли

В случае ошибки в шаге будет показан метод и его свойства при которых произошла ошибка.

В конце показан результат выполнения всего автотеста

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


Jenkins

Русская версия ›› Консольный режим запуска (Jenkins) ››

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


1. Настройка агента

Русская версия ›› Консольный режим запуска (Jenkins) ›› Jenkins ››

1. Настройка агента

Если автотесты при выполнении не отображаются визуально в браузере (выполняются в фоновом режиме) то нужно создать slave агента.

1) Откройте Jenkins и перейдите в Dashboard. Затем нажмите Manage Jenkins

2) Перейдите в раздел Configure Global Security

и в подразделе Agents включите Random

3) Теперь снова перейдите в Dashboard. Затем нажмите Manage Jenkins

На этот раз перейдите в раздел Manage Nodes and Clouds

4) Создайте новую ноду нажав на кнопку New Node

5) Введите имя, выберите тип Permanent Agent и нажмите ОК

6) Настройте ноду следующим образом

поле "# of executors" - указывается количество потоков

поле "Labels" - очень важное, именно введенное тут имя будет использоваться при назначении ноды автотесту

Укажите путь где будет агент хранить свои данные

Если вы хотите чтобы этой нодой пользовались только выбранные задачи тогда выберите эту опцию

Нажмите кнопку Save.

7) Нода создана, но она не работает. Нажмите на имя ноды slave

Вы окажетесь на странице с описанием того что нужно сделать чтобы запустить агента.

Нажмите на кнопку [image] чтобы скачать файл

Нажмите на ссылку [image] чтобы скачать файл

Поместите оба эти файла в папку C:\Autotests\########\jenkins\slave

Далее нужно запустить агента командой как указано на странице

(агент обязательно должен быть запущен от имени администратора)

Run from agent command line:

java -jar agent.jar -jnlpUrl http://192.168.201.1:8081/computer/slave/slave-agent.jnlp -secret aaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccdddddddddddd -workDir "C:\Autotests\#########\jenkins\slave"

Run from agent command line, with the secret stored in a file:

echo aaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccdddddddddddd > secret-file java -jar agent.jar -jnlpUrl http://192.168.201.1:8081/computer/slave/slave-agent.jnlp -secret @secret-file -workDir "C:\Autotests\#########\jenkins\slave"

ВАЖНО! Чтобы в консоли поддерживался русский язык в коменде нужно дописать -Dfile.encoding=UTF8

java -Dfile.encoding=UTF8 -jar agent.jar -jnlpUrl http://192.168.201.1:8081/computer/slave/slave-agent.jnlp -secret aaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccdddddddddddd -workDir "C:\Autotests\#########\jenkins\slave"

ВАЖНО! Открываем консоль от имени администратора и выполняем команду

в консоли по завершению появится сообщение Connecter что означает что агент подключен.

Теперь если посмотреть в список агентов мы видим как slave показан активным (без красного квадратика)

Настройка агента завершена.

Created with the Personal Edition of HelpNDoc: Free EPub producer


2. Настройка поддержки русского языка

Русская версия ›› Консольный режим запуска (Jenkins) ›› Jenkins ››

2. Настройка поддержки русского языка

Поддержка русского языка для агента

Чтобы в консоли поддерживался русский язык в коменде запуска агента нужно дописать -Dfile.encoding=UTF8

java -Dfile.encoding=UTF8 -jar agent.jar -jnlpUrl http://192.168.201.1:8081/computer/slave/slave-agent.jnlp -secret aaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccdddddddddddd -workDir "C:\Autotests\#######\jenkins\slave"

Поддержка русского языка в Jenkins

Для того чтобы Jenkins поддерживал русские символы нужно:

в папке C:\Program Files\Jenkins\ найти файл jenkins.xml и прописать в строке arguments строку -Dfile.encoding=UTF8

<service>

...

<arguments>

-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF8 -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"

</arguments>

...

</service>

В настройках Jenkins

Перейдите в Manage Jenkins затем в раздел System Configuration

В разделе "Глобальные настройки" включите параметр Environment variables

Добавьте ключ:

Name: JAVA_TOOL_OPTIONS

Value: -Dfile.encoding=UTF8

Настройка завершена.

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


3. Подключение автотеста к ноде.

Русская версия ›› Консольный режим запуска (Jenkins) ›› Jenkins ››

3. Подключение автотеста к ноде.

После того как вы получили команду запуска автотеста как это было рассказано в пункте " Запуск из командной строки "

Вам нужно в Jenkins создать задачу которая будет запускать автотест.

Включите флаг "Discard old builds" и выберите максимальное количество сборок для сохранения "Max # of builds to keep"

В разделе "Build" добавьте команду "Execute Windows batch command".

Затем в поле "Command" вставьте команду запуска автотеста полученную из браузера Hat.

В настройках задачи включите опцию "Restrict where this project can be run"

затем введите имя ноды slave (система обязательно должна её обнаружить)

Нажмите на кнопку Apply и Save

Запустите задачу с автотестом

В окне агентов в одном из потоков появится процесс

Если произошла ошибка при которой отказано в доступе

Браузер Hat версия 1.1.1 (19.07.2022) Запуск браузера... Проект открыт (версия проекта: 1.1.1)

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Произошла ошибка: System.UnauthorizedAccessException: Отказано в доступе по пути "C:\Autotests\#######\hat\Tests\reports\Report-HomeOrders_DeployTest.html". в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) в System.IO.File.InternalDelete(String path, Boolean checkHost) в System.IO.File.Delete(String path) в Hat.Report.SaveReport(Boolean testSuccess) - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Возможно что аген не был запущен от имени администратора (агент обязательно должен запускаться от имени администратора)

Возможно папка в которой находятся автотесты обладает блокирующими правами (перенесите автотесты в другое место на компьютере)

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


Текстовый редактор кода

Русская версия ››

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


Встроенный редактор кода на C#

Русская версия ›› Текстовый редактор кода ››

Встроенный редактор кода на C#

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

Чтобы открыть файл с расширением *.cs в редакторе вам нужно в окне "Проект" (на вкладке "Проводник")

дважды нажать на нужный файл или вызвать контекстное меню и выбрать пункт "Открыть файл".

Перед вами откроется следующее окно редактора.

Редактор с подсветкой ключевых слов, а так же справочной информацией о встроенных методых фреймворка HatFramework.

Вам не нужно вручную набирать имена методов, достаточно будет нажать на нём дважды (или через пункт контекстного меню) чтобы метод автоматически был вставлен в код.

На панели инструментов присутствуют кнопки:

    • Сохранить файл - сохраняет изменения в текущий файл
    • Сохранить файл как - даёт возможность сохранить скрипт в новый файл
    • Сохранить все файлы - сохраняет изменения во всех открытых файлах
    • Сформировать команду запуска - открывает окно с уже сформированной командой запуска автотестя для командной строки Windows (cmd)
    • Запустить тест - запускает выбранный автотест
    • Остановить тест - останавливает запущенный автотест
    • Поикс - выполняет окно поиска

Основное меню

Файл:

    • Сохранить файл - сохраняет изменения в текущий файл
    • Сохранить файл как - даёт возможность сохранить скрипт в новый файл
    • Сохранить все файлы - сохраняет изменения во всех открытых файлах
    • Закрыть файл - закрывает файл в текущей вкладке

Отладка:

    • Запустить тест - запускает выбранный автотест
    • Остановить тест - останавливает запущенный автотест

Сервис:

    • Сформировать команду запуска - открывает окно с уже сформированной командой запуска автотестя для командной строки Windows (cmd)

Выполнение поиска

Чтобы открыть окно поиска нужно нажать на кнопку поиска [image] или нажать сочетание клавишь CTRL+F.

В редакторе доступен высоз списка встроенных методов для упрощения написания кода.

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


Использование Visual Studio для редактирования кода

Русская версия ›› Текстовый редактор кода ››

Использование Visual Studio для редактирования кода

Для того чтобы использовать в качестве редактора Visual Studio проект автотестов должен быть создан следующим образом:

1. В окне "Проект" на вкладке "Проводник" или в основном меню "Создать проект" нажмите кнопку "Создать проект совместимый с Visual Studio"

2. Откроектся поп-ап для ввода имени проекта.

Обязательное условие имя проекта должно быть латинскими буквами и без пробелов.

3. Создайте папку в которой будет содержаться проект с любым именем и в любом месте на диске.

В данном случае создана папка Project по адресу C:\Hat-1.0.0\

Выделите папку проекта и нажмите OK

4. В окне "Проект" на вкладке "Проводник" отобразится содержимое проекта.

5. Данный проект поддерживает работы в Visual Studio (предполагается что Visual Studio у вас уже установлен)

Чтобы открыть проект в Visual Studio нажмите в окне "Проект" на кнопку "Проводник"

Затем дважды нажмите на файл с расширением *.sln (в данном случае MyTests.sln)

Когда загрузится Visual Studio сразу будет открыт наш проект и доступен к работе в окне "Обозреватель решений"

Нажмите дважды на файле ExampleTest1.cs чтобы открыть его в редакторе кода.

В 59 строке закоментирована строка с вызовом метода BrowserCloseAsync() который закрывает браузер.

Это нужно для того чтобы браузер автоматически не закрылся по завершению работы автотеста.

Использовать Visual Studio очень удобно тем что редактор при вводе показывает выпадающий список со всеми доступными методами, а так же показывает синтаксис выбранного метода и требуемые ему переменные.

Проект успешно создан и готов к работе с помощью Visual Studio.

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


Структура автотеста

Русская версия ››

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


Простой автотест

Русская версия ›› Структура автотеста ››

Простой автотест

Автотесты описываются языком программирования C#.

Структура автотеста:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

В начале идет список подключаемых библиотек.

HatFramework - это встроенный фреймворк в браузер.

namespace Hat

{

public class ExampleTest1

{

}

}

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

Имя класса должно быть таким же как имя файла.

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

Объявляется глобальная переменная тип которой Tester

Описана основная функция с которой начинается запуск автотеста.

В этой функции инициализируется глобальная переменная тип которой Tester.

Далее идет вызов асинхронных функций.

public async Task setUp()

{

}

public async Task test()

{

await tester.TestBeginAsync();

await tester.TestEndAsync();

}

public async Task tearDown()

{

}

Описаны асинхронные функция которые выполняют:

  • setUp - функция перед тестом
  • task - функция теста
  • tearDown - функция после теста

(имена функций могут быть любыми, важен сам смысл и их последовательность)

Примечание: тест всегда должен начинаться методом TestBeginAsync() и заканчиваться методом TestEndAsync()

Демонстрационный автотест полностью:

Файл: ExampleTest1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest1

{

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync();

}

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test.html", 5);

await tester.WaitVisibleElementByIdAsync("login", 15);

await tester.SetValueInElementByIdAsync("login", "admin");

await tester.WaitAsync(2);

await tester.SetValueInElementByIdAsync("pass", "0000");

await tester.WaitAsync(2);

await tester.ClickElementByIdAsync("buttonLogin");

await tester.WaitVisibleElementByIdAsync("result", 5);

string actual = await tester.GetValueFromElementByIdAsync("textarea");

string expected = "Вы успешно авторизованы";

await tester.AssertEqualsAsync(expected, actual);

await tester.TestEndAsync();

}

public async Task tearDown()

{

await tester.BrowserCloseAsync();

}

}

}

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


Паттерн PageObjects и StepObjects

Русская версия ›› Структура автотеста ››

Паттерн PageObjects и StepObjects

Основываясь на принципах объектно-ориентированного программирования можно легко организовать структуру автотеста с применением паттернов PageObjects и StepObjects.

Принцип взаимодействие классов:

  • Паттерн PageObjects (файл ExamplePage.cs) - это статичный класс в котором описаны локаторы и методы возвращающие целые объекты вем страницы.
  • Паттерн StepObjects (файл ExampleSteps.cs) - это класс который наследует от базового класса Tester (библиотеки HatFramerowk) все основные методы и содержит свои собственные методы выполняющие действия с веб элементами.
  • Автотест (файл ExampleTest2.cs) - это класс который непосредственно выполняет тестирования используя паттерны PageObjects и StepObjects.
    (при этом глобальная переменная tester имеет тип ExampleSteps который наследует базовый тип Tester)

Демонстрационный автотест:

файл ExamplePage.cs

using System;

using HatFramework;

namespace Hat

{

public static class ExamplePage

{

public static string URL = @"https://somovstudio.github.io/test.html";

public static string InputLogin = "login";

public static string InputPass = "pass";

public static string ButtonLogin = "buttonLogin";

public static string Result = "result";

public static string Textarea = "textarea";

}

}

файл ExampleSteps.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleSteps : Tester

{

public ExampleSteps(Form browserWindow): base(browserWindow) {}

public async Task FillForm()

{

await this.WaitVisibleElementByIdAsync(ExamplePage.InputLogin, 15);

await this.SetValueInElementByIdAsync(ExamplePage.InputLogin, "admin");

await this.WaitAsync(2);

await this.SetValueInElementByIdAsync(ExamplePage.InputPass, "0000");

await this.WaitAsync(2);

}

}

}

файл ExampleTest2.cs

using System;

using System.IO;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Text.RegularExpressions;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

using HatFramework;

namespace Hat

{

public class ExampleTest2

{

ExampleSteps tester;

public async void Main(Form browserWindow)

{

tester = new ExampleSteps(browserWindow);

await setUp();

await test();

await tearDown();

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync();

}

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync(ExamplePage.URL, 5);

await tester.FillForm();

await tester.ClickElementByIdAsync(ExamplePage.ButtonLogin);

await tester.WaitVisibleElementByIdAsync(ExamplePage.Result, 5);

string actual = await tester.GetValueFromElementByIdAsync(ExamplePage.Textarea);

string expected = "Вы успешно авторизованы";

await tester.AssertEqualsAsync(expected, actual);

await tester.TestEndAsync();

}

public async Task tearDown()

{

await tester.BrowserCloseAsync();

}

}

}

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


Создание нового автотеста и паттернов

Русская версия ›› Структура автотеста ››

Создание нового автотеста

Чтобы создать новый автотест вам нужно в окне "Проект" (на вкладке "Проводник") выделить папку в которой хотите создать файл, затем нажать на кнопку "Файлы" чтобы открыть меню и выбрать на пункт "Создать файл автотеста"

Вам будет предложено ввести имя для нового файла (расширение указывать не нужно)

Нажмите кнопку ОК и новый файл автотеста будет создан. Он сразу отобразится в окне "Проект" (на вкладке "Проводник").

Файл не пустой, у него будет сразу описана вся необходимыя структура.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class MyTest

{

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

public async Task setUp()

{

}

public async Task test()

{

}

public async Task tearDown()

{

}

}

}

Создание паттернов

Для создания паттерн файлов PageObjects и StepObjects так же предусмотрены специальные шаблоны.

В результате будут созданы следующие файлы паттернов с базовым описанием

файл: MyPage.cs

файл: MySteps.cs

using System;

using HatFramework;

namespace Hat

{

public static class MyPage

{

public static string URL = "https://test.com/";

public static string ButtonLogin = "buttonLogin";

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class MySteps : Tester

{

public MySteps(Form browserWindow): base(browserWindow) {}

public async Task Test()

{

await this.AssertTrueAsync(true);

}

}

}

Created with the Personal Edition of HelpNDoc: Free help authoring tool


Встроенный фреймворк HatFramework

Русская версия ››

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


Класс: Tester

Русская версия ›› Встроенный фреймворк HatFramework ››

Created with the Personal Edition of HelpNDoc: Easily create Help documents


Конструктор

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


Tester

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Конструктор ››

Tester

Описание: основной класс работы автотестов

Синтаксис: Tester(Form browserForm)

Пример:

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

}

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


Константы

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Easily create EPub books


BY_CSS

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

BY_CSS

Описание: константа обозначает тип вводимого локатора

Синтаксис: BY_CSS = "BY_CSS"

Пример:

Tester.BY_CSS

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


BY_XPATH

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

BY_XPATH

Описание: константа обозначает тип вводимого локатора

Синтаксис: BY_XPATH = "BY_XPATH"

Пример:

Tester.BY_XPATH

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


IMAGE_STATUS_PROCESS

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

IMAGE_STATUS_PROCESS

Описание: индекс картинки которая обозначает статус в процессе

Синтаксис: IMAGE_STATUS_PROCESS = 0

Пример:

Tester.IMAGE_STATUS_PROCESS

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


IMAGE_STATUS_PASSED

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

IMAGE_STATUS_PASSED

Описание: индекс картинки которая обозначает статус успешно

Синтаксис: IMAGE_STATUS_PASSED = 1

Пример:

Tester.IMAGE_STATUS_PASSED

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


IMAGE_STATUS_FAILED

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

IMAGE_STATUS_FAILED

Описание: индекс картинки которая обозначает статус провально

Синтаксис: IMAGE_STATUS_FAILED = 2

Пример:

Tester.IMAGE_STATUS_FAILED

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


IMAGE_STATUS_MESSAGE

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

IMAGE_STATUS_MESSAGE

Описание: индекс картинки которая обозначает статус сообщение

Синтаксис: IMAGE_STATUS_MESSAGE = 3

Пример:

Tester.IMAGE_STATUS_MESSAGE

Created with the Personal Edition of HelpNDoc: Free EPub producer


IMAGE_STATUS_WARNING

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

IMAGE_STATUS_WARNING

Описание: индекс картинки которая обозначает статус предупреждение

Синтаксис: IMAGE_STATUS_WARNING = 4

Пример:

Tester.IMAGE_STATUS_WARNING

Created with the Personal Edition of HelpNDoc: Free help authoring tool


IMAGE_STATUS_DEBUG

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

IMAGE_STATUS_DEBUG

Описание: индекс картинки которая обозначает статус отладки

Синтаксис: IMAGE_STATUS_DEBUG = 5

Пример:

Tester.IMAGE_STATUS_DEBUG

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


COMPLETED

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

COMPLETED

Описание: константа обозначает статус выполнено

Синтаксис: COMPLETED = "COMPLETED"

Пример:

Tester.COMPLETED

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


FAILED

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

FAILED

Описание: константа обозначает статус провально

Синтаксис: FAILED = "FAILED"

Пример:

Tester.FAILED

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


PASSED

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

PASSED

Описание: константа обозначает статус успешно

Синтаксис: PASSED = "PASSED"

Пример:

Tester.PASSED

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


PROCESS

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

PROCESS

Описание: константа обозначает статус выполняется

Синтаксис: PROCESS = "PROCESS"

Пример:

Tester.PROCESS

Created with the Personal Edition of HelpNDoc: Easily create EPub books


STOPPED

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

STOPPED

Описание: константа обозначает статус остановлено

Синтаксис: STOPPED = "STOPPED"

Пример:

Tester.STOPPED

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


WARNING

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

WARNING

Описание: константа обозначает статус предупреждение

Синтаксис: WARNING = "WARNING"

Пример:

Tester.WARNING

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


DEBUG

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

DEBUG

Описание: константа обозначает статус отладка

Синтаксис: DEBUG = "DEBUG"

Пример:

Tester.DEBUG

Created with the Personal Edition of HelpNDoc: Free help authoring environment


DEFAULT

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

DEFAULT

Описание: константа обозначает тип кодировки для файла

Синтаксис: DEFAULT = "DEFAULT"

Пример:

string text = await tester.FileReadAsync(Tester.DEFAULT, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.DEFAULT, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: Free EPub producer


UTF8

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

UTF8

Описание: константа обозначает тип кодировки для файла

Синтаксис: UTF8 = "UTF-8"

Пример:

string text = await tester.FileReadAsync(Tester.UTF8, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.UTF8, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


UTF8BOM

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

UTF8BOM

Описание: константа обозначает тип кодировки для файла

Синтаксис: UTF8BOM = "UTF-8 BOM"

Пример:

string text = await tester.FileReadAsync(Tester.UTF8BOM, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.UTF8BOM, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


WINDOWS1251

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Константы ››

WINDOWS1251

Описание: константа обозначает тип кодировки для файла

Синтаксис: WINDOWS1251 = "WINDOWS-1251"

Пример:

string text = await tester.FileReadAsync(Tester.WINDOWS1251, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.WINDOWS1251, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


Переменные

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


BrowserView

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Переменные ››

BrowserView

Описание: переменная ссылается на объект представляющий область браузера

Синтаксис: WebView2 BrowserView

Пример:

tester.BrowserView.Refresh();

tester.BrowserView.Reload();

tester.BrowserView.Source = new Uri(url);

tester.BrowserView.Update();

Created with the Personal Edition of HelpNDoc: Easily create EBooks


BrowserWindow

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Переменные ››

BrowserWindow

Описание: переменная ссылается на окно приложения

Синтаксис: Form BrowserWindow

Пример:

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

tester.BrowserWindow.Text = "Браузер Hat";

tester.BrowserWindow.Width = 800;

tester.BrowserWindow.Height = 600;

tester.BrowserWindow.Close();

}

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


Локаторы

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


Locator

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

Locator

Описание: вспомогательный класс для создания локаторов

Синтаксис:

public class Locator

{

public string name { get; set; }

public string description { get; set; }

public string type { get; set; }

public string value { get; set; }

}

Пример:

Locator locator = new Locator();

locator.name = "inputLogin";

locator.description = "Поле для ввода логина";

locator.type = Tester.BY_XPATH;

locator.value = "//input[@id='login']";

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


AddLocator

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

AddLocator

Описание: метод создает локатор и добавляет его в общее хранилище локаторов

Синтаксис: AddLocator(string name, string type, string value, string description)

Возвращаемое значение: отсутствует

Пример:

tester.AddLocator("inputLogin", Tester.BY_XPATH, "//input[@id='login']", "Поле для ввода логина");

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


GetLocators

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

GetLocators

Описание: метод возвращает хранилища локаторов

Синтаксис: GetLocators()

Возвращаемое значение: Dictionary<string, Locator>

Пример:

Dictionary<string, Locator> locators = tester.GetLocators();

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


GetLocator

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

GetLocator

Описание: метод возвращает локатор из хранилища локаторов в виде объекта класс которого Locator

Синтаксис: GetLocator(string name)

Возвращаемое значение: объект (Locator)

Пример:

await tester.WaitVisibleElementAsync(tester.GetLocator("inputLogin"), 25);

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


GetLocatorValue

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

GetLocatorValue

Описание: метод возвращает значение локатор из хранилища локаторов

Синтаксис: GetLocatorValue(string name)

Возвращаемое значение: строка (string)

Пример:

string value = tester.GetLocatorValue("inputLogin");

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


GetCountLocators

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

GetCountLocators

Описание: метод возвращает количество локатор в хранилище локаторов

Синтаксис: GetCountLocators()

Возвращаемое значение: число (int)

Пример:

int count = tester.GetCountLocators();

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


ClearLocators

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

ClearLocators

Описание: метод очищает хранилище локаторов

Синтаксис: ClearLocators()

Возвращаемое значение: отсутствует

Пример:

tester.ClearLocators();

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


RemoveLocator

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Локаторы ››

RemoveLocator

Описание: метод удаляет локатора из хранилища локаторов и возвращает логический результат true или false

Синтаксис: RemoveLocator(string name)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = tester.RemoveLocator("inputLogin");

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


Методы для работы с браузером

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


BrowserBasicAuthenticationAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserBasicAuthenticationAsync

Описание: метод навигации браузера выполняет действие вперед с указанным ожиданием в секундах

Синтаксис: BrowserBasicAuthenticationAsync(string user, string pass)

Возвращаемое значение: отсутствует

Пример:

Tester tester = new Tester(browserForm);

await tester.BrowserBasicAuthenticationAsync("user", "pass");

await tester.TestBeginAsync();

await tester.GoToUrlAsync("http://test.ru/basic_auth.html", 5);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


BrowserClearNetworkAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserClearNetworkAsync

Описание: метод выполняет очистку событий network в браузере

Синтаксис: BrowserClearNetworkAsync()

Возвращаемое значение: строка (string)

Пример:

string events = await tester.BrowserClearNetworkAsync();

tester.ConsoleMsg(events);

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


BrowserCloseAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserCloseAsync

Описание: метод закрывает окно браузера

Синтаксис: BrowserCloseAsync()

Возвращаемое значение: отсутствует

Пример:

await tester.BrowserCloseAsync();

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


BrowserEnableSendMailAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserEnableSendMailAsync

Описание: метод включает опцию отправки отчета на почту в случае провала в работе автотеста

Синтаксис: BrowserEnableSendMailAsync(bool byFailure = true, bool bySuccess = true)

Возвращаемое значение: отсутствует

Пример:

Tester tester = new Tester(browserForm);

await tester.BrowserEnableSendMailAsync(true, false); // только в случае провала

await tester.BrowserEnableSendMailAsync(false, true); // только в случае успеха

await tester.BrowserEnableSendMailAsync(); // в обоих случаях

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


BrowserFullScreenAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserFullScreenAsync

Описание: метод устанавливает полноэкранный размер браузера

Синтаксис: BrowserFullScreenAsync()

Возвращаемое значение: отсутствует

Пример:

await tester.BrowserFullScreenAsync();

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


BrowserScreenshotAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserScreenshotAsync

Описание: метод делает снимок экрана браузера

Синтаксис: BrowserScreenshotAsync(string filename)

Возвращаемое значение: строка (string)

Пример:

string screenshot = await tester.BrowserScreenshotAsync(null);

screenshot = await tester.BrowserScreenshotAsync("");

screenshot = await tester.BrowserScreenshotAsync("screenshot.jpg");

screenshot = await tester.BrowserScreenshotAsync("C:\\Users\\User\\Desktop\\MyTests\\reports\\screenshots\\test_screenshot.jpg");

tester.ConsoleMsg(screenshot);

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


BrowserSizeAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserSizeAsync

Описание: метод устанавливает размер браузера

Синтаксис: BrowserSizeAsync(int width, int height)

Возвращаемое значение: отсутствует

Пример:

await tester.BrowserSizeAsync(800, 600);

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


BrowserGetUserAgentAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserGetUserAgentAsync

Описание: метод возвращает строчное значение User-Agent браузера

Синтаксис: BrowserGetUserAgentAsync()

Возвращаемое значение: строка (string)

Пример:

string ua = await tester.BrowserGetUserAgentAsync();

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


BrowserSetUserAgentAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserSetUserAgentAsync

Описание: метод устанавливает значение User-Agent для браузера

Синтаксис: BrowserSetUserAgent(string value)

Возвращаемое значение: отсутствует

Пример:

await tester.TestBeginAsync();

await tester.BrowserSetUserAgent("my user-agent");

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


BrowserGetErrorsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserGetErrorsAsync

Описание: метод возвращает список ошибок и предупреждений браузера

Синтаксис: BrowserGetErrorsAsync()

Возвращаемое значение: список (List)

Пример:

List<string> errors = await tester.BrowserGetErrorsAsync();

foreach (string error in errors)

{

tester.ConsoleMsg(error);

}

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


BrowserGetNetworkAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserGetNetworkAsync

Описание: метод возвращает в формате json все текущие сообщения из network

Синтаксис: BrowserGetNetworkAsync()

Возвращаемое значение: строка (string)

Пример:

string events = await tester.BrowserGetNetworkAsync();

tester.ConsoleMsg(events);

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


BrowserGoBackAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserGoBackAsync

Описание: метод навигации браузера выполняет действие назад с указанным ожиданием в секундах

Флаг abortLoadAfterTime принудительно завершает загрузку страницы после завершения таймера

Синтаксис: BrowserGoBackAsync(int sec, bool abortLoadAfterTime = false)

Возвращаемое значение: отсутствует

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://www.yahoo.com/", 5);

string currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.GoToUrlAsync("https://yandex.ru/", 5);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.BrowserGoBackAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.BrowserGoForwardAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


BrowserGoForwardAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserGoForwardAsync

Описание: метод навигации браузера выполняет действие вперед с указанным ожиданием в секундах

Флаг abortLoadAfterTime принудительно завершает загрузку страницы после завершения таймера

Синтаксис: BrowserGoForwardAsync(int sec, bool abortLoadAfterTime = false)

Возвращаемое значение: отсутствует

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://www.yahoo.com/", 5);

string currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.GoToUrlAsync("https://yandex.ru/", 5);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.BrowserGoBackAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.BrowserGoForwardAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easily create Help documents


BrowserPageReloadAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с браузером ››

BrowserPageReloadAsync

Описание: метод выполняет перезагрузку открытой страницы в браузере

Флаг abortLoadAfterTime принудительно завершает загрузку страницы после завершения таймера

Синтаксис: BrowserPageReloadAsync(int sec, bool abortLoadAfterTime = false)

Возвращаемое значение: отсутствует

Пример:

await tester.BrowserPageReloadAsync(25);

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


Методы для вывода сообщений

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


ConsoleMsg

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для вывода сообщений ››

ConsoleMsg

Описание: метод выводит сообщение в консоли браузера

Синтаксис:

ConsoleMsg(string message)

ConsoleMsg(string messageRus, string messageEng)

Возвращаемое значение: отсутствует

Пример:

tester.ConsoleMsg("Текст на Русском языке", "The text is in English");

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


ConsoleMsgError

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для вывода сообщений ››

ConsoleMsgError

Описание: метод выводит сообщение об ошибке в системную консоль и консоль браузера

Синтаксис: ConsoleMsgError(string message)

Возвращаемое значение: отсутствует

Пример:

try

{

}

catch (Exception ex)

{

tester.ConsoleMsgError(ex.ToString());

}

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


ClearMessage

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для вывода сообщений ››

ClearMessage

Описание: метод очищает сообщения в таблице вывода процесса выполнения тесте

Синтаксис: ClearMessage()

Возвращаемое значение: отсутствует

Пример:

tester.ClearMessage();

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


Description

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для вывода сообщений ››

Description

Описание: метод устанавливает описание теста которое потом выводитя в отчете и письме

Синтаксис: Description(string text)

Возвращаемое значение: отсутствует

Пример:

public async Task setUp()

{

tester.Description("Тест проверяет авторизацию на сайте");

}

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


DisableDebugInReport

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для вывода сообщений ››

DisableDebugInReport

Описание: метод отключает вывод отладочных сообщений SendMessageDebug в отчет

Синтаксис: DisableDebugInReport()

Возвращаемое значение: отсутствует

Пример:

tester.DisableDebugInReport();

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


SendMessage

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для вывода сообщений ››

SendMessage

Описание: метод выводит сообщения в таблице процесса выполнения теста

При выполнении в системную консоль выводится action если status равен FAILED, WARNING, "" , null,

в противном случае выводится только status и comment (без action).

Синтаксис: SendMessage(string action, string status, string comment)

Пример:

tester.SendMessage("текст действия", Tester.PROCESS, "текст комментария");

/* Примеры вывода в консоль */

// действие комментарий

tester.SendMessage("действия", null, "комментарий");

tester.SendMessage("действия", "", "комментарий");

// Шаг[в процессе]: комментарий

tester.SendMessage("действия", Tester.PROCESS, "комментарий");

// Шаг[успешно]: комментарий

tester.SendMessage("действия", Tester.PASSED, "комментарий");

// Шаг[выполнено]: комментарий

tester.SendMessage("действия", Tester.COMPLETED, "комментарий");

// Шаг[остановлено]: комментарий

tester.SendMessage("действия", Tester.STOPPED, "комментарий");

// Шаг[неудача]: действие комментарий

tester.SendMessage("действия", Tester.FAILED, "комментарий");

// Шаг[предупреждение]: действие комментарий

tester.SendMessage("действия", Tester.WARNING, "комментарий");

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


SendMessageDebug

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для вывода сообщений ››

SendMessageDebug

Описание: метод выводит отладочное сообщение которое может быть отключено для вывода в отчет и письмо

При выполнении в системную консоль выводится action если status равен FAILED, WARNING, "" , null,

в противном случае выводится только status и comment (без action).

Синтаксис: SendMessageDebug(string actionRus, string actionEng, string status, string commentRus, string commentEng, int image)

Пример:

// Шаг[в процессе]: комментарий

tester.SendMessageDebug("действия", "action", Tester.PROCESS, "комментарий", "comment", Tester.IMAGE_STATUS_PROCESS);

// Шаг[успешно]: комментарий

tester.SendMessageDebug("действия", "action", Tester.PASSED, "комментарий", "comment", Tester.IMAGE_STATUS_PASSED);

// Шаг[выполнено]: комментарий

tester.SendMessageDebug("действия", "action", Tester.COMPLETED, "комментарий", "comment", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[остановлено]: комментарий

tester.SendMessageDebug("действия", "action", Tester.STOPPED, "комментарий", "comment", Tester.IMAGE_STATUS_WARNING);

// Шаг[неудача]: действие комментарий

tester.SendMessageDebug("действия", "action", Tester.FAILED, "комментарий", "comment", Tester.IMAGE_STATUS_FAILED);

// Шаг[предупреждение]: действие комментарий

tester.SendMessageDebug("действия", "action", Tester.WARNING, "комментарий", "comment", Tester.IMAGE_STATUS_WARNING);

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


Методы для подготовки и завершения тестирования

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


TestBeginAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для подготовки и завершения тестирования ››

TestBeginAsync

Описание: метод подготовки к тесту (каждый тест обязательно должен начинаться этим методом)

Синтаксис: TestBeginAsync()

Возвращаемое значение: отсутствует

Пример:

await tester.TestBeginAsync();

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


TestEndAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для подготовки и завершения тестирования ››

TestEndAsync

Описание: метод завершения теста (каждый тест обязательно должен заканчиваться этим методом), именно этот метод выполняет сохранение отчета и отправку его по почте если такая опция будет настроена и включена.

Синтаксис: TestEndAsync()

Возвращаемое значение: отсутствует

Пример:

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


TestStopAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для подготовки и завершения тестирования ››

TestStopAsync

Описание: метод принудительно останавливает процесс тестирования

Синтаксис: TestStopAsync()

Возвращаемое значение: отсутствует

Пример:

await tester.TestStopAsync();

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


GetTestResult

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для подготовки и завершения тестирования ››

GetTestResult

Описание: метод возвращает статус выполняемого теста

Синтаксис: GetTestResult()

Возвращаемое значение: строка (string) значение которой проверяется константами: Tester.PASSED, Tester.FAILED, Tester.PROCESS.

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

...

if(tester.GetTestResult() == Tester.PROCESS) { }

...

await tester.TestEndAsync();

if(tester.GetTestResult() == Tester.FAILED) { }

if(tester.GetTestResult() == Tester.PASSED) { }

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


DefineTestStop

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для подготовки и завершения тестирования ››

DefineTestStop

Описание: метод проверяет статус процесса (остановлен или нет)

Синтаксис: DefineTestStop()

Возвращаемое значение: логическое (true или false)

Пример:

if (tester.DefineTestStop() == true) return; // значит тест остановлен

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


Методы для выполнения действий

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


Атрибуты

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


GetAttributeFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementAsync

Описание: метод возвращает строчное значение из указанного атрибута в выбранном элементе

Синтаксис:

GetAttributeFromElementAsync(string by, string locator, string attribute)

GetAttributeFromElementAsync(Locator locator, string attribute)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetAttributeFromElementAsync(Tester.BY_CSS, "input", "name");

string value = await tester.GetAttributeFromElementAsync(Tester.BY_XPATH, "//input", "name");

string value = await tester.GetAttributeFromElementAsync(tester.GetLocator("locatorName"), "name");

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


GetAttributeFromElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementByClassAsync

Описание: метод возвращает строчное значение из указанного атрибута в выбранном элементе

Синтаксис: GetAttributeFromElementByClassAsync(string _class, int index, string attribute)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetAttributeFromElementByClassAsync("my-element", 0, "href");

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


GetAttributeFromElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementByIdAsync

Описание: метод возвращает строчное значение из указанного атрибута в выбранном элементе

Синтаксис: GetAttributeFromElementByIdAsync(string id, string attribute)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetAttributeFromElementByIdAsync("MyElement", "href");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


GetAttributeFromElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementByNameAsync

Описание: метод возвращает строчное значение из указанного атрибута в выбранном элементе

Синтаксис: GetAttributeFromElementByNameAsync(string name, int index, string attribute)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetAttributeFromElementByNameAsync("MyElement", 0, "href");

Created with the Personal Edition of HelpNDoc: Free Kindle producer


GetAttributeFromElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementByTagAsync

Описание: метод возвращает строчное значение из указанного атрибута в выбранном элементе

Синтаксис: GetAttributeFromElementByTagAsync(string tag, int index, string attribute)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetAttributeFromElementByTagAsync("a", 0, "href");

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


GetAttributeFromElementsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementsAsync

Описание: метод возвращает список значений указанного атрибута из множества элементов

Синтаксис:

GetAttributeFromElementsAsync(string by, string locator, string attribute)

GetAttributeFromElementsAsync(Locator locator, string attribute)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.GetAttributeFromElementsAsync(Tester.BY_CSS, "input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

List<string> values = await tester.GetAttributeFromElementsAsync(Tester.BY_XPATH, "//input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

List<string> values = await tester.GetAttributeFromElementsAsync(tester.GetLocator("locatorName"), "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


GetAttributeFromElementsByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementsByClassAsync

Описание: метод возвращает список значений указанного атрибута из множества элементов

Синтаксис: GetAttributeFromElementsByClassAsync(string _class, string attribute)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.GetAttributeFromElementsByClassAsync("text-field", "name");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


GetAttributeFromElementsByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementsByNameAsync

Описание: метод возвращает список значений указанного атрибута из множества элементов

Синтаксис: GetAttributeFromElementsByNameAsync(string name, string attribute)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.GetAttributeFromElementsByNameAsync("link", "href");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


GetAttributeFromElementsByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

GetAttributeFromElementsByTagAsync

Описание: метод возвращает список значений указанного атрибута из множества элементов

Синтаксис: GetAttributeFromElementsByTagAsync(string tag, string attribute)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.GetAttributeFromElementsByTagAsync("a", "href");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


SetAttributeInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementAsync

Описание: метод вставляет атрибут со значением в указанный элемент

Синтаксис:

SetAttributeInElementAsync(string by, string locator, string attribute, string value)

SetAttributeInElementAsync(Locator locator, string attribute, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetAttributeInElementAsync(Tester.BY_CSS, "#auth > h2", "name", "test");

await tester.SetAttributeInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "name", "test");

await tester.SetAttributeInElementAsync(tester.GetLocator("locatorName"), "name", "test");

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


SetAttributeInElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementByClassAsync

Описание: метод вставляет атрибут со значением в указанный элемент

Синтаксис: SetAttributeInElementByClassAsync(string _class, int index, string attribute, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetAttributeInElementByClassAsync("my-element", 0, "value", "значение");

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


SetAttributeInElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementByIdAsync

Описание: метод вставляет атрибут со значением в указанный элемент

Синтаксис: SetAttributeInElementByIdAsync(string id, string attribute, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetAttributeInElementByIdAsync("MyElement", "value", "значение");

Created with the Personal Edition of HelpNDoc: Free help authoring environment


SetAttributeInElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementByNameAsync

Описание: метод вставляет атрибут со значением в указанный элемент

Синтаксис: SetAttributeInElementByNameAsync(string name, int index, string attribute, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetAttributeInElementByNameAsync("MyElement", 0, "value", "значение");

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


SetAttributeInElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementByTagAsync

Описание: метод вставляет атрибут со значением в указанный элемент

Синтаксис: SetAttributeInElementByTagAsync(string tag, int index, string attribute, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetAttributeInElementByTagAsync("input", 0, "value", "значение");

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


SetAttributeInElementsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementsAsync

Описание: метод вставить атрибут с указанным значением в множество элементов и в результате возвращает список

Синтаксис:

SetAttributeInElementsAsync(string by, string locator, string attribute, string value)

SetAttributeInElementsAsync(Locator locator, string attribute, string value)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.SetAttributeInElementsAsync(Tester.BY_CSS, "input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

List<string> values = await tester.SetAttributeInElementsAsync(Tester.BY_XPATH, "//input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

List<string> values = await tester.SetAttributeInElementsAsync(tester.GetLocator("locatorName"), "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


SetAttributeInElementsByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementsByClassAsync

Описание: метод вставить атрибут с указанным значением в множество элементов и в результате возвращает список

Синтаксис: SetAttributeInElementsByClassAsync(string _class, string attribute, string value)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.SetAttributeInElementsByClassAsync("text-field", "value", "test");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


SetAttributeInElementsByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementsByNameAsync

Описание: метод вставить атрибут с указанным значением в множество элементов и в результате возвращает список

Синтаксис: SetAttributeInElementsByNameAsync(string name, string attribute, string value)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.SetAttributeInElementsByNameAsync("link", "href", " www.test.ru ");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


SetAttributeInElementsByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Атрибуты ››

SetAttributeInElementsByTagAsync

Описание: метод вставить атрибут с указанным значением в множество элементов и в результате возвращает список

Синтаксис: SetAttributeInElementsByTagAsync(string tag, string attribute, string value)

Возвращаемое значение: список (List)

Пример:

List<string> values = await tester.SetAttributeInElementsByTagAsync("a", "href", " www.test.ru ");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


Значение

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


GetValueFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

GetValueFromElementAsync

Описание: метод возвращает значение из указанного элемента

Синтаксис:

GetValueFromElementAsync(string by, string locator)

GetValueFromElementAsync(Locator locator)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetValueFromElementAsync(Tester.BY_CSS, "input[id='login']");

string value = await tester.GetValueFromElementAsync(Tester.BY_XPATH, "//input[@id='login']");

string value = await tester.GetValueFromElementAsync(tester.GetLocator("locatorName");

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


GetValueFromElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

GetValueFromElementByClassAsync

Описание: метод возвращает значение из указанного элемента

Синтаксис: GetValueFromElementByClassAsync(string _class, int index)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetValueFromElementByClassAsync("my-element", 0);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


GetValueFromElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

GetValueFromElementByIdAsync

Описание: метод возвращает значение из указанного элемента

Синтаксис: GetValueFromElementByIdAsync(string id)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetValueFromElementByIdAsync("MyElement");

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


GetValueFromElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

GetValueFromElementByNameAsync

Описание: метод возвращает значение из указанного элемента

Синтаксис: GetValueFromElementByNameAsync(string name, int index)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetValueFromElementByNameAsync("MyElement", 0);

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


GetValueFromElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

GetValueFromElementByTagAsync

Описание: метод возвращает значение из указанного элемента

Синтаксис: GetValueFromElementByTagAsync(string tag, int index)

Возвращаемое значение: строка (string)

Пример:

string value = await tester.GetValueFromElementByTagAsync("input", 0);

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


SetValueInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

SetValueInElementAsync

Описание: метод вставляет значение в указанный элемент

Синтаксис:

SetValueInElementAsync(string by, string locator, string value)

SetValueInElementAsync(Locator locator, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetValueInElementAsync(Tester.BY_CSS, "input[id='login']", "admin");

await tester.SetValueInElementAsync(Tester.BY_CSS, "input[id='pass']", "0000");

await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='login']", "admin");

await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='pass']", "0000");

await tester.SetValueInElementAsync(tester.GetLocator("locatorName"), "admin");

await tester.SetValueInElementAsync(tester.GetLocator("locatorName"), "0000");

Created with the Personal Edition of HelpNDoc: Easily create EBooks


SetValueInElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

SetValueInElementByClassAsync

Описание: метод вставляет значение в указанный элемент

Синтаксис: SetValueInElementByClassAsync(string _class, int index, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetValueInElementByClassAsync("my-element", 0, "значение");

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


SetValueInElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

SetValueInElementByIdAsync

Описание: метод вставляет значение в указанный элемент

Синтаксис: SetValueInElementByIdAsync(string id, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetValueInElementByIdAsync("MyElement", "значение");

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


SetValueInElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

SetValueInElementByNameAsync

Описание: метод вставляет значение в указанный элемент

Синтаксис: SetValueInElementByNameAsync(string name, int index, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetValueInElementByNameAsync("MyElement", 0, "значение");

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


SetValueInElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Значение ››

SetValueInElementByTagAsync

Описание: метод вставляет значение в указанный элемент

Синтаксис: SetValueInElementByTagAsync(string tag, int index, string value)

Возвращаемое значение: отсутствует

Пример:

await tester.SetValueInElementByTagAsync("input", 0, "значение");

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


Нажатие

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


ClickElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Нажатие ››

ClickElementAsync

Описание: метод выполняет нажатие на элемент

Синтаксис:

ClickElementAsync(string by, string locator)

ClickElementAsync(Locator locator)

Возвращаемое значение: отсутствует

Пример:

await tester.ClickElementAsync(Tester.BY_CSS, "#auth #buttonLogin");

await tester.ClickElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

await tester.ClickElementAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


ClickElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Нажатие ››

ClickElementByClassAsync

Описание: метод выполняет нажатие на элемент

Синтаксис: ClickElementByClassAsync(string _class, int index);

Возвращаемое значение: отсутствует

Пример:

await tester.ClickElementByClassAsync("my-element", 0)

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


ClickElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Нажатие ››

ClickElementByIdAsync

Описание: метод выполняет нажатие на элемент

Синтаксис: ClickElementByIdAsync(string id)

Возвращаемое значение: отсутствует

Пример:

await tester.ClickElementByIdAsync("MyElement");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


ClickElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Нажатие ››

ClickElementByNameAsync

Описание: метод выполняет нажатие на элемент

Синтаксис: ClickElementByNameAsync(string name, int index)

Возвращаемое значение: отсутствует

Пример:

await tester.ClickElementByNameAsync("MyElement", 0);

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


ClickElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Нажатие ››

ClickElementByTagAsync

Описание: метод выполняет нажатие на элемент

Синтаксис: ClickElementByTagAsync(string tag, int index)

Возвращаемое значение: отсутствует

Пример:

await tester.ClickElementByTagAsync("a", 0);

Created with the Personal Edition of HelpNDoc: Easily create EPub books


IsClickableElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Нажатие ››

IsClickableElementAsync

Описание: метод определяет кликабельность элемента и возвращает true или false

Синтаксис:

IsClickableElementAsync(string by, string locator)

IsClickableElementAsync(Locator locator)

Возвращаемое значение: логическое (true или false)

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test.html", 5);

bool clickable = await tester.IsClickableElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await tester.AssertTrueAsync(clickable);

await tester.TestEndAsync();

bool clickable = await tester.IsClickableElementAsync(tester.GetLocator("locatorName"));

await tester.AssertTrueAsync(clickable);

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


ScrollToElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Нажатие ››

ScrollToElementAsync

Описание: метод выполняет прокрутку к указанному элементу (параметр behaviorSmooth определяет плавность прокрутки)

Синтаксис:

ScrollToElementAsync(string by, string locator, bool behaviorSmooth = false)

ScrollToElementAsync(Locator locator, bool behaviorSmooth = false)

Возвращаемое значение: отсутствует

Пример:

await tester.ScrollToElementAsync(Tester.BY_CSS, "body > footer", true);

await tester.ScrollToElementAsync(Tester.BY_XPATH, "/html/body/footer", true);

await tester.ScrollToElementAsync(tester.GetLocator("locatorName"), true);

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


Объекты

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


GetElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetElementAsync

Описание: метод возвращает элемент в виде объект класс которого HTMLElement

Синтаксис:

GetElementAsync(string by, string locator)

GetElementAsync(Locator locator)

Возвращаемое значение: объект (HTMLElement)

Примеры:

HTMLElement element = await tester.GetElementAsync(tester.GetLocator("locatorName"));

await element.ClickAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_CSS, "#auth #buttonLogin");

await element.ClickAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

await element.ClickAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyFile']");

tester.ConsoleMsg("ID: " + element.Id);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

string text = await element.GetTextAsync();

tester.ConsoleMsg(text);

await element.SetTextAsync("TEST");

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

await element.SetValueAsync("Тестирование");

string value = await element.GetValueAsync();

tester.ConsoleMsg(value);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

await element.SetAttributeAsync("class", "my-class");

string attrClass = await element.GetAttributeAsync("class");

tester.ConsoleMsg(attrClass);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

string html = await element.GetHtmlAsync();

tester.ConsoleMsg(html);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

await element.SetHtmlAsync("<div>Это тест</div>");

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "/html/body/footer");

await element.ScrollToAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

await element.WaitVisibleAsync(2);

await element.WaitNotVisibleAsync(2);

Created with the Personal Edition of HelpNDoc: Free Kindle producer


GetFrameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetFrameAsync

Описание: метод возвращает элемент в виде объект класс которого FRAMEElement

Синтаксис: GetFrameAsync(int index)

Возвращаемое значение: объект (FRAMEElement)

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Index: " + frame.Index);

tester.ConsoleMsg("Name: " + frame.Name);

string name = await frame.GetAttributeFromElementAsync(Tester.BY_XPATH, "//input[@id='login']", "name");

List<string> values = await frame.GetAttributeFromElementsAsync(Tester.BY_XPATH, "//input", "name");

if (values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

await frame.SetAttributeInElementAsync(Tester.BY_XPATH, "//input[@id='buttonLogin']", "name", "NameButtonLogin");

await frame.SetAttributeInElementsAsync(Tester.BY_XPATH, "//input", "name", "test");

await frame.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='login']", "Тестировщик");

string value = await frame.GetValueFromElementAsync(Tester.BY_XPATH, "//input[@id='login']");

await frame.ClickElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

bool result = await frame.IsClickableElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.ScrollToElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']", true);

int result = await frame.GetCountElementsAsync(Tester.BY_XPATH, "//input");

string html = await frame.GetHtmlFromElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.SetHtmlInElementAsync(Tester.BY_XPATH, "//*[@id='auth']/h2", "<h2>Тестовый заголовок</h2>");

await frame.WaitNotVisibleElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

await frame.ClickElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.WaitVisibleElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

bool result = await frame.FindElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

bool result = await frame.FindVisibleElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

string title = await frame.GetTitleAsync();

string url = await frame.GetUrlAsync();

await frame.SetTextInElementAsync(Tester.BY_XPATH, "//*[@id='auth']/h2", "Это тест");

string text = await frame.GetTextFromElementAsync(Tester.BY_XPATH, "//*[@id='auth']/h2");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX, "2");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE, "Mobile");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT, "Other");

string index = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX);

string value = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE);

string text = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT);

Created with the Personal Edition of HelpNDoc: Free help authoring tool


GetCountElementsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetCountElementsAsync

Описание: метод возвращает количество найденных элементов

Синтаксис:

GetCountElementsAsync(string by, string locator)

GetCountElementsAsync(Locator locator)

Возвращаемое значение: целое число (int)

Пример:

int count = await tester.GetCountElementsAsync(Tester.BY_CSS, "input");

int count = await tester.GetCountElementsAsync(Tester.BY_XPATH, "//input");

int count = await tester.GetCountElementsAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


GetCountElementsByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetCountElementsByClassAsync

Описание: метод возвращает количество найденных элементов

Синтаксис: GetCountElementsByClassAsync(string _class)

Возвращаемое значение: целое число (int)

Пример:

int count = await tester.GetCountElementsByClassAsync("my-element");

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


GetCountElementsByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetCountElementsByNameAsync

Описание: метод возвращает количество найденных элементов

Синтаксис: GetCountElementsByNameAsync(string name)

Возвращаемое значение: целое число (int)

Пример:

int count = await tester.GetCountElementsByNameAsync("MyElement");

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


GetCountElementsByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetCountElementsByTagAsync

Описание: метод возвращает количество найденных элементов

Синтаксис: GetCountElementsByTagAsync(string tag)

Возвращаемое значение: целое число (int)

Пример:

int count = await tester.GetCountElementsByTagAsync("h2");

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


GetHtmlFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetHtmlFromElementAsync

Описание: метод возвращает html представление объекта в строчном выражении

Синтаксис:

GetHtmlFromElementAsync(string by, string locator)

GetHtmlFromElementAsync(Locator locator)

Возвращаемое значение: строка (string)

Пример:

string html = await tester.GetHtmlFromElementAsync(Tester.BY_CSS, "#auth > h2");

string html = await tester.GetHtmlFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

string html = await tester.GetHtmlFromElementAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Free help authoring tool


GetHtmlFromElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetHtmlFromElementByClassAsync

Описание: метод возвращает html представление объекта в строчном выражении

Синтаксис: GetHtmlFromElementByClassAsync(string _class, int index)

Возвращаемое значение: строка (string)

Пример:

string html = await tester.GetHtmlFromElementByClassAsync("text-field", 0);

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


GetHtmlFromElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetHtmlFromElementByIdAsync

Описание: метод возвращает html представление объекта в строчном выражении

Синтаксис: GetHtmlFromElementByIdAsync(string id)

Возвращаемое значение: строка (string)

Пример:

string html = await tester.GetHtmlFromElementByIdAsync("login");

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


GetHtmlFromElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetHtmlFromElementByNameAsync

Описание: метод возвращает html представление объекта в строчном выражении

Синтаксис: GetHtmlFromElementByNameAsync(string name, int index)

Возвращаемое значение: строка (string)

Пример:

string html = await tester.GetHtmlFromElementByNameAsync("field", 0);

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


GetHtmlFromElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

GetHtmlFromElementByTagAsync

Описание: метод возвращает html представление объекта в строчном выражении

Синтаксис: GetHtmlFromElementByTagAsync(string tag, int index)

Возвращаемое значение: строка (string)

Пример:

string html = await tester.GetHtmlFromElementByTagAsync("h1", 0);

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


IsVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

IsVisibleElementAsync

Описание: метод определяет видимость элемента и возвращает значение true или false

Синтаксис:

IsVisibleElementAsync(string by, string locator)

IsVisibleElementAsync(Locator locator)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.IsVisibleElementAsync(Tester.BY_XPATH, "//*[@id='login']");

bool result = await tester.IsVisibleElementAsync(Tester.BY_CSS, "#login");

await tester.AssertTrueAsync(result);

bool result = await tester.IsVisibleElementAsync(tester.GetLocator("locatorName"));

await tester.AssertTrueAsync(result);

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


MakeElementVisibleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

MakeElementVisibleAsync

Описание: метод делает элемент видимым путем добавления стилей

Синтаксис:

MakeElementVisibleAsync(string by, string locator, string visibility = "visible", int opacity = 1, int index = 1000)

MakeElementVisibleAsync(Locator locator, string visibility = "visible", int opacity = 1, int index = 1000)

Пример:

await tester.MakeElementVisibleAsync(Tester.BY_XPATH, "//*[@id='button']");

await tester.MakeElementVisibleAsync(Tester.BY_BY_CSS, "//*[@id='button']");

await tester.MakeElementVisibleAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


SetHtmlInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

SetHtmlInElementAsync

Описание: метод вставляет html представление объекта в указанный элемент

Синтаксис:

SetHtmlInElementAsync(string by, string locator, string html)

SetHtmlInElementAsync(Locator locator, string html)

Возвращаемое значение: отсутствует

Пример:

await tester.SetHtmlInElementAsync(Tester.BY_CSS, "#auth > h2", "<div>Тестовый блок</div>");

await tester.SetHtmlInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "<div>Тестовый блок</div>");

await tester.SetHtmlInElementAsync(tester.GetLocator("locatorName"), "<div>Тестовый блок</div>");

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


SetHtmlInElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

SetHtmlInElementByClassAsync

Описание: метод вставляет html представление объекта в указанный элемент

Синтаксис: SetHtmlInElementByClassAsync(string _class, int index, string html)

Возвращаемое значение: отсутствует

Пример:

await tester.SetHtmlInElementByClassAsync("text-field", 0, "<h1>это тест</h1>");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


SetHtmlInElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

SetHtmlInElementByIdAsync

Описание: метод вставляет html представление объекта в указанный элемент

Синтаксис: SetHtmlInElementByIdAsync(string id, string html)

Возвращаемое значение: отсутствует

Пример:

await tester.SetHtmlInElementByIdAsync("auth", "<h1>это тест</h1>");

Created with the Personal Edition of HelpNDoc: Free Web Help generator


SetHtmlInElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

SetHtmlInElementByNameAsync

Описание: метод вставляет html представление объекта в указанный элемент

Синтаксис: SetHtmlInElementByNameAsync(string name, int index, string html)

Возвращаемое значение: отсутствует

Пример:

await tester.SetHtmlInElementByNameAsync("block", 0, "<h1>это тест</h1>");

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


SetHtmlInElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Объекты ››

SetHtmlInElementByTagAsync

Описание: метод вставляет html представление объекта в указанный элемент

Синтаксис: SetHtmlInElementByTagAsync(string tag, int index, string html)

Возвращаемое значение: отсутствует

Пример:

await tester.SetHtmlInElementByTagAsync("div", 0, "<h1>это тест</h1>");

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


Ожидание

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


WaitAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд

Синтаксис: WaitAsync(int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitAsync(5);

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


WaitElementInDomAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitElementInDomAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент появится в DOM

Синтаксис:

WaitElementInDomAsync(string by, string locator, int sec)

WaitElementInDomAsync(Locator locator, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitElementInDomAsync(Tester.BY_XPATH, "//div[@id='result']", 5);

await tester.WaitElementInDomAsync(Tester.BY_CSS, "#result", 5);

await tester.WaitElementInDomAsync(tester.GetLocator("locatorName"), 5);

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


WaitElementNotDomAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitElementNotDomAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент перестанет присутствовать в DOM

Синтаксис:

WaitElementNotDomAsync(string by, string locator, int sec)

WaitElementNotDomAsync(Locator locator, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitElementNotDomAsync(Tester.BY_XPATH, "//div[@id='element']", 5);

await tester.WaitElementNotDomAsync(Tester.BY_CSS, "#element", 5);

await tester.WaitElementNotDomAsync(tester.GetLocator("locatorName"), 5);

Created with the Personal Edition of HelpNDoc: Easily create Help documents


WaitNotVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitNotVisibleElementAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент перестанет отображаеться

Синтаксис:

WaitNotVisibleElementAsync(string by, string locator, int sec)

WaitNotVisibleElementAsync(Locator locator, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitNotVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await tester.WaitNotVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

await tester.WaitNotVisibleElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


WaitNotVisibleElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitNotVisibleElementByClassAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент перестанет отображаеться

Синтаксис: WaitNotVisibleElementByClassAsync(string _class, int index, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitNotVisibleElementByClassAsync("my-element", 0, 25);

Created with the Personal Edition of HelpNDoc: Free help authoring tool


WaitNotVisibleElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitNotVisibleElementByIdAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент перестанет отображаеться

Синтаксис: WaitNotVisibleElementByIdAsync(string id, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitNotVisibleElementByIdAsync("MyElement", 25);

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


WaitNotVisibleElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitNotVisibleElementByNameAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент перестанет отображаеться

Синтаксис: WaitNotVisibleElementByNameAsync(string name, int index, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitNotVisibleElementByNameAsync("MyElement", 0, 25);

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


WaitNotVisibleElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitNotVisibleElementByTagAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент перестанет отображаеться

Синтаксис: WaitNotVisibleElementByTagAsync(string tag, int index, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitNotVisibleElementByTagAsync("h1", 0, 25);

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


WaitVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitVisibleElementAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент отобразится

Синтаксис:

WaitVisibleElementAsync(string by, string locator, int sec)

WaitVisibleElementAsync(Locator locator, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await tester.WaitVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

await tester.WaitVisibleElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


WaitVisibleElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitVisibleElementByClassAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент отобразится

Синтаксис: WaitVisibleElementByClassAsync(string _class, int index, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitVisibleElementByClassAsync("my-element", 0, 25);

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


WaitVisibleElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitVisibleElementByIdAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент отобразится

Синтаксис: WaitVisibleElementByIdAsync(string id, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitVisibleElementByIdAsync("MyElement", 25);

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


WaitVisibleElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitVisibleElementByNameAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент отобразится

Синтаксис: WaitVisibleElementByNameAsync(string name, int index, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitVisibleElementByNameAsync("MyElement", 25);

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


WaitVisibleElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Ожидание ››

WaitVisibleElementByTagAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент отобразится

Синтаксис: WaitVisibleElementByTagAsync(string tag, int index, int sec)

Возвращаемое значение: отсутствует

Пример:

await tester.WaitVisibleElementByTagAsync("h1", 25);

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


Поиск

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


FindElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindElementAsync

Описание: метод выполняет поиск элемент в DOM с ожиданием в секундах и возвращает логический результат true или false

Синтаксис:

FindElementAsync(string by, string locator, int sec)

FindElementAsync(Locator locator, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindElementAsync(Tester.BY_CSS, "div[id='result']", 2);

bool result = await tester.FindElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

bool result = await tester.FindElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


FindElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindElementByClassAsync

Описание: метод выполняет поиск элемент в DOM с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindElementByClassAsync(string _class, int index, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindElementByClassAsync("my-element", 0, 5);

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


FindElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindElementByIdAsync

Описание: метод выполняет поиск элемент в DOM с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindElementByIdAsync(string id, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindElementByIdAsync("MyElement", 5);

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


FindElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindElementByNameAsync

Описание: метод выполняет поиск элемент в DOM с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindElementByNameAsync(string name, int index, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindElementByNameAsync("MyElement", 0, 5);

Created with the Personal Edition of HelpNDoc: Free Kindle producer


FindElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindElementByTagAsync

Описание: метод выполняет поиск элемент в DOM с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindElementByTagAsync(string tag, int index, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindElementByTagAsync("h1", 0, 5);

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


FindVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindVisibleElementAsync

Описание: метод выполняет поиск визуально отображаемого элемента с ожиданием в секундах и возвращает логический результат true или false

Синтаксис:

FindVisibleElementAsync(string by, string locator, int sec)

FindVisibleElementAsync(Locator locator, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindVisibleElementAsync(Tester.BY_CSS, "#auth #buttonLogin", 2);

bool result = await tester.FindVisibleElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']", 2);

bool result = await tester.FindVisibleElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


FindVisibleElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindVisibleElementByClassAsync

Описание: метод выполняет поиск визуально отображаемого элемента с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindVisibleElementByClassAsync(string _class, int index, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindVisibleElementByClassAsync("my-element", 0, 5);

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


FindVisibleElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindVisibleElementByIdAsync

Описание: метод выполняет поиск визуально отображаемого элемента с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindVisibleElementByIdAsync(string id, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindVisibleElementByIdAsync("MyElement", 5);

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


FindVisibleElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindVisibleElementByNameAsync

Описание: метод выполняет поиск визуально отображаемого элемента с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindVisibleElementByNameAsync(string name, int index, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindVisibleElementByNameAsync("MyElement", 0, 5);

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


FindVisibleElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Поиск ››

FindVisibleElementByTagAsync

Описание: метод выполняет поиск визуально отображаемого элемента с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindVisibleElementByTagAsync(string tag, int index, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await tester.FindVisibleElementByTagAsync("h1", 0, 5);

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


Стили

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


GetStyleFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

GetStyleFromElementAsync

Описание: метод возвращает стиль элемента из указанного свойства

Синтаксис:

GetStyleFromElementAsync(string by, string locator, string property)

GetStyleFromElementAsync(Locator locator, string property)

Возвращаемое значение: строка (string)

Пример:

string style = await tester.GetStyleFromElementAsync(Tester.BY_CSS, "#auth", "padding");

string style = await tester.GetStyleFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "position");

string style = await tester.GetStyleFromElementAsync(tester.GetLocator("locatorName"), "padding");

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


GetStyleFromElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

GetStyleFromElementByClassAsync

Описание: метод возвращает стиль элемента из указанного свойства

Синтаксис: GetStyleFromElementByClassAsync(string _class, int index, string property)

Возвращаемое значение: строка (string)

Пример:

string style = await tester.GetStyleFromElementByClassAsync("text-field", 0, "border");

Created with the Personal Edition of HelpNDoc: Free help authoring environment


GetStyleFromElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

GetStyleFromElementByIdAsync

Описание: метод возвращает стиль элемента из указанного свойства

Синтаксис: GetStyleFromElementByIdAsync(string id, string property)

Возвращаемое значение: строка (string)

Пример:

string style = await tester.GetStyleFromElementByIdAsync("buttonLogin", "background-color");

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


GetStyleFromElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

GetStyleFromElementByNameAsync

Описание: метод возвращает стиль элемента из указанного свойства

Синтаксис: GetStyleFromElementByNameAsync(string name, int index, string property)

Возвращаемое значение: строка (string)

Пример:

string style = await tester.GetStyleFromElementByNameAsync("pass", 0, "height");

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


GetStyleFromElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

GetStyleFromElementByTagAsync

Описание: метод возвращает стиль элемента из указанного свойства

Синтаксис: GetStyleFromElementByTagAsync(string tag, int index, string property)

Возвращаемое значение: строка (string)

Пример:

string style = await tester.GetStyleFromElementByTagAsync("h2", 0, "width");

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


SetStyleInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

SetStyleInElementAsync

Описание: метод устанавливает стиль элемента

Синтаксис:

SetStyleInElementAsync(string by, string locator, string cssText)

SetStyleInElementAsync(Locator locator, string cssText)

Возвращаемое значение: отсутствует

Пример:

await tester.SetStyleInElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "width: 250px; color: white; background-color: #000000;");

await tester.SetStyleInElementAsync(Tester.BY_CSS, "#auth", "width: 250px; color: white; background-color: #000000;");

await tester.SetStyleInElementAsync(tester.GetLocator("locatorName"), "width: 250px; color: white; background-color: #000000;");

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


SetStyleInElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

SetStyleInElementByClassAsync

Описание: метод устанавливает стиль элемента

Синтаксис: SetStyleInElementByClassAsync(string _class, int index, string cssText)

Возвращаемое значение: отсутствует

Пример:

await tester.SetStyleInElementByClassAsync("text-field", 0, "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: Free help authoring tool


SetStyleInElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

SetStyleInElementByIdAsync

Описание: метод устанавливает стиль элемента

Синтаксис: SetStyleInElementByIdAsync(string id, string cssText)

Возвращаемое значение: отсутствует

Пример:

await tester.SetStyleInElementByIdAsync("buttonLogin", "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


SetStyleInElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

SetStyleInElementByNameAsync

Описание: метод устанавливает стиль элемента

Синтаксис: SetStyleInElementByNameAsync(string name, int index, string cssText)

Возвращаемое значение: отсутствует

Пример:

await tester.SetStyleInElementByNameAsync("pass", 0, "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


SetStyleInElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Стили ››

SetStyleInElementByTagAsync

Описание: метод устанавливает стиль элемента

Синтаксис: SetStyleInElementByTagAsync(string tag, int index, string cssText)

Возвращаемое значение: отсутствует

Пример:

await tester.SetStyleInElementByTagAsync("h2", 0, "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


Страница

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Free Kindle producer


GetCookiesAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

GetCookiesAsync

Описание: метод возвращает список куки (document.cookie).

Синтаксис: GetCookiesAsync()

Пример:

List<string> cookies = await tester.GetCookiesAsync();

if (cookies.Count() > 0)

{

foreach (string cookie in cookies)

{

tester.ConsoleMsg("COOKIE: " + cookie);

}

}

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


GetListRedirectUrlAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

GetListRedirectUrlAsync

Описание: метод возвращает список редиректов произошедших при загрузке страницы

Синтаксис: GetListRedirectUrlAsync()

Возвращаемое значение: список (List)

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://yandex.ru/", 5);

List<string> redirects = await tester.GetListRedirectUrlAsync();

foreach (string url in redirects)

{

tester.ConsoleMsg(url);

}

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


GetTitleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

GetTitleAsync

Описание: метод возвращает заголовок страницы

Синтаксис: GetTitleAsync()

Возвращаемое значение: строка (string)

Пример:

string text = await tester.GetTitleAsync();

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


GetUrlAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

GetUrlAsync

Описание: метод возвращает текущий URL

Синтаксис: GetUrlAsync()

Возвращаемое значение: строка (string)

Пример:

string text = await tester.GetUrlAsync();

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


GetUrlResponseAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

GetUrlResponseAsync

Описание: метод возвращает HTTP ответ указанного URL

Синтаксис: GetUrlResponseAsync(string url)

Возвращаемое значение: целое число (int)

Пример:

int response = await tester.GetUrlResponseAsync("https://somovstudio.github.io/test.html");

await tester.AssertEqualsAsync(200, response);

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


GoToUrlAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

GoToUrlAsync

Описание: метод выполняет загрузку веб сайта по указаному URL с указанным ожиданием в секундах

Флаг abortLoadAfterTime принудительно завершает загрузку страницы после завершения таймера

Синтаксис: GoToUrlAsync(string url, int sec, bool abortLoadAfterTime = false)

Возвращаемое значение: отсутствует

Пример:

await tester.GoToUrlAsync(@"https://www.google.com/", 25);

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


GoToUrlBaseAuthAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

GoToUrlBaseAuthAsync

Описание: метод выполняет загрузку веб сайта по указаному URL при базовой авторизации с указанным ожиданием в секундах

Флаг abortLoadAfterTime принудительно завершает загрузку страницы после завершения таймера

Синтаксис: GoToUrlBaseAuthAsync(string url, string login, string pass, int sec, bool abortLoadAfterTime = false)

Возвращаемое значение: отсутствует

Пример:

await tester.GoToUrlBaseAuthAsync("https://dev.site.com", "login", "pass", 25);

Created with the Personal Edition of HelpNDoc: Free Kindle producer


LoadPageAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Страница ››

LoadPageAsync

Описание: метод выполняет загрузку веб страницы по указаному URL с указанным ожиданием в секундах. Флаг abortLoadAfterTime принудительно завершает загрузку страницы после завершения таймера. Ошибки при загрузке страницы игнорируются и не приводят к падению автотеста.

Синтаксис: LoadPageAsync(string url, int sec, bool abortLoadAfterTime = false)

Пример:

await tester.LoadPageAsync (@"https://www.google.com/", 25, true);

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


Текст

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ››

Created with the Personal Edition of HelpNDoc: Free EPub producer


GetTextFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

GetTextFromElementAsync

Описание: метод возвращает текст из указанного элемента

Синтаксис:

GetTextFromElementAsync(string by, string locator)

GetTextFromElementAsync(Locator locator)

Возвращаемое значение: строка (string)

Пример:

string text = await tester.GetTextFromElementAsync(Tester.BY_CSS, "#auth > h2");

string text = await tester.GetTextFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

string text = await tester.GetTextFromElementAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Free help authoring tool


GetTextFromElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

GetTextFromElementByClassAsync

Описание: метод возвращает текст из указанного элемента

Синтаксис: GetTextFromElementByClassAsync(string _class, int index)

Возвращаемое значение: строка (string)

Пример:

string text = await tester.GetTextFromElementByClassAsync("my-element", 0);

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


GetTextFromElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

GetTextFromElementByIdAsync

Описание: метод возвращает текст из указанного элемента

Синтаксис: GetTextFromElementByIdAsync(string id)

Возвращаемое значение: строка (string)

Пример:

string text = await tester.GetTextFromElementByIdAsync("MyElement");

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


GetTextFromElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

GetTextFromElementByNameAsync

Описание: метод возвращает текст из указанного элемента

Синтаксис: GetTextFromElementByNameAsync(string name, int index)

Возвращаемое значение: строка (string)

Пример:

string text = await tester.GetTextFromElementByNameAsync("MyElement", 0);

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


GetTextFromElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

GetTextFromElementByTagAsync

Описание: метод возвращает текст из указанного элемента

Синтаксис: GetTextFromElementByTagAsync(string tag, int index)

Возвращаемое значение: строка (string)

Пример:

string text = await tester.GetTextFromElementByTagAsync("h1", 0);

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


SetTextInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

SetTextInElementAsync

Описание: метод вставляет текст в указанный элемент

Синтаксис:

SetTextInElementAsync(string by, string locator, string text)

SetTextInElementAsync(Locator locator, string text)

Возвращаемое значение: отсутствует

Пример:

await tester.SetTextInElementAsync(Tester.BY_CSS, "#auth > h2", "Тестовый заголовок");

await tester.SetTextInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "Тестовый заголовок");

await tester.SetTextInElementAsync(tester.GetLocator("locatorName"), "Тестовый заголовок");

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


SetTextInElementByClassAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

SetTextInElementByClassAsync

Описание: метод вставляет текст в указанный элемент

Синтаксис: SetTextInElementByClassAsync(string _class, int index, string text)

Возвращаемое значение: отсутствует

Пример:

await tester.SetTextInElementByClassAsync("my-element", 0, "текст");

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


SetTextInElementByIdAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

SetTextInElementByIdAsync

Описание: метод вставляет текст в указанный элемент

Синтаксис: SetTextInElementByIdAsync(string id, string text)

Возвращаемое значение: отсутствует

Пример:

await tester.SetTextInElementByIdAsync("MyElement", "текст");

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


SetTextInElementByNameAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

SetTextInElementByNameAsync

Описание: метод вставляет текст в указанный элемент

Синтаксис: SetTextInElementByNameAsync(string name, int index, string text)

Возвращаемое значение: отсутствует

Пример:

await tester.SetTextInElementByNameAsync("MyElement", 0, "текст");

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


SetTextInElementByTagAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения действий ›› Текст ››

SetTextInElementByTagAsync

Описание: метод вставляет текст в указанный элемент

Синтаксис: SetTextInElementByTagAsync(string tag, int index, string text)

Возвращаемое значение: отсутствует

Пример:

await tester.SetTextInElementByTagAsync("h1", 0, "текст");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


Методы для выполнения JavaScript

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


ExecuteJavaScriptAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения JavaScript ››

ExecuteJavaScriptAsync

Описание: метод выполняет JavaScript код и возвращает строку с результатом выполнения

Синтаксис: ExecuteJavaScriptAsync(string script)

Возвращаемое значение: строка (string)

Пример:

string script = "(function(){ var element = document.getElementById('MyElement'); return element.innerText; }());";

string result = await tester.ExecuteJavaScriptAsync(script);

Created with the Personal Edition of HelpNDoc: Easily create Help documents


Методы для выполнения Rest запросов

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


RestGetAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения Rest запросов ››

RestGetAsync

Описание: метод выполняет Get Rest запрос и получает результат в формате json

Синтаксис: RestGetAsync(string url, TimeSpan timeout, string charset = "UTF-8")

Возвращаемое значение: строка (string)

Пример:

string result = await tester.RestGetAsync("https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

tester.ConsoleMsg(result);

Данный метод использует стандартный подход:

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

Uri uri = new Uri(url);

HttpClient client = new HttpClient();

client.Timeout = TimeSpan.FromDays(1);

client.BaseAddress = uri;

client.DefaultRequestHeaders.Clear();

client.DefaultRequestHeaders.Accept.Clear();

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

client.DefaultRequestHeaders.Add("charset", "UTF-8");

client.DefaultRequestHeaders.Add("User-Agent", userAgent);

HttpResponseMessage response = await client.GetAsync(url);

if (response.IsSuccessStatusCode)

{

return await response.Content.ReadAsStringAsync();

}

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


RestGetBasicAuthAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения Rest запросов ››

RestGetBasicAuthAsync

Описание: метод выполняет Get Rest запрос и получает результат в формате json

Синтаксис: RestGetBasicAuthAsync(string login, string pass, string url, string charset = "UTF-8")

Возвращаемое значение: строка (string)

Пример:

string result = await tester.RestGetBasicAuthAsync("admin", "0000", " https://jsonplaceholder.typicode.com/posts/1/ ", TimeSpan timeout, "UTF-8");

tester.ConsoleMsg(result);

Данный метод использует стандартный подход:

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

byte[] authToken = Encoding.ASCII.GetBytes($"{login}:{pass}");

Uri uri = new Uri(url);

HttpClient client = new HttpClient();

client.Timeout = TimeSpan.FromDays(1);

client.BaseAddress = uri;

client.DefaultRequestHeaders.Clear();

client.DefaultRequestHeaders.Accept.Clear();

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

client.DefaultRequestHeaders.Add("charset", "UTF-8");

client.DefaultRequestHeaders.Add("User-Agent", userAgent);

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(authToken));

HttpResponseMessage response = await client.GetAsync(url);

if (response.IsSuccessStatusCode)

{

return await response.Content.ReadAsStringAsync();

}

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


RestGetStatusCodeAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения Rest запросов ››

RestGetStatusCodeAsync

Описание: метод выполняет Get Rest запрос и в результате получает код статуса

Синтаксис: RestGetStatusCodeAsync(string url)

Возвращаемое значение: целое число (int)

Пример:

int statusCode = await tester.RestGetAsync("https://jsonplaceholder.typicode.com");

tester.ConsoleMsg(statusCode.ToString());

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


RestPostAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для выполнения Rest запросов ››

RestPostAsync

Описание: метод выполняет Post Rest запрос с отправкой данных в формате json и получает результат так же в формате json

Синтаксис: RestPostAsync(string url, string json, TimeSpan timeout, string charset = "UTF-8")

Возвращаемое значение: строка (string)

Пример:

string result = await tester.RestPostAsync("https://jsonplaceholder.typicode.com/posts/1/", "{}", TimeSpan.FromDays(1), "UTF-8");

tester.ConsoleMsg(result);

Данный метод использует стандартный подход:

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

Uri uri = new Uri(url);

HttpClient client = new HttpClient();

client.Timeout = TimeSpan.FromDays(1);

client.DefaultRequestHeaders.Add("charset", "UTF-8");

client.DefaultRequestHeaders.Add("User-Agent", userAgent);

HttpContent content = new StringContent("{}", Encoding.UTF8, "application/json");

HttpResponseMessage response = await client.PostAsync(uri, content);

if (response.IsSuccessStatusCode)

{

return await response.Content.ReadAsStringAsync();

}

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


Методы для замера затраченного времени

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


TimerStart

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для замера затраченного времени ››

TimerStart

Описание: метод запускает отсчет времени и возвращает значение DateTime

Синтаксис: TimerStart()

Возвращаемое значение: дата и время (DateTime)

Пример:

Tester tester = new Tester(browserForm);

DateTime start = await tester.TimerStart();

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

TimeSpan result = await tester.TimerStop(start);

tester.ConsoleMsg("Time " + result.TotalSeconds);

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator


TimerStop

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для замера затраченного времени ››

TimerStop

Описание: метод завершает отсчет времени и возвращает значение TimeSpan с результатом (например 7,132157 что значит 7 секунд и 132157 миллисекунд)

Синтаксис: TimerStop(DateTime start)

Возвращаемое значение: время (TimeSpan)

Пример:

Tester tester = new Tester(browserForm);

DateTime start = await tester.TimerStart();

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

TimeSpan result = await tester.TimerStop(start);

tester.ConsoleMsg("Time " + result.TotalSeconds);

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


Методы для отправки email и message

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


SendMsgToMailAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для отправки email и message ››

SendMsgToMailAsync

Описание: метод отправляет письмо на почту

Синтаксис: SendMsgToMailAsync(string subject, string body, string filename = "")

Возвращаемое значение: отсутствует

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

if(tester.GetTestResult() == Tester.PASSED)

{

await tester.SendMsgToMailAsync("Тестовое сообщение", "Тест завершился успешно");

}

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


SendMsgToTelegramAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для отправки email и message ››

SendMsgToTelegramAsync

Описание: метод отправляет сообщение в Телеграм, для этого нужно создать бота добавить его в чат и в функцию передать токен бота (botToken), идентификатор чата (chatId), текст сообщения (text) и при необходимости указать кодировку (charset)

Синтаксис: SendMsgToTelegramAsync(string botToken, string chatId, string text, string charset = "UTF-8", int timeHourFrom = 0, int timeHourBefore = 0)

Возвращаемое значение: отсутствует

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

if(tester.GetTestResult() == Tester.FAILED)

{

// сообщение будет отправлено только если текущее время отправки попадает в диапазон от 9:00 до 21:00

// если указать 0, 0, в таком случае сообщение будет отправлено без учета текущего времени

await tester.SendMsgToTelegramAsync("0000000001:ABCDabcd123ABCDabcd123ABCDabcd123ZX", "-123456789", "Тестовое сообщение", "UTF-8", 9, 21);

}

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


Методы для проверки результата

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


AssertEqualsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertEqualsAsync

Описание: метод выполняет проверку между фактическим и ожидаемым значениями, в случае несовпадения проверка будет считаться провальной

Синтаксис: AssertEqualsAsync(dynamic expected, dynamic actual)

Возвращаемое значение: логическое (true или false)

Пример:

string expected = "xyz";

string actual = "xyz";

bool result = await tester.AssertEqualsAsync(expected, actual);

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


AssertNotEqualsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertNotEqualsAsync

Описание: метод выполняет проверку между фактическим и ожидаемым значениями, в случае совпадения проверка будет считаться провальной

Синтаксис: AssertNotEqualsAsync(dynamic expected, dynamic actual)

Возвращаемое значение: логическое (true или false)

Пример:

string expected = "abc";

string actual = "xyz";

bool result = await tester.AssertNotEqualsAsync(expected, actual);

Created with the Personal Edition of HelpNDoc: Free Kindle producer


AssertTrueAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertTrueAsync

Описание: метод выполняет проверку значения true или false, и в случае если значение равно false проверка будет считаться провальной

Синтаксис: AssertTrueAsync(bool condition)

Возвращаемое значение: логическое (true или false)

Пример:

bool flag = true;

bool result = await tester.AssertTrueAsync(flag);

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


AssertFalseAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertFalseAsync

Описание: метод выполняет проверку значения true или false, и в случае если значение равно true проверка будет считаться провальной

Синтаксис: AssertFalseAsync(bool condition)

Возвращаемое значение: логическое (true или false)

Пример:

bool flag = false;

bool result = await tester.AssertFalseAsync(flag);

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


AssertNotNullAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertNotNullAsync

Описание: метод выполняет проверку значения которое не должно быть null, и в случае если значение null проверка будет считаться провальной

Синтаксис: AssertNotNullAsync(dynamic obj)

Возвращаемое значение: логическое (true или false)

Пример:

string text = "текст";

await tester.AssertNotNullAsync(text);

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


AssertNullAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertNullAsync

Описание: метод выполняет проверку значения которое должно быть null, и в случае если значение не null проверка будет считаться провальной

Синтаксис: AssertNullAsync(dynamic obj)

Возвращаемое значение: логическое (true или false)

Пример:

string text = null;

await tester.AssertNullAsync(text);

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


AssertNoErrorsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertNoErrorsAsync

Описание: метод выполняет проверку отсутствия ошибок на странице и если ошибки присутствуют проверка будет считаться провальной

Синтаксис: AssertNoErrorsAsync(bool showListErrors = false, string[] listIgnored = null)

Возвращаемое значение: логическое (true или false)

Пример:

Tester tester = new Tester(browserForm);

...

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test_error.html", 25);

await tester.AssertNoErrorsAsync(true, new string[1] { "stats.g.doubleclick.net" });

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


AssertNetworkEventsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для проверки результата ››

AssertNetworkEventsAsync

Описание: метод выполняет проверку присутствия (presence = true) или отсутствие (presence = false) указанных событий (events), данный метод хорошо использовать при проверке событий Google Analytics и Яндекс Метрика

Синтаксис: AssertNetworkEventsAsync(bool presence, string[] events)

Возвращаемое значение: логическое (true или false)

Пример:

await tester.AssertNetworkEventsAsync(true, new string[] {

"ec=zayavka", "ea=b2c_new_main", "el=some_shpd_nm", "zayavka_shpd"

});

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


Методы для работы с файлами

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Free Web Help generator


FileDownloadAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с файлами ››

FileDownloadAsync

Описание: метод скачивает файла по указанному URL

Синтаксис: FileDownloadAsync(string fileURL, string filename, int waitingSec = 60)

Возвращаемое значение: отсутствует

Пример:

await tester.FileDownloadAsync("https://somovstudio.github.io/img/logo.png", "C:\\download\\logo.png", 60);

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


FileGetHashMD5Async

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с файлами ››

FileGetHashMD5Async

Описание: метод определяет HashMD5 код указанного файла

Синтаксис: FileGetHashMD5Async(string filename)

Возвращаемое значение: строка (string)

Пример:

string hash = await tester.FileGetHashMD5Async("C:\\download\\logo.png");

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


FileReadAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с файлами ››

FileReadAsync

Описание: метод выполняет чтение указанного файла

Синтаксис: FileReadAsync(string encoding, string filename)

Возвращаемое значение: строка (string)

Пример:

string text = await tester.FileReadAsync(Tester.UTF8, "C:\\Hat\\file.txt");

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


FileWriteAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для работы с файлами ››

FileWriteAsync

Описание: метод выполняет запись текста в указанный файла

Синтаксис: FileWriteAsync(string content, string encoding, string filename)

Возвращаемое значение: отсутствует

Пример:

string text = "my text";

await tester.FileWriteAsync(text, Tester.UTF8, "C:\\Hat\\file.txt");

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


Методы для разных задач

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ››

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


CreateHashMD5FromTextAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: Tester ›› Методы для разных задач ››

CreateHashMD5FromTextAsync

Описание: метод создает HashDM5 код из указанного текста

Синтаксис: CreateHashMD5FromTextAsync(string text)

Возвращаемое значение: строка (string)

Пример:

string text = "Hello World";

string hash = await tester.CreateHashMD5FromTextAsync(text);

tester.ConsoleMsg(hash);

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


Класс: HTMLElement

Русская версия ›› Встроенный фреймворк HatFramework ››

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


Конструктор

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


HTMLElement

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Конструктор ››

HTMLElement

Описание: вспомогательный класс, объект html элемента

Синтаксис: HTMLElement(Tester tester, string by, string locator)

Пример получения объекта:

HTMLElement element = await tester. GetElementAsync (Tester.BY_CSS, "#auth #buttonLogin");

await element.ClickAsync();

HTMLElement element = await tester. GetElementAsync (Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

await element.ClickAsync();

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


Константы

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


BY_INDEX

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Константы ››

BY_INDEX

Описание: константа обозначает тип обрабатываемого значения

Синтаксис: BY_INDEX = "BY_INDEX"

Пример:

HTMLElement.BY_INDEX

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


BY_TEXT

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Константы ››

BY_TEXT

Описание: константа обозначает тип обрабатываемого значения

Синтаксис: BY_TEXT = "BY_TEXT"

Пример:

HTMLElement.BY_TEXT

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


BY_VALUE

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Константы ››

BY_VALUE

Описание: константа обозначает тип обрабатываемого значения

Синтаксис: BY_VALUE = "BY_VALUE"

Пример:

HTMLElement.BY_VALUE

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


Переменные

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


Id

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Переменные ››

Id

Описание: переменная возвращает или получает данные ID

Синтаксис: string Id { get; set; }

Пример:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("ID: " + element.Id);

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


Name

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Переменные ››

Name

Описание: переменная возвращает или получает данные Name

Синтаксис: string Name { get; set; }

Пример:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("NAME: " + element.Name);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


Class

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Переменные ››

Class

Описание: переменная возвращает или получает данные Class

Синтаксис: string Class { get; set; }

Пример:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("CLASS: " + element.Class);

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


Type

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Переменные ››

Type

Описание: переменная возвращает или получает данные Type

Синтаксис: string Type { get; set; }

Пример:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("TYPE: " + element.Type);

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


Методы

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


ClickAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

ClickAsync

Описание: метод выполняет нажатие на элемент

Синтаксис: ClickAsync();

Возвращаемое значение: отсутствует

Пример:

await element.ClickAsync();

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


ClickMouseAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

ClickMouseAsync

Описание: метод выполняет нажатие на элемент эмулируя мышку

Синтаксис: ClickMouseAsync()

Возвращаемое значение: отсутствует

Пример:

await element.ClickMouseAsync();

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


GetAttributeAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

GetAttributeAsync

Описание: метод возвращает значение указанного атрибута из элементе

Синтаксис: GetAttributeAsync(string name);

Возвращаемое значение: строка (string)

Пример:

string attrClass = await element.GetAttributeAsync("class");

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator


GetHtmlAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

GetHtmlAsync

Описание: метод возвращает html представление элемента в строчном выражении

Синтаксис: GetHtmlAsync();

Возвращаемое значение: строка (string)

Пример:

string html = await element.GetHtmlAsync();

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


GetLocatorAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

GetLocatorAsync

Описание: метод возвращает локатор элемента

Синтаксис: GetLocatorAsync()

Возвращаемое значение: строка (string)

Пример:

string locator = await element.GetLocatorAsync();

tester.ConsoleMsg(locator);

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


GetOptionAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

GetOptionAsync

Описание: метод возвращает индекс, текст или значение выбоанной опции выбранной option из элемента select

Синтаксис: GetOptionAsync(string by)

Возвращаемое значение: строка (string)

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MySelect']");

await element.SelectOptionAsync(HTMLElement.BY_INDEX, "2");

await element.SelectOptionAsync(HTMLElement.BY_VALUE, "Mobile");

await element.SelectOptionAsync(HTMLElement.BY_TEXT, "Other");

string index = await element.GetOptionAsync(HTMLElement.BY_INDEX);

string text = await element.GetOptionAsync(HTMLElement.BY_TEXT);

string value = await element.GetOptionAsync(HTMLElement.BY_VALUE);

...

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


GetStyleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

GetStyleAsync

Описание: метод возвращает стиль элемента из указанного свойства

Синтаксис: GetStyleAsync(string property)

Возвращаемое значение: строка (string)

Пример:

string style = await element.GetStyleAsync("width");

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


GetTextAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

GetTextAsync

Описание: метод возвращает текст из элемента

Синтаксис: GetTextAsync();

Возвращаемое значение: строка (string)

Пример:

string text = await element.GetTextAsync();

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


GetValueAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

GetValueAsync

Описание: метод возвращает значение из элемента

Синтаксис: GetValueAsync();

Возвращаемое значение: строка (string)

Пример:

string value = await element.GetValueAsync();

Created with the Personal Edition of HelpNDoc: Easily create EBooks


IsClickableAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

IsClickableAsync

Описание: метод определяет кликабельность элемента и возвращает true или false

Синтаксис: IsClickableAsync()

Возвращаемое значение: логическое (true или false)

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//button");

bool clickable = await element.IsClickableAsync();

await tester.AssertTrueAsync(clickable);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


MakeVisibleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

MakeVisibleAsync

Описание: метод делает элемент видимым путем добавления стилей

Синтаксис: MakeVisibleAsync(string by, string locator, string visibility = "visible", int opacity = 1, int index = 1000)

Пример:

await tester.MakeVisibleAsync(Tester.BY_XPATH, "//*[@id='button']");

await tester.MakeVisibleAsync(Tester.BY_BY_CSS, "//*[@id='button']");

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


ScrollToAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

ScrollToAsync

Описание: метод выполняет прокрутку к элементу (параметр behaviorSmooth определяет плавность прокрутки)

Синтаксис: ScrollToAsync(bool behaviorSmooth = false);

Возвращаемое значение: отсутствует

Пример:

await element.ScrollToAsync();

await element.ScrollToAsync(true);

await element.ScrollToAsync(false);

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


SelectOptionAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

SelectOptionAsync

Описание: метод выбирает option из элемента select по указанному индексу, тексту или значению.

Синтаксис: SelectOptionAsync(string by, string value)

Возвращаемое значение: отсутствует

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MySelect']");

await element.SelectOptionAsync(HTMLElement.BY_INDEX, "2");

await element.SelectOptionAsync(HTMLElement.BY_VALUE, "Mobile");

await element.SelectOptionAsync(HTMLElement.BY_TEXT, "Other");

string index = await element.GetOptionAsync(HTMLElement.BY_INDEX);

string text = await element.GetOptionAsync(HTMLElement.BY_TEXT);

string value = await element.GetOptionAsync(HTMLElement.BY_VALUE);

...

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


SetAttributeAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

SetAttributeAsync

Описание: метод вставляет значение указанного атрибута в элемент

Синтаксис: SetAttributeAsync(string name, string value);

Возвращаемое значение: отсутствует

Пример:

await element.SetAttributeAsync("class", "my-class");

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


SetHtmlAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

SetHtmlAsync

Описание: метод вставляет html в элемент

Синтаксис: SetHtmlAsync(string html);

Возвращаемое значение: отсутствует

Пример:

await element.SetHtmlAsync("<div>Это тест</div>");

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


SetStyleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

SetStyleAsync

Описание: метод устанавливает стиль элемента

Синтаксис: SetStyleAsync(string cssText)

Возвращаемое значение: отсутствует

Пример:

await element.SetStyleAsync("width: 250px; background-color: #000000;");

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


SetTextAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

SetTextAsync

Описание: метод вставляет текст в элемент

Синтаксис: SetTextAsync(string text);

Возвращаемое значение: отсутствует

Пример:

await element.SetTextAsync("это тестовый текст");

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


SetValueAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

SetValueAsync

Описание: метод вставляет значение в элемент

Синтаксис: SetValueAsync(string value);

Возвращаемое значение: отсутствует

Пример:

await element.SetValueAsync("это тестовое значение");

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


WaitNotVisibleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

WaitNotVisible

Описание: метод ждет указанное количество секунд пока элемент перестанет отображаться

Синтаксис: WaitNotVisibleAsync(int sec)

Возвращаемое значение: отсутствует

Пример:

await element.WaitNotVisibleAsync(2);

Created with the Personal Edition of HelpNDoc: Free Web Help generator


WaitVisibleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: HTMLElement ›› Методы ››

WaitVisibleAsync

Описание: метод ждет отображение элемента указанное количество секунд

Синтаксис: WaitVisibleAsync(int sec)

Возвращаемое значение: отсутствует

Пример:

await element.WaitVisibleAsync(2);

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


Класс: FRAMEElement

Русская версия ›› Встроенный фреймворк HatFramework ››

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


Конструктор

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: Free help authoring tool


FRAMEElement

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Конструктор ››

FRAMEElement

Описание: вспомогательный класс для работы с фреймом указанного индекса

Синтаксис: FRAMEElement(Tester tester, int index)

Пример получения объекта:

FRAMEElement frame = await tester. GetFrameAsync (0);

tester.ConsoleMsg("Index: " + frame.Index);

tester.ConsoleMsg("Name: " + frame.Name);

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


Константы

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


BY_INDEX

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Константы ››

BY_INDEX

Описание: константа обозначает тип обрабатываемого значения

Синтаксис: BY_INDEX = "BY_INDEX"

Пример:

FRAMEElement.BY_INDEX

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


BY_TEXT

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Константы ››

BY_TEXT

Описание: константа обозначает тип обрабатываемого значения

Синтаксис: BY_TEXT = "BY_TEXT"

Пример:

FRAMEElement.BY_TEXT

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


BY_VALUE

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Константы ››

BY_VALUE

Описание: константа обозначает тип обрабатываемого значения

Синтаксис: BY_VALUE = "BY_VALUE"

Пример:

FRAMEElement.BY_VALUE

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


Переменные

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


Name

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Переменные ››

Name

Описание: переменная возвращает или получает имя (Name) фрейма

Синтаксис: string Name { get; set; }

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Name: " + frame.Name);

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


Index

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Переменные ››

Index

Описание: переменная возвращает или получает индекс (Index) фрейма

Синтаксис: int Index { get; set; }

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Index: " + frame.Index);

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


Index

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Переменные ››

Index

Описание: переменная возвращает или получает индекс (Index) фрейма

Синтаксис: int Index { get; set; }

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Index: " + frame.Index);

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


Методы

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


ClickElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

ClickElementAsync

Описание: метод выполняет нажатие на элемент

Синтаксис: ClickElementAsync(string by, string locator)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.ClickElementAsync(Tester.BY_CSS, "#auth #buttonLogin");

await frame.ClickElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


FindElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

FindElementAsync

Описание: метод выполняет поиск элемент в DOM с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindElementAsync(string by, string locator, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool result = await frame.FindElementAsync(Tester.BY_CSS, "div[id='result']", 2);

bool result = await frame.FindElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


FindVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

FindVisibleElementAsync

Описание: метод выполняет поиск визуально отображаемого элемента с ожиданием в секундах и возвращает логический результат true или false

Синтаксис: FindVisibleElementAsync(string by, string locator, int sec)

Возвращаемое значение: логическое (true или false)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool result = await frame.FindVisibleElementAsync(Tester.BY_CSS, "#auth #buttonLogin", 2);

bool result = await frame.FindVisibleElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']", 2);

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


GetAttributeFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetAttributeFromElementAsync

Описание: метод возвращает строчное значение из указанного атрибута в выбранном элементе

Синтаксис: GetAttributeFromElementAsync(string by, string locator, string attribute)

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string value = await frame.GetAttributeFromElementAsync(Tester.BY_CSS, "input", "name");

string value = await frame.GetAttributeFromElementAsync(Tester.BY_XPATH, "//input", "name");

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


GetAttributeFromElementsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetAttributeFromElementsAsync

Описание: метод возвращает список значений указанного атрибута из множества элементов

Синтаксис: GetAttributeFromElementsAsync(string by, string locator, string attribute)

Возвращаемое значение: список (List)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

List<string> values = await frame.GetAttributeFromElementsAsync(Tester.BY_CSS, "input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

List<string> values = await frame.GetAttributeFromElementsAsync(Tester.BY_XPATH, "//input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


GetCountElementsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetCountElementsAsync

Описание: метод возвращает количество найденных элементов

Синтаксис: GetCountElementsAsync(string by, string locator)

Возвращаемое значение: целое число (int)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

int count = await frame.GetCountElementsAsync(Tester.BY_CSS, "input");

int count = await frame.GetCountElementsAsync(Tester.BY_XPATH, "//input");

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


GetHtmlFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetHtmlFromElementAsync

Описание: метод возвращает html представление объекта в строчном выражении

Синтаксис: GetHtmlFromElementAsync(string by, string locator)

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string html = await frame.GetHtmlFromElementAsync(Tester.BY_CSS, "#auth > h2");

string html = await frame.GetHtmlFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


GetOptionAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetOptionAsync

Описание: метод возвращает индекс, текст или значение выбоанной опции выбранной option из элемента select

Синтаксис: GetOptionAsync(string by, string locator, string type)

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string index = await frame.GetOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_INDEX);

string value = await frame.GetOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_VALUE);

string text = await frame.GetOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_TEXT);

string index = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX);

string value = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE);

string text = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT);

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


GetStyleFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetStyleFromElementAsync

Описание: метод возвращает стиль элемента из указанного свойства

Синтаксис: GetStyleFromElementAsync(string by, string locator, string property)

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string style = await frame.GetStyleFromElementAsync(Tester.BY_CSS, "#auth > h2", "width");

string style = await frame.GetStyleFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "width");

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


GetTextFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetTextFromElementAsync

Описание: метод возвращает текст из указанного элемента

Синтаксис: GetTextFromElementAsync(string by, string locator)

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string text = await frame.GetTextFromElementAsync(Tester.BY_CSS, "#auth > h2");

string text = await frame.GetTextFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


GetTitleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetTitleAsync

Описание: метод возвращает заголовок страницы

Синтаксис: GetTitleAsync()

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string title = await frame.GetTitleAsync();

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


GetUrlAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetUrlAsync

Описание: метод возвращает текущий URL

Синтаксис: GetUrlAsync()

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string url = await frame.GetUrlAsync();

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


GetValueFromElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

GetValueFromElementAsync

Описание: метод возвращает значение из указанного элемента

Синтаксис: GetValueFromElementAsync(string by, string locator)

Возвращаемое значение: строка (string)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

string value = await frame.GetValueFromElementAsync(Tester.BY_CSS, "input[id='login']");

string value = await frame.GetValueFromElementAsync(Tester.BY_XPATH, "//input[@id='login']");

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


IsClickableElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

IsClickableElementAsync

Описание: метод определяет кликабельность элемента и возвращает true или false

Синтаксис: IsClickableElementAsync(string by, string locator)

Возвращаемое значение: логическое (true или false)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool clickable = await frame.IsClickableElementAsync(Tester.BY_CSS, "#buttonLogin");

await tester.AssertTrueAsync(clickable);

bool clickable = await frame.IsClickableElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.AssertTrueAsync(clickable);

Created with the Personal Edition of HelpNDoc: Easily create EBooks


IsVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

IsVisibleElementAsync

Описание: метод определяет видимость элемента и возвращает значение true или false

Синтаксис: IsVisibleElementAsync(string by, string locator)

Возвращаемое значение: логическое (true или false)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool result = await frame.IsVisibleElementAsync(Tester.BY_XPATH, "//*[@id='login']");

bool result = await frame.IsVisibleElementAsync(Tester.BY_CSS, "#login");

await frame.AssertTrueAsync(result);

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


MakeVisibleAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

MakeVisibleAsync

Описание: метод делает элемент видимым путем добавления стилей

Синтаксис: MakeVisibleAsync(string by, string locator, string visibility = "visible", int opacity = 1, int index = 1000)

Пример:

await tester.MakeVisibleAsync(Tester.BY_XPATH, "//*[@id='button']");

await tester.MakeVisibleAsync(Tester.BY_BY_CSS, "//*[@id='button']");

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


ScrollToElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

ScrollToElementAsync

Описание: метод выполняет прокрутку к указанному элементу (параметр behaviorSmooth определяет плавность прокрутки)

Синтаксис: ScrollToElementAsync(string by, string locator, bool behaviorSmooth = false)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.ScrollToElementAsync(Tester.BY_CSS, "body > footer", true);

await frame.ScrollToElementAsync(Tester.BY_XPATH, "/html/body/footer", true);

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


SelectOptionAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

SelectOptionAsync

Описание: метод выбирает option из элемента select по указанному индексу, тексту или значению

Синтаксис: SelectOptionAsync(string by, string locator, string type, string value)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SelectOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_INDEX, "2");

await frame.SelectOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_VALUE, "Mobile");

await frame.SelectOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_TEXT, "Other");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX, "2");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE, "Mobile");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT, "Other");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


SetAttributeInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

SetAttributeInElementAsync

Описание: метод вставляет атрибут со значением в указанный элемент

Синтаксис: SetAttributeInElementAsync(string by, string locator, string attribute, string value)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetAttributeInElementAsync(Tester.BY_CSS, "#auth > h2", "name", "test");

await frame.SetAttributeInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "name", "test");

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


SetAttributeInElementsAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

SetAttributeInElementsAsync

Описание: метод вставить атрибут с указанным значением в множество элементов и в результате возвращает список

Синтаксис: SetAttributeInElementsAsync(string by, string locator, string attribute, string value)

Возвращаемое значение: список (List)

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

List<string> values = await frame.SetAttributeInElementsAsync(Tester.BY_CSS, "input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

List<string> values = await frame.SetAttributeInElementsAsync(Tester.BY_XPATH, "//input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


SetHtmlInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

SetHtmlInElementAsync

Описание: метод вставляет html представление объекта в указанный элемент

Синтаксис: SetHtmlInElementAsync(string by, string locator, string html)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetHtmlInElementAsync(Tester.BY_CSS, "#auth > h2", "<div>Тестовый блок</div>");

await frame.SetHtmlInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "<div>Тестовый блок</div>");

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


SetStyleInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

SetStyleInElementAsync

Описание: метод устанавливает стиль элемента

Синтаксис: SetStyleInElementAsync(string by, string locator, string cssText)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetStyleInElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "background-color: #000000;");

await frame.SetStyleInElementAsync(Tester.BY_CSS, "#auth", "background-color: #000000;");

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


SetTextInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

SetTextInElementAsync

Описание: метод вставляет текст в указанный элемент

Синтаксис: SetTextInElementAsync(string by, string locator, string text)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetTextInElementAsync(Tester.BY_CSS, "#auth > h2", "Тестовый заголовок");

await frame.SetTextInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "Тестовый заголовок");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


SetValueInElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

SetValueInElementAsync

Описание: метод вставляет значение в указанный элемент

Синтаксис: SetValueInElementAsync(string by, string locator, string value)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetValueInElementAsync(Tester.BY_CSS, "input[id='login']", "admin");

await frame.SetValueInElementAsync(Tester.BY_CSS, "input[id='pass']", "0000");

await frame.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='login']", "admin");

await frame.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='pass']", "0000");

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


WaitNotVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

WaitNotVisibleElementAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент перестанет отображаеться

Синтаксис: WaitNotVisibleElementAsync(string by, string locator, int sec)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.WaitNotVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await frame.WaitNotVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


WaitVisibleElementAsync

Русская версия ›› Встроенный фреймворк HatFramework ›› Класс: FRAMEElement ›› Методы ››

WaitVisibleElementAsync

Описание: метод выполняет временную остановку выполнения теста на указанное количество секунд и ждет когда запрашиваемый элемент отобразится

Синтаксис: WaitVisibleElementAsync(string by, string locator, int sec)

Возвращаемое значение: отсутствует

Пример:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.WaitVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await frame.WaitVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


Плагины

Русская версия ››

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


Плагин HatPluginMySql

Русская версия ›› Плагины ››

Created with the Personal Edition of HelpNDoc: Easily create EPub books


Установка плагина

Русская версия ›› Плагины ›› Плагин HatPluginMySql ››

Установка плагина HatPluginMySql

1. Скачайте и установите браузер Hat

ссылка: https://github.com/SomovStudio/Hat/releases

2. Скачайте плагин HatPluginMySql

ссылка: https://github.com/SomovStudio/HatPluginMySql/releases

3. Распакуйте архив HatPluginMySql-1.0.0.zip

4. Скопируйте собержимое папки plugin в корень папки браузера Hat

При копировании вас могут спросить о замене существующих файлов.

В этом случае рекомендуется выбрать "Пропустить эти файлы".

В результате в корне папки должны быть следующие файлы

На этом установка плагина завершена!

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


Подключение плагина к проекту

Русская версия ›› Плагины ›› Плагин HatPluginMySql ››

Подключение плагина HatPluginMySql к проекту автотестов

1. Запустите браузер Hat

2. Создайте новый проект или откройте существующий проект

3. Перейдите на вкладку "Библиотеки" и в конце списка впишите имя одного файла HatPluginMySql.dll

4. Нажмите кнопку "Сохранить".

На этом подключение плагина к проекту завершено

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


Пример автотеста

Русская версия ›› Плагины ›› Плагин HatPluginMySql ››

Пример автотеста

После того как плагин был установлен и подключен к проекту рассмотрим простой автотест.

У нас создана простая база данных в MySQL с именем test_db

В этой базе данных одна таблица test_table с полями: id, name, age, post

Теперь опишем простой автотест который будет добавлять, изменять и удалять данные в базе данных при этом проверяя корректность результатов.

Файл: ExampleTest3.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Reflection;
using Newtonsoft.Json;
using HatFramework;
using HatPluginMySql;

namespace Hat
{
public class ExampleTest3
{
Tester tester;

public async void Main(Form browserWindow)
{
tester = new Tester(browserWindow);

await setUp();
await test();
await tearDown();
}

public async Task setUp()
{
tester.Description("Тест #3 проверка базы данных");
await tester.BrowserFullScreenAsync();
}

public async Task test()
{
DataTable dataTable = null;
List<List<string>> entries = new List<List<string>>();
TesterMySql testerMySql = new TesterMySql(tester);

await tester.TestBeginAsync();

await testerMySql.ConnectionOpenAsync("server=127.0.0.1;uid=root;pwd=;database=test_db");

int count = await testerMySql.GetCountEntriesAsync("SELECT * FROM test_table");
if (count > 0)
{
entries = await testerMySql.GetEntriesAsync("SELECT * FROM test_table");
dataTable = await testerMySql.GetDataTableAsync("SELECT * FROM test_table");
foreach (DataRow row in dataTable.Rows)
foreach (DataColumn col in dataTable.Columns)
tester.ConsoleMsg(row[col].ToString());
}

await testerMySql.SetEntryAsync("INSERT INTO test_table VALUES(NULL, 'I am Tester', 100, 'My post QA')");
bool result = await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");
await testerMySql.AssertHaveInTableAsync("test_table", "name", "'I am Tester'");

entries = await testerMySql.GetEntriesFromTableAsync("test_table");
if (entries != null){
foreach(List<string> entry in entries)
foreach(string value in entry)
tester.ConsoleMsg(value);
}

await testerMySql.EditEntryAsync("UPDATE test_table SET age = 111 WHERE name = 'I am Tester'");
result = await testerMySql.FindEntryAsync("test_table", "age", "111");
await testerMySql.AssertHaveInTableAsync("test_table", "age", "111");

await testerMySql.RemoveEntryAsync("DELETE FROM test_table WHERE name = 'I am Tester'");
result = await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");
await testerMySql.AssertDontHaveInTableAsync("test_table", "name", "'I am Tester'");

await testerMySql.ConnectionCloseAsync();

await tester.TestEndAsync();
}

public async Task tearDown()
{
// await tester.BrowserCloseAsync();
}
}
}

Обратите внимание что для корректной работы автотесты необходимо подключить библиотеку

using HatPluginMySql;

Вначале идет подключение к базе данных

TesterMySql testerMySql = new TesterMySql(tester);

await testerMySql.ConnectionOpenAsync("server=127.0.0.1;uid=root;pwd=;database=test_db");

Используя разные методы производятся манипуляции с данными

await testerMySql.GetCountEntriesAsync("SELECT * FROM test_table");

await testerMySql.GetEntriesAsync("SELECT * FROM test_table");

await testerMySql.GetEntriesFromTableAsync("test_table");

await testerMySql.GetDataTableAsync("SELECT * FROM test_table");

await testerMySql.SetEntryAsync("INSERT INTO test_table VALUES(NULL, 'I am Tester', 100, 'My post QA')");

await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");

await testerMySql.EditEntryAsync("UPDATE test_table SET age = 111 WHERE name = 'I am Tester'");

await testerMySql.RemoveEntryAsync("DELETE FROM test_table WHERE name = 'I am Tester'");

Специальные методы для проверки присутствия или отсутствия данных в базе данных

await testerMySql.AssertHaveInTableAsync("test_table", "name", "'I am Tester'");

await testerMySql.AssertDontHaveInTableAsync("test_table", "name", "'I am Tester'")

В конце работа с базой данных завершается закрытием соединения с ней

await testerMySql.ConnectionCloseAsync();

Запустим автотест и посмотрим на ход проверки и результат

Все действия были выполнены, все проверки прошли успешно.

Тест завершился успешно.

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


Класс: TesterMySql

Русская версия ›› Плагины ›› Плагин HatPluginMySql ››

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


Конструктор

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ››

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator


TesterMySql

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Конструктор ››

TesterMySql

Описание: основной класс работы с базой данных MySql

Синтаксис: TesterMySql(Tester tester)

Пример:

Tester tester = new Tester(browserWindow);

TesterMySql testerMySql = new TesterMySql(tester);

Created with the Personal Edition of HelpNDoc: Easily create EPub books


Методы

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ››

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


ConnectionOpenAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

ConnectionOpenAsync

Описание: метод открывает соединение с базой данных MySql

Синтаксис: ConnectionOpenAsync(string connectionString)

Возвращаемое значение: отсутствует

Пример:

await testerMySql.ConnectionOpenAsync("server=127.0.0.1;uid=root;pwd=;database=test_db");

Created with the Personal Edition of HelpNDoc: Free help authoring environment


ConnectionCloseAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

ConnectionCloseAsync

Описание: метод закрывает соединение с базой данных MySql

Синтаксис: ConnectionCloseAsync()

Возвращаемое значение: отсутствует

Пример:

await testerMySql.ConnectionCloseAsync();

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


GetCountEntriesAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

GetCountEntriesAsync

Описание: метод возвращает количество записей в таблице после выполнения запроса

Синтаксис: GetCountEntriesAsync(string sqlQuertSelect)

Возвращаемое значение: целое число (int)

Пример:

int count = await testerMySql.GetCountEntriesAsync("SELECT * FROM test_table");

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


GetEntriesAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

GetEntriesAsync

Описание: метод возвращает список записей из таблицы после выполнения запроса

Синтаксис: GetEntriesAsync(string sqlQuertSelect)

Возвращаемое значение: список (List)

Пример:

List<List<string>> entries = new List<List<string>>();

entries = await testerMySql.GetEntriesAsync("SELECT * FROM test_table");

foreach(List<string> entry in entries)

foreach(string value in entry)

tester.ConsoleMsg(value);

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


GetEntriesFromTableAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

GetEntriesFromTableAsync

Описание: метод возвращает список записей из указанной таблицы базы данных

Синтаксис: GetEntriesFromTableAsync(string tableName)

Возвращаемое значение: список (List)

Пример:

List<List<string>> entries = new List<List<string>>();

entries = await testerMySql.GetEntriesFromTableAsync("test_table");

foreach(List<string> entry in entries)

foreach(string value in entry)

tester.ConsoleMsg(value);

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


GetDataTableAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

GetDataTableAsync

Описание: метод возвращает таблицу записей из таблицы базы данных после выполнения запроса

Синтаксис: GetDataTableAsync(string sqlQuertSelect)

Возвращаемое значение: таблица (DataTable)

Пример:

DataTable dataTable = null;

dataTable = await testerMySql.GetDataTableAsync("SELECT * FROM test_table");

foreach (DataRow row in dataTable.Rows)

foreach (DataColumn col in dataTable.Columns)

tester.ConsoleMsg(row[col].ToString());

Created with the Personal Edition of HelpNDoc: Free Kindle producer


SetEntryAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

SetEntryAsync

Описание: метод выполняет запрос который добавляет данные в таблицу базы данных и возвращает номер записи

Синтаксис: SetEntryAsync(string sqlQuertInsert)

Возвращаемое значение: целое число (int)

Пример:

int result = await testerMySql.SetEntryAsync("INSERT INTO test_table VALUES(NULL, 'I am Tester', 100, 'My post QA')");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


EditEntryAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

EditEntryAsync

Описание: метод выполняет запрос который изменяет данные в таблице базы данных и возвращает номер записи

Синтаксис: EditEntryAsync(string sqlQuertUpdate)

Возвращаемое значение: целое число (int)

Пример:

int result = await testerMySql.EditEntryAsync("UPDATE test_table SET age = 111 WHERE name = 'I am Tester'");

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


RemoveEntryAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

RemoveEntryAsync

Описание: метод выполняет запрос который удаляет данные в таблице базы данных и возвращает номер записи

Синтаксис: RemoveEntryAsync(string sqlQuertDelete)

Возвращаемое значение: целое число (int)

Пример:

int result = await testerMySql.RemoveEntryAsync("DELETE FROM test_table WHERE name = 'I am Tester'");

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


FindEntryAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

FindEntryAsync

Описание: метод выполняет поиск данные в указанной таблице базы данных и возвращает логическое значение результата поиска

Синтаксис: FindEntryAsync(string tableName, string columnName, string value)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");

Created with the Personal Edition of HelpNDoc: Free help authoring environment


AssertHaveInTableAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

AssertHaveInTableAsync

Описание: метод выполняет проверку данные в указанной таблице базы данных и возвращает логическое значение результата поиска, в случае отрицательного результата проверка будет считаться провальной

Синтаксис: AssertHaveInTableAsync(string tableName, string columnName, string value)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await testerMySql.AssertHaveInTableAsync("test_table", "name", "'I am Tester'");

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


AssertDontHaveInTableAsync

Русская версия ›› Плагины ›› Плагин HatPluginMySql ›› Класс: TesterMySql ›› Методы ››

AssertDontHaveInTableAsync

Описание: метод выполняет проверку данные в указанной таблице базы данных и возвращает логическое значение результата поиска, в случае положительного результата проверка будет считаться провальной

Синтаксис: AssertDontHaveInTableAsync(string tableName, string columnName, string value)

Возвращаемое значение: логическое (true или false)

Пример:

bool result = await testerMySql.AssertDontHaveInTableAsync("test_table", "name", "'I am Tester'");

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


Практические примеры

Русская версия ››

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


Группа автотестов

Русская версия ›› Практические примеры ››

Группа автотестов

Вы можете организовать группу автотестов и запустить их.

Для этого нужно создать папку в которой будут храниться автотесты одной группы (например папка group1)

Далее необходимо описать несколько тестов и поместить их в папку group1.

Обратите внимание: у тестов функция Main должна быть объявлена как Task

первый файл ExampleTest3.cs

Файл: ExampleTest3.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

// Вспомогательный класс для JSON данных

public class TestJson

{

public int userId { get; set; }

public int id { get; set; }

public string title { get; set; }

public string body { get; set; }

}

public class ExampleTest3

{

// Главная переменная для работы автотеста

Tester tester;

// Главная входная функция объявлена как Task это важно! (с этой функции начинается работа автотеста)

public async Task Main(Form browserWindow)

{

// Инициализация главной переменной и дополнительных функций

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

// Функция начала работы с автотестом

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

}

// Функция выполнения действий автотеста

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://jsonplaceholder.typicode.com", 5);

string result = await tester.RestGetAsync(@"https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

TestJson dataJson = JsonConvert.DeserializeObject<TestJson>(result);

tester.AssertEqualsAsync("1", dataJson.userId.ToString());

await tester.TestEndAsync();

}

// Функция завершения работы с автотестом

public async Task tearDown()

{

// await tester.BrowserCloseAsync(); в данном случае нам не нужно чтобы браузер закрывался

}

}

}

и второй файл ExampleTest4.cs

Файл: ExampleTest4.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest4

{

// Главная переменная для работы автотеста

Tester tester;

// Главная входная функция объявлена как Task это важно! (с этой функции начинается работа автотеста)

public async Task Main(Form browserWindow)

{

// Инициализация главной переменной и дополнительных функций

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

// Функция начала работы с автотестом

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

}

// Функция выполнения действий автотеста

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test.html", 5);

string script = @"(function(){ var element = document.getElementsByTagName('h2')[0]; return element.outerText; }());";

string actual = await tester.ExecuteJavaScriptAsync(script);

string expected = "Авторизация";

await tester.AssertEqualsAsync(expected, actual);

await tester.TestEndAsync();

}

// Функция завершения работы с автотестом

public async Task tearDown()

{

// await tester.BrowserCloseAsync(); в данном случае нам не нужно чтобы браузер закрывался

}

}

}

Мы создали два автотеста "ExampleTest3.cs" и "ExampleTest4.cs" которые расположены в папке "group1".

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

Файл: GroupTests1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class GroupTests1

{

// Главная переменная для работы автотеста

Tester tester;

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Инициализация главной переменной

await setUp(); // Функция начала работы с автотестом

await test1(browserWindow); // Функция вызывающая автотест из скрипта ExampleTest3.cs

await test2(browserWindow); // Функция вызывающая автотест из скрипта ExampleTest4.cs

await tearDown(); // Функция завершения работы с автотестом

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync();

}

// Эта Функция запускает автотест из скрипта ExampleTest3.cs

public async Task test1(Form browserWindow)

{

tester.SendMessage("Автотест ExampleTest3", "", "Файл: ExampleTest3.cs", Tester.IMAGE_STATUS_MESSAGE);

ExampleTest3 exampleTest3 = new ExampleTest3(); // Создается переменная автотеста

await exampleTest3.Main(browserWindow); // Запускается автотест

}

// Эта Функция запускает автотест из скрипта ExampleTest4.cs

public async Task test2(Form browserWindow)

{

tester.SendMessage("Автотест ExampleTest4", "", "Файл: ExampleTest4.cs", Tester.IMAGE_STATUS_MESSAGE);

ExampleTest4 exampleTest4 = new ExampleTest4(); // Создается переменная автотеста

await exampleTest4.Main(browserWindow); // Запускается автотест

}

// Функция завершения работы с автотестом

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Как вы видите автотесты ExampleTest3.cs и ExampleTest4.cs будут последовательно вызываться в методах test1 и test2.

Запустите групповой автотест GroupTests1.cs

В результат на вкладке "Тест" будет отражен весь ход последовательного выполнения всех автотестов шаг за шагом.

В случае если какой-то из автотестов будет выполнен неудачно, проверка всё равно продолжится пока не будут пройдены все автотесты

при этом общий результат работы группового автотеста GroupTests1.cs будет считаться провальным.

так же будет создан отчет о полном прохождении всех тестов

Created with the Personal Edition of HelpNDoc: Free help authoring environment


Выполнение JavaScript кода

Русская версия ›› Практические примеры ››

Выполнение JavaScript кода

Для выполнения JavaScript кода в HatFramework добавлен специальный метод ExecuteJavaScriptAsync.

Сначала нужно объявить текстовую переменную и в ней описать скрипт который вы хотите выполнить.

string script = @"(function(){

var element = document.getElementsByTagName('h2')[0];

return element.outerText;

}());";

Теперь с помощью метода ExecuteJavaScriptAsync выполним выше описанный скрипт и получим результат.

string actual = await tester.ExecuteJavaScriptAsync(script);

В данном примере вы получите текст из элемента H2 со страницы на которой этот скрипт был вызван.

Полный пример описан в скрипте ниже:

Файл: ExampleTest4.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest4

{

Tester tester; // Главная переменная для работы автотеста

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Инициализация главной переменной

await setUp(); // Функция начала работы с автотестом

await test(); // Функция выполнения действий теста

await tearDown(); // Функция завершения работы с автотестом

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

}

public async Task test()

{

await tester.TestBeginAsync(); // Начало выполнения действий

await tester.GoToUrlAsync("https://somovstudio.github.io/test.html", 5); // Загрузка страницы по указанному адресу

// Объявление переменной с описание скрипта на JavaScript

string script = @"(function(){

var element = document.getElementsByTagName('h2')[0];

return element.outerText;

}());";

// Выполнение скрипта

string actual = await tester.ExecuteJavaScriptAsync(script);

// Проверка результата

string expected = "Авторизация";

await tester.AssertEqualsAsync(expected, actual); // Ожидаемые и актуальные данные должны совпадать

await tester.TestEndAsync(); // Завершение выполнения действий

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Примеры JavaScript и JQuery скриптов для метода ExecuteJavaScriptAsync :

- фокус на элемент input и введение данных

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.focus();

element.value = '9999999999';

element.setAttribute("value", "9999999999");

- фокус на элемент input и вставка данных

document.getElementById("phone").focus();

document.execCommand("insertHTML", false, "9999999999");

- введение данных в input и вызов событий

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.value = '9999999999';

element.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true }));

element.dispatchEvent(new KeyboardEvent('keypress', { bubbles: true }));

element.dispatchEvent(new KeyboardEvent('keyup', { bubbles: true }));

element.dispatchEvent(new Event('input', { bubbles: true }));

element.dispatchEvent(new Event('change', { bubbles: true }));

- выделить значение в input

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.select();

- нажатие мышкой

var clickEvent = new MouseEvent("click", { "view": window, "bubbles": true, "cancelable": false });

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.dispatchEvent(clickEvent);

var theEvent = document.createEvent("MouseEvent");

theEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

element.dispatchEvent(theEvent);

- использование JQuery для нажатия кнопки (если библиотека подключена на тестируемой странице)

string script = @"$(function() {

console.log('autotest JQUERY');

$('#btn-send > div.btn > a').click();

});";

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


Обработка Json данных с помощью Newtonsoft

Русская версия ›› Практические примеры ››

Обработка Json данных с помощью Newtonsoft

Для работы с Json данными была добавлена библиотека Newtonsoft.Json

Официальная страница: https://www.newtonsoft.com/json

В качестве примера воспользоваемся Rest запросом к адресу https://jsonplaceholder.typicode.com/posts/1/

чтобы получить тестовые данные в Json формате:

{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }

Далее с помощью Newtonsoft.Json выполним обработку полученного результата.

Сначала нужно описать отдельный класс в котором перечислены поля которые присутствуют в Json-е

public class TestJson

{

public int userId { get; set; }

public int id { get; set; }

public string title { get; set; }

public string body { get; set; }

}

Выполняем Rest запрос и получаем Json данные

string result = await tester.RestGetAsync(@"https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

Обрабатываем полученные данные и выводим их

TestJson dataJson = JsonConvert.DeserializeObject<TestJson>(result);

tester.ConsoleMsg("UserID: " + dataJson.userId.ToString());

Полный пример описан в скрипте ниже:

Файл: ExampleTest3.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

// Вспомогательный класс для JSON данных

public class TestJson

{

public int userId { get; set; }

public int id { get; set; }

public string title { get; set; }

public string body { get; set; }

}

public class ExampleTest3

{

Tester tester; // Главная переменная для работы автотеста

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Инициализация главной переменной

await setUp(); // Функция начала работы с автотестом

await test(); // Функция выполнения действий теста

await tearDown(); // Функция завершения работы с автотестом

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

}

public async Task test()

{

await tester.TestBeginAsync(); // Начало выполнения действий

await tester.GoToUrlAsync("https://jsonplaceholder.typicode.com", 5); // Загрузка страницы по указанному адресу

// Выполняет Rest запрос к API по указанному URL и получает результат в формате JSON

string result = await tester.RestGetAsync(@"https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

tester.ConsoleMsg(result); // Выводит полученный результат в консоль

// Выполняет выборку данных из полученного JSON

TestJson dataJson = JsonConvert.DeserializeObject<TestJson>(result);

// Выводит данные в консоль

tester.ConsoleMsg("UserID: " + dataJson.userId.ToString());

tester.ConsoleMsg("ID: " + dataJson.id.ToString());

tester.ConsoleMsg("Title: " + dataJson.title.ToString());

tester.ConsoleMsg("Body: " + dataJson.body.ToString());

await tester.TestEndAsync(); // Завершение выполнения действий

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


Обработка XML данных для проверки карты сайта Sitemap

Русская версия ›› Практические примеры ››

Обработка XML данных для проверки карты сайта Sitemap

Для работы с XML используются следующие библиотеки

using System.Collections;

using System.Xml;

Опишем вспомогательный метод ReadSitemapXML для чтения данных из карты сайта sitemap.xml

Этот метод можно описать в Steps классе но для того чтобы он был доступен в любом классе лучше описать его в Helper.

Задача методы ReadSitemapXML заключается в чтении ссылок из файла sitemap.xml и в результате возврат списка прочитанных ссылок.

Файл: Helper.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

using System.Collections;

using System.Xml;

namespace Hat

{

public static class Helper

{

/* Метод: чтение XML файла карты сайта */

public static async Task<List<string>> ReadSitemapXML(Tester tester, string filename, bool useragent)

{

// Выводим сообщение

int step = tester.SendMessage("ReadSitemapXML(\"" + filename + "\")", Tester.PROCESS, "Чтение xml файла карты сайта", Tester.IMAGE_STATUS_PROCESS);

// Объявляем переменную тип которой список (список для хранения ссылок)

List<string> list = new List<string>();

// Объявляем переменную которая является флагом ошибки (по умолчанию флаг отключен)

bool errors = false;

try

{

// Настраиваем системные параметры подключения

ServicePointManager.Expect100Continue = true;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

// Выполняем чтение xml файла

XmlDocument xDoc;

if (useragent == false)

{

xDoc = new XmlDocument();

xDoc.Load(filename);

}

else

{

WebClient client = new WebClient();

client.Headers["User-Agent"] = await tester.BrowserGetUserAgentAsync();

client.Headers["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

string data = client.DownloadString(filename);

xDoc = new XmlDocument();

xDoc.LoadXml(data);

}

// Читаем элементы из полученного xml файла

XmlElement xRoot = xDoc.DocumentElement;

foreach (XmlNode xnode in xRoot)

{

for (int j = 0; j <= xnode.ChildNodes.Count; j++)

{

if (xnode.ChildNodes[j].Name == "loc")

{

// Сохраняем полученную ссылку в список

list.Add(xnode.ChildNodes[j].InnerText);

break;

}

}

}

// Меняем статус сообщения на успешное выполнение

tester.EditMessage(step, null, Tester.PASSED, "Прочитан xml файл карты сайта", Tester.IMAGE_STATUS_PASSED);

}

catch (Exception ex)

{

// Меняем статус сообщения на неудачное выполнение

tester.EditMessage(step, null, Tester.FAILED, "Не удалось прочитать xml файл карты сайта. Ошибка: " + ex.Message, Tester.IMAGE_STATUS_FAILED);

errors = true; // включаем флаг ошибки

}

// Проверка флага ошибки (если влаг включен true значит произошла неудача и тест будет прерван

await tester.AssertFalseAsync(errors);

return list; // возвращаем список ссылок

}

}

}

Теперь опишем автотест в котором выполним проверку карты сайта

Файл: Sitemap_Test.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class Sitemap_Test

{

// Главная переменная для работы автотеста

Tester tester;

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

// Инициализация главной переменной и дополнительных функций

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

// Функция начала работы с автотестом

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

}

// Функция выполнения действий автотеста

public async Task test()

{

await tester.TestBeginAsync(); // Начало выполнения действий

// Вывод сообщения

tester.SendMessage("Message", Tester.COMPLETED, "Открываем страницу карты сайта", Tester.IMAGE_STATUS_MESSAGE);

// Загрузка страницы по указанному адресу

await tester.GoToUrlAsync("https://somovstudio.github.io/sitemap.xml", 25);

// Чтение ссылок из файла sitemap.xml

List<string> list = await Helper.ReadSitemapXML(tester, "https://somovstudio.github.io/sitemap.xml", false);

// Обработка списка ссылок

int status = 0;

foreach (string url in list)

{

// Получение статуса страницы (200 - корректно, 404 - нет страницы, 502 - сервер не отвечает и т.п.)

status = await tester.RestGetStatusCodeAsync(url);

// Вывод результата в консоль

tester.ConsoleMsg("Статус: " + status.ToString() + " | Страница: " + url);

// Проверка корректности результата

await tester.AssertEqualsAsync(200, status);

}

await tester.TestEndAsync(); // Завершения выполнения действий

}

// Функция завершения работы с автотестом

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


Диалоговые окна alert, prompt и confirm

Русская версия ›› Практические примеры ››

Диалоговые окна alert, prompt и confirm

В браузере отключена поддержка диалоговых окон alert, prompt и confirm.

Таким образом чтобы код выполнялся игнорируя вызовы этих диалоговых окон.

Как это работает? Возьмём для примера тестовую страницу https://somovstudio.github.io/test2.html

Нажмем на кнопку "Вызвать Alert"

откроется диалоговое окно

нажав на ОК мы увидим в поле сообщение "Привет Мир"

То есть сообщение "Привет Мир" отобразится в поле только после нажатия на OK в диалоговом окне Alert.

Если нажать на кнопку "Вызвать Confirm" будет задан вопрос и выведен ответ в поле после нажатия на "ОК" (или "Отмена")

Если нажать на кнопку "Вызвать Confirm" будет задан вопрос и выведен ответ в поле после ввода числа и нажатия на "ОК"

Теперь давайте сделаем тоже самое руками автотеста

Файл: ExampleTest5.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // Главная переменная для работы автотеста

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Инициализация главной переменной

await setUp(); // Функция начала работы с автотестом

await test(); // Функция выполнения действий теста

await tearDown(); // Функция завершения работы с автотестом

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

}

public async Task test()

{

await tester.TestBeginAsync(); // Начало выполнения действий

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5); // Загрузка страницы по указанному адресу

await tester.WaitAsync(2); // Ожидание 2 секунду

await tester.ClickElementByIdAsync("btnAlert"); // Нажатие кнопки

await tester.WaitAsync(2); // Ожидание 2 секунду

await tester.ClickElementByIdAsync("btnConfirm"); // Нажатие кнопки

await tester.WaitAsync(2); // Ожидание 2 секунду

await tester.ClickElementByIdAsync("btnPrompt"); // Нажатие кнопки

await tester.TestEndAsync(); // Завершение выполнения действий

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Запустив автотест мы увидим что диалоговые окна не открываются, а данные меняются в поле.

Сначала будет загружена страница в своем состоянии по умолчанию

Затем автотест нажмет кнопку "Вызвать Alert", при этом диалоговое окно не откроется, а в поле сразу появится сообщение "Привет Мир"

Затем автотест нажмет кнопку "Вызвать Confirm", при этом диалоговое окно не откроется, а в поле сразу появится сообщение "Нет (спасибо за ответ)"

Затем автотест нажмет кнопку "Вызвать Prompt", при этом диалоговое окно не откроется, а в поле сразу появится сообщение "Сейчас null год"

Как вы можете видеть, браузер проигнорировал диалоговые окна и вывел значения по умолчанию.

Таким образом диалоговые окна не мешают выполнению автотестов.

Created with the Personal Edition of HelpNDoc: Easily create EPub books


Базовая авторизация

Русская версия ›› Практические примеры ››

Базовая авторизация

Бывают такие случаи когда страница закрыта базовой авторизацией

Для работы с базовой авторизацией есть два метода:

  • BrowserBasicAuthenticationAsync - выполняет авторизацию до выполнения шагов автотеста
  • GoToUrlBaseAuthAsync - выполняет переход на страницу при этом в адресной URL прописаны логин и пароль

Пример использования метода BrowserBasicAuthenticationAsync

Файл: ExampleTest6.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // Главная переменная для работы автотеста

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Инициализация главной переменной

await setUp(); // Функция начала работы с автотестом

await test(); // Функция выполнения действий теста

await tearDown(); // Функция завершения работы с автотестом

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

await tester.BrowserBasicAuthenticationAsync("login", "pass"); // Выполнение базовой авторизации

}

public async Task test()

{

await tester.TestBeginAsync(); // Начало выполнения действий

await tester.GoToUrlAsync("https://test.site.com", 5); // Загрузка страницы по указанному адресу

await tester.TestEndAsync(); // Завершение выполнения действий

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Пример использования метода GoToUrlBaseAuthAsync

Файл: ExampleTest6.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // Главная переменная для работы автотеста

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Инициализация главной переменной

await setUp(); // Функция начала работы с автотестом

await test(); // Функция выполнения действий теста

await tearDown(); // Функция завершения работы с автотестом

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

}

public async Task test()

{

await tester.TestBeginAsync(); // Начало выполнения действий

// Выполнение базовой авторизации при загрузке страницы

await tester.GoToUrlBaseAuthAsync("https://test.site.com", "login", "pass", 5);

await tester.TestEndAsync(); // Завершение выполнения действий

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


Перехват событий google analytics и yandex metrika

Русская версия ›› Практические примеры ››

Перехват событий google analytics и yandex metrika

Чтобы перехватить события GA и YM воспользуетесь специальными методами.

await tester.AssertNetworkEventsAsync(true, new string[] {
"ec=ga_category", "ea=ga_action", "el=ga_label", "yandex_event"
});

await Helper.ClearBrowserNetworkLogs(tester); // очистка событий

Еще один способ перехватить событие YM это использовать ?_ym_debug=1 в адресе и обработка событий браузера.

Файл: ExampleTest7.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // Главная переменная для работы автотеста

List<string> events; // Переменная в которую собираются все события браузера

// Главная входная функция (с этой функции начинается работа автотеста)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Инициализация главной переменной

await setUp(); // Функция начала работы с автотестом

await test(); // Функция выполнения действий теста

await tearDown(); // Функция завершения работы с автотестом

}

// Функция которая слушает события браузера

private void browserConsoleEvents(object sender, Microsoft.Web.WebView2.Core.CoreWebView2DevToolsProtocolEventReceivedEventArgs e)
{
events.Add(e.ParameterObjectAsJson);
tester.ConsoleMsg(e.ParameterObjectAsJson);
}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Устанавливает разрешение браузер на весь экран

/*

* Включим прослушивание событий браузера
* Источник: https://chromedevtools.github.io/devtools-protocol/tot/Network/
*/

tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Log.entryAdded").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Log.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Console.messageAdded").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Console.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Runtime.consoleAPICalled").DevToolsProtocolEventReceived += browserConsoleEvents;
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Runtime.exceptionThrown").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Runtime.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Network.dataReceived").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Network.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Debugger.scriptParsed").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Debugger.enable", "{}");

}

public async Task test()

{

await tester.TestBeginAsync(); // Начало выполнения действий

await tester.GoToUrlAsync("https://test.site.com/?_ym_debug=1", 5); // Загрузка страницы с включенной отладкой YM событий

await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='SECOND_NAME']", Helper.TestName);
await tester.WaitAsync(1);
await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='NAME']", Helper.TestName);
await tester.WaitAsync(1);
await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='PHONE']", Helper.TestPhone);
await tester.WaitAsync(1);
await tester.ClickElementAsync(Tester.BY_XPATH, "//input[@id='fb_close']");
await tester.WaitAsync(1);
await tester.WaitVisibleElementAsync(Tester.BY_XPATH, "//p[text() = 'Спасибо! Ваша заявка принята.']", 25);
await tester.WaitAsync(5);

// Проверка события YM в списке событий браузера
tester.SendMessage("Message", Tester.COMPLETED, "Проверка: Событие YM (Goal id: yandex_event)", Tester.IMAGE_STATUS_MESSAGE);
bool checkYM = false;
foreach(string value in events)
{
checkYM = value.Contains("Goal id: yandex_event");
if (checkYM == true)
{
tester.SendMessage("Message", Tester.COMPLETED, "Сработало событие YM: " + value, Tester.IMAGE_STATUS_MESSAGE);
break;
}
}
await tester.AssertTrueAsync(checkYM); // Результат проверки

await tester.TestEndAsync(); // Завершение выполнения действий

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Закрывает браузер

}

}

}

Таким образом автотест слушает все события браузера и после выполнения действий просматривает все события в поисках YM.

Если событие YM будет найдено тест считается успешным.

Created with the Personal Edition of HelpNDoc: Easily create Help documents


Версия 1.3 (не актуальна)

Русская версия ››

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


Описание

Русская версия ›› Версия 1.3 (не актуальна) ››

Начиная с версии браузера 1.3 были изменены следующие методы:

    • SendMessage - метод изменен
    • SendMessageDebug - метод изменен
    • EditMessage - метод удален
    • EditMessageDebug - метод удален
    • DefineTestStop - метод изменен

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


SendMessage [изменён начиная с версии 1.3.0]

Русская версия ›› Версия 1.3 (не актуальна) ››

SendMessage (старая версия метода до обновления 1.3.0)

Описание: метод выводит сообщения в таблице процесса выполнения теста

При выполнении в системную консоль выводится action если status равен FAILED, WARNING, "" , null,

в противном случае выводится только status и comment (без action).

Синтаксис: SendMessage(string action, string status, string comment, int image)

Пример:

int step = tester.SendMessage("текст действия", Tester.PROCESS, "текст комментария", Tester.IMAGE_STATUS_PROCESS);

/* Примеры вывода в консоль */

// действие комментарий

int step = tester.SendMessage("действия", null, "комментарий", Tester.IMAGE_STATUS_MESSAGE);

int step = tester.SendMessage("действия", "", "комментарий", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[в процессе]: комментарий

int step = tester.SendMessage("действия", Tester.PROCESS, "комментарий", Tester.IMAGE_STATUS_PROCESS);

// Шаг[успешно]: комментарий

int step = tester.SendMessage("действия", Tester.PASSED, "комментарий", Tester.IMAGE_STATUS_PASSED);

// Шаг[выполнено]: комментарий

int step = tester.SendMessage("действия", Tester.COMPLETED, "комментарий", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[остановлено]: комментарий

int step = tester.SendMessage("действия", Tester.STOPPED, "комментарий", Tester.IMAGE_STATUS_WARNING);

// Шаг[неудача]: действие комментарий

int step = tester.SendMessage("действия", Tester.FAILED, "комментарий", Tester.IMAGE_STATUS_FAILED);

// Шаг[предупреждение]: действие комментарий

int step = tester.SendMessage("действия", Tester.WARNING, "комментарий", Tester.IMAGE_STATUS_WARNING);

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


SendMessageDebug [изменён начиная с версии 1.3.0]

Русская версия ›› Версия 1.3 (не актуальна) ››

SendMessageDebug (старая версия метода до обновления 1.3.0)

Описание: метод выводит отладочное сообщение которое может быть отключено для вывода в отчет и письмо

При выполнении в системную консоль выводится action если status равен FAILED, WARNING, "" , null,

в противном случае выводится только status и comment (без action).

Синтаксис: SendMessageDebug(string actionRus, string actionEng, string status, string commentRus, string commentEng, int image)

Пример:

int step = tester.SendMessageDebug("действия", "action", Tester.PROCESS, "комментарий", "comment", Tester.IMAGE_STATUS_PROCESS);

/* Примеры вывода в консоль */

// действие комментарий

int step = tester.SendMessageDebug("действия", "action", null, "комментарий", "comment", Tester.IMAGE_STATUS_MESSAGE);

int step = tester.SendMessageDebug("действия", "action", "", "комментарий", "comment", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[в процессе]: комментарий

int step = tester.SendMessageDebug("действия", "action", Tester.PROCESS, "комментарий", "comment", Tester.IMAGE_STATUS_PROCESS);

// Шаг[успешно]: комментарий

int step = tester.SendMessageDebug("действия", "action", Tester.PASSED, "комментарий", "comment", Tester.IMAGE_STATUS_PASSED);

// Шаг[выполнено]: комментарий

int step = tester.SendMessageDebug("действия", "action", Tester.COMPLETED, "комментарий", "comment", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[остановлено]: комментарий

int step = tester.SendMessageDebug("действия", "action", Tester.STOPPED, "комментарий", "comment", Tester.IMAGE_STATUS_WARNING);

// Шаг[неудача]: действие комментарий

int step = tester.SendMessageDebug("действия", "action", Tester.FAILED, "комментарий", "comment", Tester.IMAGE_STATUS_FAILED);

// Шаг[предупреждение]: действие комментарий

int step = tester.SendMessageDebug("действия", "action", Tester.WARNING, "комментарий", "comment", Tester.IMAGE_STATUS_WARNING);

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


EditMessage [удалён начиная с версии 1.3.0]

Русская версия ›› Версия 1.3 (не актуальна) ››

EditMessage (старый метода, начиная с версии 1.3.0 был удален)

Описание: метод изменяет ранее выведенное сообщения в таблице процесса выполнения теста

При выполнении в системную консоль выводится action если status равен FAILED, WARNING, "" , null,

в противном случае выводится только status и comment (без action).

Так же action можно указывать как null если он был указан в SendMessage.

Синтаксис: EditMessage(int index, string action, string status, string comment, int image)

Пример:

tester.EditMessage(step, "текст действия", Tester.PASSED, "текст комментария", Tester.IMAGE_STATUS_PASSED);

tester.EditMessage(step, null, Tester.FAILED, "текст комментария", Tester.IMAGE_STATUS_FAILED);

/* Примеры вывода в консоль */

// действие комментарий

tester.EditMessage(step, "действия", null, "комментарий", Tester.IMAGE_STATUS_MESSAGE);

tester.EditMessage(step, "действия", "", "комментарий", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[в процессе]: комментарий

tester.EditMessage(step, "действия", Tester.PROCESS, "комментарий", Tester.IMAGE_STATUS_PROCESS);

// Шаг[успешно]: комментарий

tester.EditMessage(step, "действия", Tester.PASSED, "комментарий", Tester.IMAGE_STATUS_PASSED);

// Шаг[выполнено]: комментарий

tester.EditMessage(step, "действия", Tester.COMPLETED, "комментарий", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[остановлено]: комментарий

tester.EditMessage(step, "действия", Tester.STOPPED, "комментарий", Tester.IMAGE_STATUS_WARNING);

// Шаг[неудача]: действие комментарий

tester.EditMessage(step, "действия", Tester.FAILED, "комментарий", Tester.IMAGE_STATUS_FAILED);

// Шаг[предупреждение]: действие комментарий

tester.EditMessage(step, "действия", Tester.WARNING, "комментарий", Tester.IMAGE_STATUS_WARNING);

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


EditMessageDebug [удалён начиная с версии 1.3.0]

Русская версия ›› Версия 1.3 (не актуальна) ››

EditMessageDebug (старый метода, начиная с версии 1.3.0 был удален)

Описание: метод изменяет ранее выведенное отладочное сообщение которое может быть отключено для вывода в отчет и письмо

При выполнении в системную консоль выводится action если status равен FAILED, WARNING, "" , null,

в противном случае выводится только status и comment (без action)

Так же action можно указывать как null если он был указан в SendMessageDebug.

Синтаксис: EditMessageDebug(int index, string actionRus, string actionEng, string status, string commentRus, string commentEng, int image)

Пример:

tester.EditMessageDebug(step, "действия", "action", Tester.PASSED, "комментарий", "comment", Tester.IMAGE_STATUS_PASSED);

tester.EditMessageDebug(step, null, null, Tester.FAILED, "комментарий", "comment", Tester.IMAGE_STATUS_FAILED); // если действие не меняется можно ставить null

/* Примеры вывода в консоль */

// действие комментарий

tester.EditMessageDebug(step, "действия", "action", null, "комментарий", "comment", Tester.IMAGE_STATUS_MESSAGE);

tester.EditMessageDebug(step, "действия", "action", "", "комментарий", "comment", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[в процессе]: комментарий

tester.EditMessageDebug(step, "действия", "action", Tester.PROCESS, "комментарий", "comment", Tester.IMAGE_STATUS_PROCESS);

// Шаг[успешно]: комментарий

tester.EditMessageDebug(step, "действия", "action", Tester.PASSED, "комментарий", "comment", Tester.IMAGE_STATUS_PASSED);

// Шаг[выполнено]: комментарий

tester.EditMessageDebug(step, "действия", "action", Tester.COMPLETED, "комментарий", "comment", Tester.IMAGE_STATUS_MESSAGE);

// Шаг[остановлено]: комментарий

tester.EditMessageDebug(step, "действия", "action", Tester.STOPPED, "комментарий", "comment", Tester.IMAGE_STATUS_WARNING);

// Шаг[неудача]: действие комментарий

tester.EditMessageDebug(step, "действия", "action", Tester.FAILED, "комментарий", "comment", Tester.IMAGE_STATUS_FAILED);

// Шаг[предупреждение]: действие комментарий

tester.EditMessageDebug(step, "действия", "action", Tester.WARNING, "комментарий", "comment", Tester.IMAGE_STATUS_WARNING);

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


DefineTestStop [изменён начиная с версии 1.3.0]

Русская версия ›› Версия 1.3 (не актуальна) ››

DefineTestStop (старая версия метода до обновления 1.3.0)

Описание: метод проверяет статус процесса (остановлен или нет)

Синтаксис: DefineTestStop(int stepIndex)

Пример:

int step = tester.SendMessage("текст действия", Tester.PROCESS, "текст комментария", Tester.IMAGE_STATUS_PROCESS);

if (tester.DefineTestStop(step) == true) return;

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


English version

Created with the Personal Edition of HelpNDoc: Easily create Help documents


Description

English version ››

Hat

The peculiarity of the Hat browser is that autotests are performed directly in the browser without Selenium and WebDriver.

The built-in Net Framework contains a sufficient number of methods necessary to perform the basic tasks of test automation. The C# programming language and the built-in code editor are used to describe autotest scripts. You can also use Visual Studio as an editor. The user-friendly browser interface displays all the steps of the test with the corresponding description of sales. The verification result is generated in a report and sent to the specified email address. Autotests can be run from the command line of the Windows operating system. This happens when using autotests in popular continuous integration environments such as: Jenkins, TeamCity, GitLab CI/CD.

The official page: https://somovstudio.github.io/

Download the app from GitHub: https://github.com/SomovStudio/Hat

The version of this documentation corresponds to the browser version 1.5.0.3 (update 03/27/2026)

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


Quick start

English version ››

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


System requirements

English version ›› Quick start ››

System requirements

1. The operating system Windows 8, 8.1, 10, 11

2. Package Microsoft .NET Framework 4.8 (download the installer .NET Framework Runtime )

3. Package Microsoft Edge WebView2 (download the installer WebView2 Runtime )

Note: the application archive in the Redist folder contains package installers Microsoft .NET Framework 4.8 и Microsoft Edge WebView2

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


Installation and launch

English version ›› Quick start ››

Installing and launching the browser Hat

1. Download the browser from the official GitHub page: https://github.com/SomovStudio/Hat/

Check the archive with an antivirus program and if everything is in order, open the archive properties and turn on the "Unlock" flag so that the system does not ask you for permission every time you start the browser.

2. The application is completely portable and the downloaded archive can be unzipped to any location on the hard disk.

Tip: it is better not to install in the Program Files folder, otherwise you will have to give the application administrator rights, unzip it to the root of the disk.

go to the folder Hat-1.0.0

3. The Redist folder contains the package installers Microsoft .NET Framework 4.8 и Microsoft Edge WebView2

4. The application itself is located in the Hat folder.

The browser is launched by a file Hat.exe

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


Creating a simple project

English version ›› Quick start ››

Creating a project and launching an autotest

1. In the Project window, on the Explorer tab or in the main Create Project menu, click the Create Simple Project button

2. Create a folder that will contain the project with any name and anywhere on the disk.

In this case, the Project folder has been created at C:\Hat-1.0.0\

Select the project folder and click OK

3. In the Project window, the contents of the project will be displayed on the Explorer tab.

As you can see, the project is not empty, it contains several demo autotests.

4. Double-click on the ExampleTest1.cs file to open it in the code editor.

In line 60, a line is commented out with a call to the BrowserCloseAsync() method that closes the browser.

This is necessary so that the browser does not automatically close after the completion of the autotest.

The project has been successfully created.

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


Creating a project compatible with Visual Studio

English version ›› Quick start ››

Creating a project compatible with Visual Studio

1. In the Project window, on the Explorer tab or in the main Create Project menu, click the "Creating a project compatible with Visual Studio" button

2. A window opens for entering the project name.

Prerequisite the project name must be in Latin letters and without spaces.

3. Create a folder that will contain the project with any name and anywhere on the disk.

In this case, the Project folder has been created at C:\Hat-1.0.0\

Select the project folder and click OK

4. In the Project window, the contents of the project will be displayed on the Explorer tab.

As you can see, the project is not empty, it contains several demo autotests.

5. This project supports work in Visual Studio (it is assumed that you already have Visual Studio installed)

To open a project in Visual Studio, click on the Explorer button in the Project window

Then double-click on the file with the *.sln extension (in this case, MyTests.sln)

When Visual Studio is loaded, our project will immediately be opened and available for work in the Solution Explorer window

Double-click on the ExampleTest1.cs file to open it in the code editor.

In line 59, a line is commented out with a call to the BrowserCloseAsync() method that closes the browser.

This is necessary so that the browser does not automatically close after the completion of the autotest.

It is very convenient to use Visual Studio because the editor, when entering, shows a drop-down list with all available methods, as well as shows the syntax of the selected method and the variables required by it.

The project has been successfully created.

Created with the Personal Edition of HelpNDoc: Free Web Help generator


Launching the autotest and result

English version ›› Quick start ››

Launching the autotest

To run the autotest, select it in the tests folder and click on the "Run test" button

In our case, the ExampleTest1.cs file is launched

The verification process is displayed on the "Test" tab

Upon completion of the autotest, a folder " report " will be created in the root of the project, which contains all reports and screenshots with the results of the performed check.

Double-clicking on the report file (for example: index.html or Report-ExampleTest1.html) you will receive a report with a full description of the progress of the autotest.

For more information about reports and sending reports by mail , see the relevant sections.

As a result, the project was created, the autotest was launched and a report was received.

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


Browser Cache

English version ››

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


Clearing

English version ›› Browser Cache ››

Кэш браузера - очистка

The browser automatically cleans the cache before each launch and reports this to the console

You can also clear the cache manually.

To do this, you need to close the browser and delete the "Hat.exe.WebView2" folder

The entire cache is stored in the folder "Hat.exe.WebView 2", after you delete it and launch the browser, this folder will be created again and a new cache of the current session will be stored in it.

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


Interface

English version ››

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


The main menu

English version ›› Interface ››

The main menu

Menu "File" - allows you to save logs to txt files.

Menu "Project" - creating and opening autotest projects, performing and stopping autotests, as well as settings.

Menu "Browser" - it serves as a browser navigation, as well as allows you to open the developer dashboard "Development Tool" and open the Internet Explorer 11 window

Menu "Settings" - setting the program language

Menu "Window" - allows you to hide or display the system browser windows.

Menu "Help" - contains background information and links to the update and plugin

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


The Toolbar

English version ›› Interface ››

The Toolbar

Contains a field for entering the site address and browser navigation buttons.

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


The Project window - is the Explorer tab

English version ›› Interface ››

The Project window - is the Explorer tab

The main window for working with the project.

The toolbar contains the following buttons:

    • Create a project - creates a new autotest project (simple or compatible with Visual Studio)
    • Open a project - opens a previously created autotest project
    • Explorer - opens the project folder in Windows Explorer
    • Form a startup command - opens a window with an already formed autotest startup command for the Windows command prompt (cmd)
    • Command Prompt (cmd) - opens the Windows system console
    • Settings - the settings menu for working with the project
    • Folders - menu for working with folders
    • Files - menu for working with files
    • Update - updating information in the folder and file tree
    • Run the test - runs the selected autotest
    • Stop the test - stops the running autotest

Settings Menu

    • Choosing the way to display the editor window

    • Choosing the encoding for the project files

    • Configuring the output of messages in the report, as well as generating a report with all the results of the checks.

    • Selecting the output language in the report and letter

    • Selecting the output language on the command line (cmd)

    • Enabling debugging when executing JavaScript code

    • Expand the folder and file tree in Explorer

The folder menu allows you to create and delete folders

The file menu allows you to create new autotest files, open and delete existing files

The tree of project folders and files

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


The Project window - is the Test tab

English version ›› Interface ››

The Project window - is the Test tab

Table of autotest steps.

The toolbar contains the following buttons:

    • Field and Search button - creates a new autotest project
    • Open a project - opens a previously created autotest project
    • Run the test - runs the selected autotest
    • Stop the test - stops the running autotest
    • Detailed information about the step - opens a window with a description of the step

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


The Project window - the Library tab

English version ›› Interface ››

The Project window - the Library tab

List of plug-in libraries required to perform autotests

The toolbar contains the following buttons:

    • Save - saves the list of libraries to the project.hat project file

Created with the Personal Edition of HelpNDoc: Free help authoring environment


The Project window - the Mail tab

English version ›› Interface ››

The Project window - the Mail tab

Mail server connection settings for sending emails with reports on the results of passing autotests

The toolbar contains the following buttons:

    • Save - saves the settings to the project.hat project file

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


The system window

English version ›› Interface ››

The system window

The "Output" tab displays all events that occur when the application is running.

The "Errors" tab displays all errors (console) occurring on loaded pages.

The "Events" tab - displays all events (network) occurring on loaded pages.

The "Browser Settings" tab is the main browser settings.

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


Reports

English version ››

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


Autotest Report

English version ›› Reports ››

Autotest Report

When you run the autotest, a new reports folder will be created in the project folder if it does not already exist.

After completion of the autotest, a file with a report in html format will be created.

The name of the report file corresponds to the name of the autotest file with the prefix Report

For example, when performing the ExampleTest1.cs autotest, a report will be created with the name Report-ExampleTest1.html

To view the results for all completed autotests, a file is created and updated index.html

The resulting report opens in any browser

Full report on all completed inspections (index.html ) it looks like this:

This report (index.html) is created or updated after the completion of any autotest.

This report can be generated or updated manually via the project settings menu.

The report with the successful completion of all steps and checks looks like this:

The report on the failed test looks like this:

If any critical errors occur during execution, they will be reflected in the report as follows:

Using the project settings menu, you can switch the report type to "Summary Report", in which case only user messages and error messages will be displayed in the report.

So the reports will look like this:

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


Log file

English version ›› Reports ››

Log file (log.txt)

If the autotest fails, not only a report is created, but also an entry is made in the log file log.txt

The file records the date and time of the failure, the file name and description of the autotest, as well as the reasons for the failure of the autotest.

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


Mail

English version ››

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


Send a report on the failure of the autotest to the mail

English version ›› Mail ››

Send a report on the failure of the autotest to the mail

The connection to the mail server is configured in the "Project" window.

This example uses a Yandex mailbox.

To use the function of sending a report to the mail, you need to enable this option in the autotest using the method BrowserEnableSendMailAsync

public async Task setUp()
{
await tester.BrowserEnableSendMailAsync(true, false); // only in case of failure
await tester.BrowserEnableSendMailAsync(false, true); // only if successful
await tester.BrowserEnableSendMailAsync(); // in both cases
}

In case of failure, a report of the following type will be sent to the listed email addresses

The email will include a screenshot at the time of the error and a report with the steps of execution, as well as user messages.

You can send an email at any time, you need to use the function SendMsgToMailAsync

public async Task tearDown()
{
if(tester.GetTestResult() == Tester.PASSED)
{
await tester.SendMsgToMailAsync("Text message", "The test was completed successfully");
}
}

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


Console launch mode (Jenkins)

English version ››

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


Running the autotest from the command line

English version ›› Console launch mode (Jenkins) ››

Running the autotest from the command line

To run autotests in popular continuous integration systems, you need to use the Windows command line.

In the "Project" window (on the "Explorer" tab), select the autotest file that you want to run.

Then click on the "Create a launch command" button on the toolbar

As a result, you will see a window with ready-made commands.

    • the first command: cd C:\Hat-1.0.0\Hat - this is a transition to the folder with the application Hat.exe
    • the second command: Hat.exe ExampleTest1.cs C:\Hat-1.0.0\Project - runs the autotest

The syntax of the startup command:

Hat.exe [Autotest_file_name] [Path_To_The_Project_Folder]

Open the command prompt

Use the received commands

The autotest will be launched, and all the execution steps will be reflected in the console

In case of an error, the step will show the method and its properties where the error occurred.

At the end, the result of the entire autotest is shown.

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


A text code editor

English version ››

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


Code Editor (C#)

English version ›› A text code editor ››

Code Editor (C#)

Autotests are edited in a special editor.

To open a file with the *.cs extension in the editor, you need to double-click on the desired file in the Project window (on the Explorer tab) or open the context menu and select "Open file".

The following editor window will open in front of you.

An editor with keyword highlighting, as well as reference information about the built-in methods of the Net Framework framework.

You do not need to manually type the names of the methods, it will be enough to click on it twice (or through the context menu item) so that the method is automatically inserted into the code.

There are buttons on the toolbar:

    • Save File - saves changes to the current file
    • Save file as - allows you to save the script to a new file
    • Save all files - saves changes to all open files
    • Form a startup command - opens a window with an already formed autotest startup command for the Windows command line (cmd)
    • Run the test - runs the selected autotest
    • Stop the test - stops the running autotest
    • Search - executes the search box

The main menu

File:

    • Save File - saves changes to the current file
    • Save file as - allows you to save the script to a new file
    • Save all files - saves changes to all open files
    • Close file - closes the file in the current tab

Debugging:

    • Run the test - runs the selected autotest
    • Stop the test - stops the running autotest

Service:

    • Form a startup command - opens a window with an already formed autotest startup command for the Windows command line (cmd)

Performing a search

To open the search window, click on the search button [image] or press CTRL+F.

The editor allows you to export a list of built-in methods to simplify writing code.

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


Using Visual Studio to edit code

English version ›› A text code editor ››

Using Visual Studio to edit code

In order to use the autotest project as a Visual Studio editor, it must be created as follows:

1. In the Project window, on the Explorer tab or in the main Create Project menu, click the "Create a project compatible with Visual Studio" button

2. A pop-up will open to enter the project name.

Prerequisite the project name must be in Latin letters and without spaces.

3. Create a folder that will contain the project with any name and anywhere on the disk.

In this case, the Project folder has been created at C:\Hat-1.0.0\

Select the project folder and click OK

4. In the Project window, the contents of the project will be displayed on the Explorer tab.

5. This project supports work in Visual Studio (it is assumed that you already have Visual Studio installed)

To open a project in Visual Studio, click on the Explorer button in the Project window

Then double-click on the file with the *.sln extension (in this case, MyTests.sln)

When Visual Studio is loaded, our project will immediately be opened and available for work in the Solution Explorer window

Double-click on the ExampleTest1.cs file to open it in the code editor.

In line 59, a line is commented out with a call to the BrowserCloseAsync() method that closes the browser.

This is necessary so that the browser does not automatically close after the completion of the autotest.

It is very convenient to use Visual Studio because the editor, when entering, shows a drop-down list with all available methods, as well as shows the syntax of the selected method and the variables required by it.

The project has been successfully created and is ready to work with Visual Studio.

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


The structure of the autotest

English version ››

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


Simple project

English version ›› The structure of the autotest ››

Simple project

Autotests are described in a programming language C#.

The structure of the autotest:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

At the beginning there is a list of plug-in libraries.

HatFramework - this is an embedded framework in the browser.

namespace Hat

{

public class ExampleTest1

{

}

}

Namespace and class.

The class name must be the same as the file name.

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

A global variable is declared whose type is Tester

The main function with which the autotest starts is described.

This function initializes a global variable whose type is Tester.

Next comes the call of asynchronous functions.

public async Task setUp()

{

}

public async Task test()

{

await tester.TestBeginAsync();

await tester.TestEndAsync();

}

public async Task tearDown()

{

}

Asynchronous functions are described that perform:

  • setUp - function before the test
  • task - test function
  • tearDown - function after the test

(the names of the functions can be any, the meaning itself and their sequence are important)

Note: the test should always start with the TestBeginAsync() method and end with the TestEndAsync() method

The demo autotest is complete:

Файл: ExampleTest1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest1

{

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync();

}

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test_eng.html", 5);

await tester.WaitVisibleElementByIdAsync("login", 15);

await tester.SetValueInElementByIdAsync("login", "admin");

await tester.WaitAsync(2);

await tester.SetValueInElementByIdAsync("pass", "0000");

await tester.WaitAsync(2);

await tester.ClickElementByIdAsync("buttonLogin");

await tester.WaitVisibleElementByIdAsync("result", 5);

string actual = await tester.GetValueFromElementByIdAsync("textarea");

string expected = "Authorization was successful";

await tester.AssertEqualsAsync(expected, actual);

await tester.TestEndAsync();

}

public async Task tearDown()

{

await tester.BrowserCloseAsync();

}

}

}

Created with the Personal Edition of HelpNDoc: Free Kindle producer


The PageObjects and StepObjects pattern

English version ›› The structure of the autotest ››

The PageObjects and StepObjects pattern

Based on the principles of object-oriented programming, you can easily organize the autotest structure using the PageObjects and StepObjects patterns.

The principle of class interaction:

  • PageObjects (file ExamplePage.cs) - this is a static class that describes locators and methods that return entire objects to the page.
  • StepObjects (file ExampleSteps.cs) - this is a class that inherits all the basic methods from the Tester base class (HatFramework library) and contains its own methods that perform actions with web elements.
  • Autotest (file ExampleTest2.cs) - this is a class that directly performs testing using the PageObjects and StepObjects patterns.
  • (in this case, the global variable tester has the type ExampleSteps, which inherits the base type Tester)

Demo autotest:

file ExamplePage.cs

using System;

using HatFramework;

namespace Hat

{

public static class ExamplePage

{

public static string URL = @"https://somovstudio.github.io/test_eng.html";

public static string InputLogin = "login";

public static string InputPass = "pass";

public static string ButtonLogin = "buttonLogin";

public static string Result = "result";

public static string Textarea = "textarea";

}

}

file ExampleSteps.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleSteps : Tester

{

public ExampleSteps(Form browserWindow): base(browserWindow) {}

public async Task FillForm()

{

await this.WaitVisibleElementByIdAsync(ExamplePage.InputLogin, 15);

await this.SetValueInElementByIdAsync(ExamplePage.InputLogin, "admin");

await this.WaitAsync(2);

await this.SetValueInElementByIdAsync(ExamplePage.InputPass, "0000");

await this.WaitAsync(2);

}

}

}

file ExampleTest2.cs

using System;

using System.IO;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Text.RegularExpressions;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

using HatFramework;

namespace Hat

{

public class ExampleTest2

{

ExampleSteps tester;

public async void Main(Form browserWindow)

{

tester = new ExampleSteps(browserWindow);

await setUp();

await test();

await tearDown();

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync();

}

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync(ExamplePage.URL, 5);

await tester.FillForm();

await tester.ClickElementByIdAsync(ExamplePage.ButtonLogin);

await tester.WaitVisibleElementByIdAsync(ExamplePage.Result, 5);

string actual = await tester.GetValueFromElementByIdAsync(ExamplePage.Textarea);

string expected = "Authorization was successful";

await tester.AssertEqualsAsync(expected, actual);

await tester.TestEndAsync();

}

public async Task tearDown()

{

await tester.BrowserCloseAsync();

}

}

}

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


Creating a new autotest and patterns

English version ›› The structure of the autotest ››

Creating a new autotest

To create a new autotest, you need to select the folder in which you want to create the file in the "Project" window (on the "Explorer" tab), then click on the "Files" button to open the menu and select "Create Autotest file"

You will be prompted to enter a name for the new file (you do not need to specify the extension)

Click OK and a new autotest file will be created. It will immediately appear in the Project window (on the Explorer tab).

The file is not empty, it will immediately describe all the necessary structure.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class MyTest

{

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

public async Task setUp()

{

}

public async Task test()

{

}

public async Task tearDown()

{

}

}

}

Creating patterns

Special templates are also provided for creating the PageObjects and StepObjects pattern files.

As a result, the following pattern files with a basic description will be created

file: MyPage.cs

file: MySteps.cs

using System;

using HatFramework;

namespace Hat

{

public static class MyPage

{

public static string URL = "https://test.com/";

public static string ButtonLogin = "buttonLogin";

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class MySteps : Tester

{

public MySteps(Form browserWindow): base(browserWindow) {}

public async Task Test()

{

await this.AssertTrueAsync(true);

}

}

}

Created with the Personal Edition of HelpNDoc: Easily create Help documents


HatFramework

English version ››

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


Class: Tester

English version ›› HatFramework ››

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


Constructor

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


Tester

English version ›› HatFramework ›› Class: Tester ›› Constructor ››

Tester

Description: the main class of autotests

Syntax: Tester(Form browserForm)

Example:

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

}

Created with the Personal Edition of HelpNDoc: Free Kindle producer


Constants

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


BY_CSS

English version ›› HatFramework ›› Class: Tester ›› Constants ››

BY_CSS

Description: the constant indicates the type of locator being entered

Syntax: BY_CSS = "BY_CSS"

Example:

Tester.BY_CSS

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


BY_XPATH

English version ›› HatFramework ›› Class: Tester ›› Constants ››

BY_XPATH

Description: the constant indicates the type of locator being entered

Syntax: BY_XPATH = "BY_XPATH"

Example:

Tester.BY_XPATH

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


IMAGE_STATUS_PROCESS

English version ›› HatFramework ›› Class: Tester ›› Constants ››

IMAGE_STATUS_PROCESS

Description: the index of the image that indicates the status in the process

Syntax: IMAGE_STATUS_PROCESS = 0

Example:

Tester.IMAGE_STATUS_PROCESS

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


IMAGE_STATUS_PASSED

English version ›› HatFramework ›› Class: Tester ›› Constants ››

IMAGE_STATUS_PASSED

Description: the index of the image that indicates the status of success

Syntax: IMAGE_STATUS_PASSED = 1

Example:

Tester.IMAGE_STATUS_PASSED

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


IMAGE_STATUS_FAILED

English version ›› HatFramework ›› Class: Tester ›› Constants ››

IMAGE_STATUS_FAILED

Description: the index of the image that indicates the failed status

Syntax: IMAGE_STATUS_FAILED = 2

Example:

Tester.IMAGE_STATUS_FAILED

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


IMAGE_STATUS_MESSAGE

English version ›› HatFramework ›› Class: Tester ›› Constants ››

IMAGE_STATUS_MESSAGE

Description: the index of the image that indicates the status of the message

Syntax: IMAGE_STATUS_MESSAGE = 3

Example:

Tester.IMAGE_STATUS_MESSAGE

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


IMAGE_STATUS_WARNING

English version ›› HatFramework ›› Class: Tester ›› Constants ››

IMAGE_STATUS_WARNING

Description: the index of the image that indicates the warning status

Syntax: IMAGE_STATUS_WARNING = 4

Example:

Tester.IMAGE_STATUS_WARNING

Created with the Personal Edition of HelpNDoc: Easily create EPub books


IMAGE_STATUS_DEBUG

English version ›› HatFramework ›› Class: Tester ›› Constants ››

IMAGE_STATUS_DEBUG

Description: the index of the image that indicates the debug status

Syntax: IMAGE_STATUS_DEBUG = 5

Example:

Tester.IMAGE_STATUS_DEBUG

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


COMPLETED

English version ›› HatFramework ›› Class: Tester ›› Constants ››

COMPLETED

Description: the constant indicates the completed status

Syntax: COMPLETED = "COMPLETED"

Example:

Tester.COMPLETED

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


FAILED

English version ›› HatFramework ›› Class: Tester ›› Constants ››

FAILED

Description: the constant indicates the failed status

Syntax: FAILED = "FAILED"

Example:

Tester.FAILED

Created with the Personal Edition of HelpNDoc: Easily create EPub books


PASSED

English version ›› HatFramework ›› Class: Tester ›› Constants ››

PASSED

Description: the constant indicates the success status

Syntax: PASSED = "PASSED"

Example:

Tester.PASSED

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


PROCESS

English version ›› HatFramework ›› Class: Tester ›› Constants ››

PROCESS

Description: the constant indicates the status in progress

Syntax: PROCESS = "PROCESS"

Example:

Tester.PROCESS

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


STOPPED

English version ›› HatFramework ›› Class: Tester ›› Constants ››

STOPPED

Description: the constant indicates the stopped status

Syntax: STOPPED = "STOPPED"

Example:

Tester.STOPPED

Created with the Personal Edition of HelpNDoc: Free EPub producer


WARNING

English version ›› HatFramework ›› Class: Tester ›› Constants ››

WARNING

Description: the constant indicates the warning status

Syntax: WARNING = "WARNING"

Example:

Tester.WARNING

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


DEBUG

English version ›› HatFramework ›› Class: Tester ›› Constants ››

DEBUG

Description: the constant indicates the debug status

Syntax: DEBUG = "DEBUG"

Example:

Tester.DEBUG

Created with the Personal Edition of HelpNDoc: Free Web Help generator


DEFAULT

English version ›› HatFramework ›› Class: Tester ›› Constants ››

DEFAULT

Description: the constant indicates the encoding type for the file

Syntax: DEFAULT = "DEFAULT"

Example:

string text = await tester.FileReadAsync(Tester.DEFAULT, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.DEFAULT, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


UTF8

English version ›› HatFramework ›› Class: Tester ›› Constants ››

UTF8

Description: the constant indicates the encoding type for the file

Syntax: UTF8 = "UTF-8"

Example:

string text = await tester.FileReadAsync(Tester.UTF8, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.UTF8, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


UTF8BOM

English version ›› HatFramework ›› Class: Tester ›› Constants ››

UTF8BOM

Description: the constant indicates the encoding type for the file

Syntax: UTF8BOM = "UTF-8 BOM"

Example:

string text = await tester.FileReadAsync(Tester.UTF8BOM, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.UTF8BOM, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


WINDOWS1251

English version ›› HatFramework ›› Class: Tester ›› Constants ››

WINDOWS1251

Description: the constant indicates the encoding type for the file

Syntax: WINDOWS1251 = "WINDOWS-1251"

Example:

string text = await tester.FileReadAsync(Tester.WINDOWS1251, "C:\\Hat\\file.txt");

await tester.FileWriteAsync(text, Tester.WINDOWS1251, "C:\\Hat\\file_copy.txt");

Created with the Personal Edition of HelpNDoc: Free help authoring environment


Variables

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


BrowserView

English version ›› HatFramework ›› Class: Tester ›› Variables ››

BrowserView

Description: the variable refers to an object representing the browser area

Syntax: WebView2 BrowserView

Example:

tester.BrowserView.Refresh();

tester.BrowserView.Reload();

tester.BrowserView.Source = new Uri(url);

tester.BrowserView.Update();

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


BrowserWindow

English version ›› HatFramework ›› Class: Tester ›› Variables ››

BrowserWindow

Description: the variable refers to the application window

Syntax: Form BrowserWindow

Example:

Tester tester;

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow);

tester.BrowserWindow.Text = "Browser Hat";

tester.BrowserWindow.Width = 800;

tester.BrowserWindow.Height = 600;

tester.BrowserWindow.Close();

}

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


Locators

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


Locator

English version ›› HatFramework ›› Class: Tester ›› Locators ››

Locator

Description: an additional class for creating locators

Syntax:

public class Locator

{

public string name { get; set; }

public string description { get; set; }

public string type { get; set; }

public string value { get; set; }

}

Example:

Locator locator = new Locator();

locator.name = "inputLogin";

locator.description = "This is the login field";

locator.type = Tester.BY_XPATH;

locator.value = "//input[@id='login']";

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


AddLocator

English version ›› HatFramework ›› Class: Tester ›› Locators ››

AddLocator

Description: the method creates a locator and adds it to the shared locator storage.

Syntax: AddLocator(string name, string type, string value, string description)

Return value: no return value

Example:

tester.AddLocator("inputLogin", Tester.BY_XPATH, "//input[@id='login']", "This is the login field");

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


GetLocators

English version ›› HatFramework ›› Class: Tester ›› Locators ››

GetLocators

Description: the method returns the repositories of locators

Syntax: GetLocators()

Return value: Dictionary<string, Locator>

Example:

Dictionary<string, Locator> locators = tester.GetLocators();

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


GetLocator

English version ›› HatFramework ›› Class: Tester ›› Locators ››

GetLocator

Description: the method returns the locator from the locator storage as an object whose class is Locator

Syntax: GetLocator(string name)

Return value: object (Locator)

Example:

await tester.WaitVisibleElementAsync(tester.GetLocator("inputLogin"), 25);

Created with the Personal Edition of HelpNDoc: Easily create EBooks


GetLocatorValue

English version ›› HatFramework ›› Class: Tester ›› Locators ››

GetLocatorValue

Description: the method returns the locator value from the locator storage

Syntax: GetLocatorValue(string name)

Return value: string

Example:

string value = tester.GetLocatorValue("inputLogin");

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


GetCountLocators

English version ›› HatFramework ›› Class: Tester ›› Locators ››

GetCountLocators

Description: the method returns the number of locators in the locator storage

Syntax: GetCountLocators()

Return value: int

Example:

int count = tester.GetCountLocators();

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


ClearLocators

English version ›› HatFramework ›› Class: Tester ›› Locators ››

ClearLocators

Description: the method clears the locator storage

Syntax: ClearLocators()

Return value: no return value

Example:

tester.ClearLocators();

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


RemoveLocator

English version ›› HatFramework ›› Class: Tester ›› Locators ››

RemoveLocator

Description: the method removes the locator from the locator storage and returns a logical result true or false.

Syntax: RemoveLocator(string name)

Return value: bool (true or false)

Example:

bool result = tester.RemoveLocator("inputLogin");

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


Methods for working with the browser

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


BrowserBasicAuthenticationAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserBasicAuthenticationAsync

Description: the browser's navigation method performs the forward action with the specified wait in seconds

Syntax: BrowserBasicAuthenticationAsync(string user, string pass)

Return value: no return value

Example:

Tester tester = new Tester(browserForm);

await tester.BrowserBasicAuthenticationAsync("user", "pass");

await tester.TestBeginAsync();

await tester.GoToUrlAsync("http://test.ru/basic_auth.html", 5);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easily create EBooks


BrowserClearNetworkAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserClearNetworkAsync

Description: the method cleans network events in the browser

Syntax: BrowserClearNetworkAsync()

Return value: no return value

Example:

string events = await tester.BrowserClearNetworkAsync();

tester.ConsoleMsg(events);

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


BrowserCloseAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserCloseAsync

Description: the method closes the browser window

Syntax: BrowserCloseAsync()

Return value: no return value

Example:

await tester.BrowserCloseAsync();

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


BrowserEnableSendMailAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserEnableSendMailAsync

Description: the method includes the option to send a report to the mail in case of failure of the autotest

Syntax: BrowserEnableSendMailAsync(bool byFailure = true, bool bySuccess = true)

Return value: no return value

Example:

Tester tester = new Tester(browserForm);

await tester.BrowserEnableSendMailAsync(true, false); // only in case of failure

await tester.BrowserEnableSendMailAsync(false, true); // only if successful

await tester.BrowserEnableSendMailAsync(); // in both cases

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


BrowserFullScreenAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserFullScreenAsync

Description: the method sets the full-screen size of the browser

Syntax: BrowserFullScreenAsync()

Return value: no return value

Example:

await tester.BrowserFullScreenAsync();

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


BrowserScreenshotAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserScreenshotAsync

Description: the method takes a screenshot of the browser screen

Syntax: BrowserScreenshotAsync(string filename)

Return value: string

Example:

string screenshot = await tester.BrowserScreenshotAsync(null);

screenshot = await tester.BrowserScreenshotAsync("");

screenshot = await tester.BrowserScreenshotAsync("screenshot.jpg");

screenshot = await tester.BrowserScreenshotAsync("C:\\Users\\User\\Desktop\\MyTests\\reports\\screenshots\\test_screenshot.jpg");

tester.ConsoleMsg(screenshot);

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


BrowserSizeAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserSizeAsync

Description: the method sets the browser size

Syntax: BrowserSizeAsync(int width, int height)

Return value: no return value

Example:

await tester.BrowserSizeAsync(800, 600);

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


BrowserGetUserAgentAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserGetUserAgentAsync

Description: the method returns the lowercase value of the browser's User-Agent

Syntax: BrowserGetUserAgentAsync()

Return value: string

Example:

string ua = await tester.BrowserGetUserAgentAsync();

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


BrowserSetUserAgentAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserSetUserAgentAsync

Description: the method sets the User-Agent value for the browser

Syntax: BrowserSetUserAgent(string value)

Return value: no return value

Example:

await tester.TestBeginAsync();

await tester.BrowserSetUserAgent("my user-agent");

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


BrowserGetErrorsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserGetErrorsAsync

Description: the method returns a list of browser errors and warnings

Syntax: BrowserGetErrorsAsync()

Return value: List

Example:

List<string> errors = await tester.BrowserGetErrorsAsync();

foreach (string error in errors)

{

tester.ConsoleMsg(error);

}

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


BrowserGetNetworkAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserGetNetworkAsync

Description: the method returns all current messages from the network in json format

Syntax: BrowserGetNetworkAsync()

Return value: string

Example:

string events = await tester.BrowserGetNetworkAsync();

tester.ConsoleMsg(events);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


BrowserGoBackAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserGoBackAsync

Description: the browser's navigation method performs the action backwards with the specified wait in seconds

The abortLoadAfterTime flag automatically completes page loading after the timer is completed

Syntax: BrowserGoBackAsync(int sec, bool abortLoadAfterTime = false)

Return value: no return value

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://www.yahoo.com/", 5);

string currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.GoToUrlAsync("https://yandex.ru/", 5);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.BrowserGoBackAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.BrowserGoForwardAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


BrowserGoForwardAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserGoForwardAsync

Description: the browser's navigation method performs the forward action with the specified wait in seconds

The abortLoadAfterTime flag automatically completes page loading after the timer is completed

Syntax: BrowserGoForwardAsync(int sec, bool abortLoadAfterTime = false)

Return value: no return value

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://www.yahoo.com/", 5);

string currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.GoToUrlAsync("https://yandex.ru/", 5);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.BrowserGoBackAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://www.yahoo.com/", currentUrl);

await tester.BrowserGoForwardAsync(10);

currentUrl = await tester.GetUrlAsync();

await tester.AssertEqualsAsync("https://yandex.ru/", currentUrl);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


BrowserPageReloadAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with the browser ››

BrowserPageReloadAsync

Description: the method reloads the open page in the browser

The abortLoadAfterTime flag automatically completes page loading after the timer is completed

Syntax: BrowserPageReloadAsync(int sec, bool abortLoadAfterTime = false)

Return value: no return value

Example:

await tester.BrowserPageReloadAsync(25);

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


Methods for displaying messages

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


ConsoleMsg

English version ›› HatFramework ›› Class: Tester ›› Methods for displaying messages ››

ConsoleMsg

Description: the method displays a message in the browser console

Syntax:

ConsoleMsg(string message)

ConsoleMsg(string messageRus, string messageEng)

Return value: no return value

Example:

tester.ConsoleMsg("Текст на Русском языке", "The text is in English");

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


ConsoleMsgError

English version ›› HatFramework ›› Class: Tester ›› Methods for displaying messages ››

ConsoleMsgError

Description: the method outputs an error message to the system console and the browser console

Syntax: ConsoleMsgError(string message)

Return value: no return value

Example:

try

{

}

catch (Exception ex)

{

tester.ConsoleMsgError(ex.ToString());

}

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


ClearMessage

English version ›› HatFramework ›› Class: Tester ›› Methods for displaying messages ››

ClearMessage

Description: the method clears the messages in the output table of the test execution process

Syntax: ClearMessage()

Return value: no return value

Example:

tester.ClearMessage();

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


Description

English version ›› HatFramework ›› Class: Tester ›› Methods for displaying messages ››

Description

Description: the method sets the description of the test, which is then displayed in the report and letter

Syntax: Description(string text)

Return value: no return value

Example:

public async Task setUp()

{

tester.Description("The test checks the authorization on the site");

}

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


DisableDebugInReport

English version ›› HatFramework ›› Class: Tester ›› Methods for displaying messages ››

DisableDebugInReport

Description: this method disables the output of SendMessageDebug debug messages to the report

Syntax: DisableDebugInReport()

Return value: no return value

Example:

tester.DisableDebugInReport();

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


SendMessage

English version ›› HatFramework ›› Class: Tester ›› Methods for displaying messages ››

SendMessage

Description: the method displays messages in the test execution process table

When executed, action is output to the system console if status is FAILED, WARNING, "", null, otherwise only status and comment are output (without action).

Syntax: SendMessage(string action, string status, string comment)

Example:

tester.SendMessage("the text of the actions", Tester.PROCESS, "the text of the comment");

/* Examples of console output */

// action comment

tester.SendMessage("actions", null, "comment");

tester.SendMessage("actions", "", "comment");

// Step[progress]: comment

tester.SendMessage("actions", Tester.PROCESS, "comment");

// Step[passed]: comment

tester.SendMessage("actions", Tester.PASSED, "comment");

// Step[completed]: comment

tester.SendMessage("actions", Tester.COMPLETED, "comment");

// Step[stopped]: comment

tester.SendMessage("actions", Tester.STOPPED, "comment");

// Step[failed]: действие комментарий

tester.SendMessage("actions", Tester.FAILED, "comment");

// Step[warning]: действие комментарий

tester.SendMessage("actions", Tester.WARNING, "comment");

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


SendMessageDebug

English version ›› HatFramework ›› Class: Tester ›› Methods for displaying messages ››

SendMessageDebug

Description: the method outputs a debugging message that can be disabled for output to a report and an email

When executed, action is output to the system console if status is FAILED, WARNING, "", null,

otherwise only status and comment are output (without action).

Syntax: SendMessageDebug(string actionRus, string actionEng, string status, string commentRus, string commentEng, int image)

Example:

tester.SendMessageDebug("действия", "action", Tester.PROCESS, "комментарий", "comment", Tester.IMAGE_STATUS_PROCESS);

Created with the Personal Edition of HelpNDoc: Free EPub producer


Methods for preparing and completing testing

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


TestBeginAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for preparing and completing testing ››

TestBeginAsync

Description: the method of preparing for the test (each test must necessarily begin with this method)

Syntax: TestBeginAsync()

Return value: no return value

Example:

await tester.TestBeginAsync();

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


TestEndAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for preparing and completing testing ››

TestEndAsync

Description: the test completion method (each test must necessarily end with this method), it is this method that saves the report and sends it by mail if such an option is configured and enabled.

Syntax: TestEndAsync()

Return value: no return value

Example:

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easily create Help documents


TestStopAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for preparing and completing testing ››

TestStopAsync

Description: the method forcibly stops the testing process

Syntax: TestStopAsync()

Return value: no return value

Example:

await tester.TestStopAsync();

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


GetTestResult

English version ›› HatFramework ›› Class: Tester ›› Methods for preparing and completing testing ››

GetTestResult

Description: the method returns the status of the test being performed

Syntax: GetTestResult()

Return value: string (the value of which is checked by constants: Tester.PASSED, Tester.FAILED, Tester.PROCESS)

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

...

if(tester.GetTestResult() == Tester.PROCESS) { }

...

await tester.TestEndAsync();

if(tester.GetTestResult() == Tester.FAILED) { }

if(tester.GetTestResult() == Tester.PASSED) { }

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


DefineTestStop

English version ›› HatFramework ›› Class: Tester ›› Methods for preparing and completing testing ››

DefineTestStop

Description: the method checks the status of the process (stopped or not)

Syntax: DefineTestStop()

Return value: bool (true or false)

Example:

if (tester.DefineTestStop() == true) return; // so the test is stopped

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


Methods for performing actions

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


Attributes

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


GetAttributeFromElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementAsync

Description: the method returns a lowercase value from the specified attribute in the selected element

Syntax:

GetAttributeFromElementAsync(string by, string locator, string attribute)

GetAttributeFromElementAsync(Locator locator, string attribute)

Return value: string

Example:

string value = await tester.GetAttributeFromElementAsync(Tester.BY_CSS, "input", "name");

string value = await tester.GetAttributeFromElementAsync(Tester.BY_XPATH, "//input", "name");

string value = await tester.GetAttributeFromElementAsync(tester.GetLocator("locatorName"), "name");

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


GetAttributeFromElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementByClassAsync

Description: the method returns a lowercase value from the specified attribute in the selected element

Syntax: GetAttributeFromElementByClassAsync(string _class, int index, string attribute)

Return value: string

Example:

string value = await tester.GetAttributeFromElementByClassAsync("my-element", 0, "href");

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


GetAttributeFromElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementByIdAsync

Description: the method returns a lowercase value from the specified attribute in the selected element

Syntax: GetAttributeFromElementByIdAsync(string id, string attribute)

Return value: string

Example:

string value = await tester.GetAttributeFromElementByIdAsync("MyElement", "href");

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


GetAttributeFromElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementByNameAsync

Description: the method returns a lowercase value from the specified attribute in the selected element

Syntax: GetAttributeFromElementByNameAsync(string name, int index, string attribute)

Return value: string

Example:

string value = await tester.GetAttributeFromElementByNameAsync("MyElement", 0, "href");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


GetAttributeFromElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementByTagAsync

Description: the method returns a lowercase value from the specified attribute in the selected element

Syntax: GetAttributeFromElementByTagAsync(string tag, int index, string attribute)

Return value: string

Example:

string value = await tester.GetAttributeFromElementByTagAsync("a", 0, "href");

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


GetAttributeFromElementsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementsAsync

Description: the method returns a list of values of the specified attribute from a set of elements

Syntax:

GetAttributeFromElementsAsync(string by, string locator, string attribute)

GetAttributeFromElementsAsync(Locator locator, string attribute)

Return value: List

Example:

List<string> values = await tester.GetAttributeFromElementsAsync(Tester.BY_CSS, "input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

List<string> values = await tester.GetAttributeFromElementsAsync(Tester.BY_XPATH, "//input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

List<string> values = await tester.GetAttributeFromElementsAsync(tester.GetLocator("locatorName"), "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


GetAttributeFromElementsByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementsByClassAsync

Description: the method returns a list of values of the specified attribute from a set of elements

Syntax: GetAttributeFromElementsByClassAsync(string _class, string attribute)

Return value: List

Example:

List<string> values = await tester.GetAttributeFromElementsByClassAsync("text-field", "name");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


GetAttributeFromElementsByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementsByNameAsync

Description: the method returns a list of values of the specified attribute from a set of elements

Syntax: GetAttributeFromElementsByNameAsync(string name, string attribute)

Return value: List

Example:

List<string> values = await tester.GetAttributeFromElementsByNameAsync("link", "href");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


GetAttributeFromElementsByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

GetAttributeFromElementsByTagAsync

Description: the method returns a list of values of the specified attribute from a set of elements

Syntax: GetAttributeFromElementsByTagAsync(string tag, string attribute)

Return value: List

Example:

List<string> values = await tester.GetAttributeFromElementsByTagAsync("a", "href");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Easily create EBooks


SetAttributeInElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementAsync

Description: the method inserts an attribute with a value into the specified element

Syntax:

SetAttributeInElementAsync(string by, string locator, string attribute, string value)

SetAttributeInElementAsync(Locator locator, string attribute, string value)

Return value: no return value

Example:

await tester.SetAttributeInElementAsync(Tester.BY_CSS, "#auth > h2", "name", "test");

await tester.SetAttributeInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "name", "test");

await tester.SetAttributeInElementAsync(tester.GetLocator("locatorName"), "name", "test");

Created with the Personal Edition of HelpNDoc: Free EPub producer


SetAttributeInElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementByClassAsync

Description: the method inserts an attribute with a value into the specified element

Syntax: SetAttributeInElementByClassAsync(string _class, int index, string attribute, string value)

Return value: no return value

Example:

await tester.SetAttributeInElementByClassAsync("my-element", 0, "value", "значение");

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


SetAttributeInElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementByIdAsync

Description: the method inserts an attribute with a value into the specified element

Syntax: SetAttributeInElementByIdAsync(string id, string attribute, string value)

Return value: no return value

Example:

await tester.SetAttributeInElementByIdAsync("MyElement", "value", "value");

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


SetAttributeInElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementByNameAsync

Description: the method inserts an attribute with a value into the specified element

Syntax: SetAttributeInElementByNameAsync(string name, int index, string attribute, string value)

Return value: no return value

Example:

await tester.SetAttributeInElementByNameAsync("MyElement", 0, "value", "value");

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


SetAttributeInElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementByTagAsync

Description: the method inserts an attribute with a value into the specified element

Syntax: SetAttributeInElementByTagAsync(string tag, int index, string attribute, string value)

Return value: no return value

Example:

await tester.SetAttributeInElementByTagAsync("input", 0, "value", "value");

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


SetAttributeInElementsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementsAsync

Description: the method inserts an attribute with the specified value into a set of elements and returns a list as a result

Syntax:

SetAttributeInElementsAsync(string by, string locator, string attribute, string value)

SetAttributeInElementsAsync(Locator locator, string attribute, string value)

Return value: List

Example:

List<string> values = await tester.SetAttributeInElementsAsync(Tester.BY_CSS, "input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

List<string> values = await tester.SetAttributeInElementsAsync(Tester.BY_XPATH, "//input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

List<string> values = await tester.SetAttributeInElementsAsync(tester.GetLocator("locatorName"), "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


SetAttributeInElementsByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementsByClassAsync

Description: the method inserts an attribute with the specified value into a set of elements and returns a list as a result

Syntax: SetAttributeInElementsByClassAsync(string _class, string attribute, string value)

Return value: List

Example:

List<string> values = await tester.SetAttributeInElementsByClassAsync("text-field", "value", "test");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


SetAttributeInElementsByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementsByNameAsync

Description: the method inserts an attribute with the specified value into a set of elements and returns a list as a result

Syntax: SetAttributeInElementsByNameAsync(string name, string attribute, string value)

Return value: List

Example:

List<string> values = await tester.SetAttributeInElementsByNameAsync("link", "href", " www.test.ru ");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


SetAttributeInElementsByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Attributes ››

SetAttributeInElementsByTagAsync

Description: the method inserts an attribute with the specified value into a set of elements and returns a list as a result

Syntax: SetAttributeInElementsByTagAsync(string tag, string attribute, string value)

Return value: List

Example:

List<string> values = await tester.SetAttributeInElementsByTagAsync("a", "href", " www.test.ru ");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


Values

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


GetValueFromElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

GetValueFromElementAsync

Description: the method returns the value from the specified element

Syntax:

GetValueFromElementAsync(string by, string locator)

GetValueFromElementAsync(Locator locator)

Return value: string

Example:

string value = await tester.GetValueFromElementAsync(Tester.BY_CSS, "input[id='login']");

string value = await tester.GetValueFromElementAsync(Tester.BY_XPATH, "//input[@id='login']");

string value = await tester.GetValueFromElementAsync(tester.GetLocator("locatorName");

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


GetValueFromElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

GetValueFromElementByClassAsync

Description: the method returns the value from the specified element

Syntax: GetValueFromElementByClassAsync(string _class, int index)

Return value: string

Example:

string value = await tester.GetValueFromElementByClassAsync("my-element", 0);

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


GetValueFromElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

GetValueFromElementByIdAsync

Description: the method returns the value from the specified element

Syntax: GetValueFromElementByIdAsync(string id)

Return value: string

Example:

string value = await tester.GetValueFromElementByIdAsync("MyElement");

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


GetValueFromElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

GetValueFromElementByNameAsync

Description: the method returns the value from the specified element

Syntax: GetValueFromElementByNameAsync(string name, int index)

Return value: строка (string)

Example:

string value = await tester.GetValueFromElementByNameAsync("MyElement", 0);

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


GetValueFromElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

GetValueFromElementByTagAsync

Description: the method returns the value from the specified element

Syntax: GetValueFromElementByTagAsync(string tag, int index)

Return value: string

Example:

string value = await tester.GetValueFromElementByTagAsync("input", 0);

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


SetValueInElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

SetValueInElementAsync

Description: the method inserts value into the specified element

Syntax:

SetValueInElementAsync(string by, string locator, string value)

SetValueInElementAsync(Locator locator, string value)

Return value: no return value

Example:

await tester.SetValueInElementAsync(Tester.BY_CSS, "input[id='login']", "admin");

await tester.SetValueInElementAsync(Tester.BY_CSS, "input[id='pass']", "0000");

await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='login']", "admin");

await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='pass']", "0000");

await tester.SetValueInElementAsync(tester.GetLocator("locatorName"), "admin");

await tester.SetValueInElementAsync(tester.GetLocator("locatorName"), "0000");

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


SetValueInElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

SetValueInElementByClassAsync

Description: the method inserts value into the specified element

Syntax: SetValueInElementByClassAsync(string _class, int index, string value)

Return value: no return value

Example:

await tester.SetValueInElementByClassAsync("my-element", 0, "value");

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


SetValueInElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

SetValueInElementByIdAsync

Description: the method inserts value into the specified element

Syntax: SetValueInElementByIdAsync(string id, string value)

Return value: no return value

Example:

await tester.SetValueInElementByIdAsync("MyElement", "value");

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


SetValueInElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

SetValueInElementByNameAsync

Description: the method inserts value into the specified element

Syntax: SetValueInElementByNameAsync(string name, int index, string value)

Return value: no return value

Example:

await tester.SetValueInElementByNameAsync("MyElement", 0, "value");

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


SetValueInElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Values ››

SetValueInElementByTagAsync

Description: the method inserts value into the specified element

Syntax: SetValueInElementByTagAsync(string tag, int index, string value)

Return value: no return value

Example:

await tester.SetValueInElementByTagAsync("input", 0, "value");

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle


Clicking

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


ClickElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Clicking ››

ClickElementAsync

Description: the method performs a click on the element

Syntax:

ClickElementAsync(string by, string locator)

ClickElementAsync(Locator locator)

Return value: no return value

Example:

await tester.ClickElementAsync(Tester.BY_CSS, "#auth #buttonLogin");

await tester.ClickElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

await tester.ClickElementAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


ClickElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Clicking ››

ClickElementByClassAsync

Description: the method performs a click on the element

Syntax: ClickElementByClassAsync(string _class, int index);

Return value: no return value

Example:

await tester.ClickElementByClassAsync("my-element", 0)

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


ClickElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Clicking ››

ClickElementByIdAsync

Description: the method performs a click on the element

Syntax: ClickElementByIdAsync(string id)

Return value: no return value

Example:

await tester.ClickElementByIdAsync("MyElement");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


ClickElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Clicking ››

ClickElementByNameAsync

Description: the method performs a click on the element

Syntax: ClickElementByNameAsync(string name, int index)

Return value: no return value

Example:

await tester.ClickElementByNameAsync("MyElement", 0);

Created with the Personal Edition of HelpNDoc: Easily create EBooks


ClickElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Clicking ››

ClickElementByTagAsync

Description: the method performs a click on the element

Syntax: ClickElementByTagAsync(string tag, int index)

Return value: no return value

Example:

await tester.ClickElementByTagAsync("a", 0);

Created with the Personal Edition of HelpNDoc: Easily create EBooks


IsClickableElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Clicking ››

IsClickableElementAsync

Description: the method determines the clickability of the element and returns true or false

Syntax:

IsClickableElementAsync(string by, string locator)

IsClickableElementAsync(Locator locator)

Return value: bool (true or false)

Пример:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test_eng.html", 5);

bool clickable = await tester.IsClickableElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await tester.AssertTrueAsync(clickable);

await tester.TestEndAsync();

bool clickable = await tester.IsClickableElementAsync(tester.GetLocator("locatorName"));

await tester.AssertTrueAsync(clickable);

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


ScrollToElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Clicking ››

ScrollToElementAsync

Description: the method scrolls to the specified element (the behaviorSmooth parameter determines the smoothness of scrolling)

Syntax:

ScrollToElementAsync(string by, string locator, bool behaviorSmooth = false)

ScrollToElementAsync(Locator locator, bool behaviorSmooth = false)

Return value: no return value

Example:

await tester.ScrollToElementAsync(Tester.BY_CSS, "body > footer", true);

await tester.ScrollToElementAsync(Tester.BY_XPATH, "/html/body/footer", true);

await tester.ScrollToElementAsync(tester.GetLocator("locatorName"), true);

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


Objects

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


GetElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetElementAsync

Description: the method returns an element in the form of an object whose class HTMLElement

Syntax:

GetElementAsync(string by, string locator)

GetElementAsync(Locator locator)

Return value: object HTMLElement

Example:

HTMLElement element = await tester.GetElementAsync(tester.GetLocator("locatorName"));

await element.ClickAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_CSS, "#auth #buttonLogin");

await element.ClickAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

await element.ClickAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyFile']");

tester.ConsoleMsg("ID: " + element.Id);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

string text = await element.GetTextAsync();

tester.ConsoleMsg(text);

await element.SetTextAsync("text");

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

await element.SetValueAsync("text");

string value = await element.GetValueAsync();

tester.ConsoleMsg(value);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

await element.SetAttributeAsync("class", "my-class");

string attrClass = await element.GetAttributeAsync("class");

tester.ConsoleMsg(attrClass);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

string html = await element.GetHtmlAsync();

tester.ConsoleMsg(html);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

await element.SetHtmlAsync("<div>text</div>");

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "/html/body/footer");

await element.ScrollToAsync();

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//h1");

await element.WaitVisibleAsync(2);

await element.WaitNotVisibleAsync(2);

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


GetFrameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetFrameAsync

Description: the method returns an element in the form of an object whose class FRAMEElement

Syntax: GetFrameAsync(int index)

Return value: object FRAMEElement

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Index: " + frame.Index);

tester.ConsoleMsg("Name: " + frame.Name);

string name = await frame.GetAttributeFromElementAsync(Tester.BY_XPATH, "//input[@id='login']", "name");

List<string> values = await frame.GetAttributeFromElementsAsync(Tester.BY_XPATH, "//input", "name");

if (values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

await frame.SetAttributeInElementAsync(Tester.BY_XPATH, "//input[@id='buttonLogin']", "name", "NameButtonLogin");

await frame.SetAttributeInElementsAsync(Tester.BY_XPATH, "//input", "name", "test");

await frame.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='login']", "Тестировщик");

string value = await frame.GetValueFromElementAsync(Tester.BY_XPATH, "//input[@id='login']");

await frame.ClickElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

bool result = await frame.IsClickableElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.ScrollToElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']", true);

int result = await frame.GetCountElementsAsync(Tester.BY_XPATH, "//input");

string html = await frame.GetHtmlFromElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.SetHtmlInElementAsync(Tester.BY_XPATH, "//*[@id='auth']/h2", "<h2>Тестовый заголовок</h2>");

await frame.WaitNotVisibleElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

await frame.ClickElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.WaitVisibleElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

bool result = await frame.FindElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

bool result = await frame.FindVisibleElementAsync(Tester.BY_XPATH, "//*[@id='result']", 5);

string title = await frame.GetTitleAsync();

string url = await frame.GetUrlAsync();

await frame.SetTextInElementAsync(Tester.BY_XPATH, "//*[@id='auth']/h2", "Это тест");

string text = await frame.GetTextFromElementAsync(Tester.BY_XPATH, "//*[@id='auth']/h2");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX, "2");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE, "Mobile");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT, "Other");

string index = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX);

string value = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE);

string text = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT);

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


GetCountElementsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetCountElementsAsync

Description: the method returns the number of found items

Syntax:

GetCountElementsAsync(string by, string locator)

GetCountElementsAsync(Locator locator)

Return value: int

Example:

int count = await tester.GetCountElementsAsync(Tester.BY_CSS, "input");

int count = await tester.GetCountElementsAsync(Tester.BY_XPATH, "//input");

int count = await tester.GetCountElementsAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


GetCountElementsByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetCountElementsByClassAsync

Description: the method returns the number of found items

Syntax: GetCountElementsByClassAsync(string _class)

Return value: int

Example:

int count = await tester.GetCountElementsByClassAsync("my-element");

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


GetCountElementsByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetCountElementsByNameAsync

Description: the method returns the number of found items

Syntax: GetCountElementsByNameAsync(string name)

Return value: int

Example:

int count = await tester.GetCountElementsByNameAsync("MyElement");

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


GetCountElementsByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetCountElementsByTagAsync

Description: the method returns the number of found items

Syntax: GetCountElementsByTagAsync(string tag)

Return value: int

Example:

int count = await tester.GetCountElementsByTagAsync("h2");

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


GetHtmlFromElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetHtmlFromElementAsync

Description: the method returns the html representation of the object in a string expression

Syntax:

GetHtmlFromElementAsync(string by, string locator)

GetHtmlFromElementAsync(Locator locator)

Return value: string

Example:

string html = await tester.GetHtmlFromElementAsync(Tester.BY_CSS, "#auth > h2");

string html = await tester.GetHtmlFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

string html = await tester.GetHtmlFromElementAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


GetHtmlFromElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetHtmlFromElementByClassAsync

Description: the method returns the html representation of the object in a string expression

Syntax: GetHtmlFromElementByClassAsync(string _class, int index)

Return value: string

Example:

string html = await tester.GetHtmlFromElementByClassAsync("text-field", 0);

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


GetHtmlFromElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetHtmlFromElementByIdAsync

Description: the method returns the html representation of the object in a string expression

Syntax: GetHtmlFromElementByIdAsync(string id)

Return value: string

Example:

string html = await tester.GetHtmlFromElementByIdAsync("login");

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


GetHtmlFromElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetHtmlFromElementByNameAsync

Description: the method returns the html representation of the object in a string expression

Syntax: GetHtmlFromElementByNameAsync(string name, int index)

Return value: string

Example:

string html = await tester.GetHtmlFromElementByNameAsync("field", 0);

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


GetHtmlFromElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

GetHtmlFromElementByTagAsync

Description: the method returns the html representation of the object in a string expression

Syntax: GetHtmlFromElementByTagAsync(string tag, int index)

Return value: string

Example:

string html = await tester.GetHtmlFromElementByTagAsync("h1", 0);

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


IsVisibleElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

IsVisibleElementAsync

Description: the method determines the visibility of the element and returns the value true or false

Syntax:

IsVisibleElementAsync(string by, string locator)

IsVisibleElementAsync(Locator locator)

Return value: bool (true or false)

Example:

bool result = await tester.IsVisibleElementAsync(Tester.BY_XPATH, "//*[@id='login']");

bool result = await tester.IsVisibleElementAsync(Tester.BY_CSS, "#login");

await tester.AssertTrueAsync(result);

bool result = await tester.IsVisibleElementAsync(tester.GetLocator("locatorName"));

await tester.AssertTrueAsync(result);

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


MakeElementVisibleAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

MakeElementVisibleAsync

Description: the method makes the element visible by adding styles

Syntax:

MakeElementVisibleAsync(string by, string locator, string visibility = "visible", int opacity = 1, int index = 1000)

MakeElementVisibleAsync(Locator locator, string visibility = "visible", int opacity = 1, int index = 1000)

Example:

await tester.MakeElementVisibleAsync(Tester.BY_XPATH, "//*[@id='button']");

await tester.MakeElementVisibleAsync(Tester.BY_BY_CSS, "//*[@id='button']");

await tester.MakeElementVisibleAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Create help files for the Qt Help Framework


SetHtmlInElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

SetHtmlInElementAsync

Description: the method inserts the html representation of the object into the specified element

Syntax:

SetHtmlInElementAsync(string by, string locator, string html)

SetHtmlInElementAsync(Locator locator, string html)

Return value: no return value

Example:

await tester.SetHtmlInElementAsync(Tester.BY_CSS, "#auth > h2", "<div>text</div>");

await tester.SetHtmlInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "<div>text</div>");

await tester.SetHtmlInElementAsync(tester.GetLocator("locatorName"), "<div>text</div>");

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


SetHtmlInElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

SetHtmlInElementByClassAsync

Description: the method inserts the html representation of the object into the specified element

Syntax: SetHtmlInElementByClassAsync(string _class, int index, string html)

Return value: no return value

Example:

await tester.SetHtmlInElementByClassAsync("text-field", 0, "<h1>text</h1>");

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


SetHtmlInElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

SetHtmlInElementByIdAsync

Description: the method inserts the html representation of the object into the specified element

Syntax: SetHtmlInElementByIdAsync(string id, string html)

Return value: no return value

Example:

await tester.SetHtmlInElementByIdAsync("auth", "<h1>text</h1>");

Created with the Personal Edition of HelpNDoc: Free Kindle producer


SetHtmlInElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

SetHtmlInElementByNameAsync

Description: the method inserts the html representation of the object into the specified element

Syntax: SetHtmlInElementByNameAsync(string name, int index, string html)

Return value: no return value

Example:

await tester.SetHtmlInElementByNameAsync("block", 0, "<h1>text</h1>");

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


SetHtmlInElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Objects ››

SetHtmlInElementByTagAsync

Description: the method inserts the html representation of the object into the specified element

Syntax: SetHtmlInElementByTagAsync(string tag, int index, string html)

Return value: no return value

Example:

await tester.SetHtmlInElementByTagAsync("div", 0, "<h1>text</h1>");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


Waiting

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


WaitAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitAsync

Description: the method temporarily stops the test execution for the specified number of seconds

Syntax: WaitAsync(int sec)

Return value: no return value

Example:

await tester.WaitAsync(5);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


WaitElementInDomAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitElementInDomAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to appear in the DOM

Syntax:

WaitElementInDomAsync(string by, string locator, int sec)

WaitElementInDomAsync(Locator locator, int sec)

Return value: no return value

Example:

await tester.WaitElementInDomAsync(Tester.BY_XPATH, "//div[@id='result']", 5);

await tester.WaitElementInDomAsync(Tester.BY_CSS, "#result", 5);

await tester.WaitElementInDomAsync(tester.GetLocator("locatorName"), 5);

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


WaitElementNotDomAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitElementNotDomAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to cease to be present in the DOM

Syntax:

WaitElementNotDomAsync(string by, string locator, int sec)

WaitElementNotDomAsync(Locator locator, int sec)

Return value: no return value

Example:

await tester.WaitElementNotDomAsync(Tester.BY_XPATH, "//div[@id='element']", 5);

await tester.WaitElementNotDomAsync(Tester.BY_CSS, "#element", 5);

await tester.WaitElementNotDomAsync(tester.GetLocator("locatorName"), 5);

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


WaitNotVisibleElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitNotVisibleElementAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to stop being displayed

Syntax:

WaitNotVisibleElementAsync(string by, string locator, int sec)

WaitNotVisibleElementAsync(Locator locator, int sec)

Return value: no return value

Example:

await tester.WaitNotVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await tester.WaitNotVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

await tester.WaitNotVisibleElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


WaitNotVisibleElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitNotVisibleElementByClassAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to stop being displayed

Syntax: WaitNotVisibleElementByClassAsync(string _class, int index, int sec)

Return value: no return value

Example:

await tester.WaitNotVisibleElementByClassAsync("my-element", 0, 25);

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


WaitNotVisibleElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitNotVisibleElementByIdAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to stop being displayed

Syntax: WaitNotVisibleElementByIdAsync(string id, int sec)

Return value: no return value

Example:

await tester.WaitNotVisibleElementByIdAsync("MyElement", 25);

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


WaitNotVisibleElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitNotVisibleElementByNameAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to stop being displayed

Syntax: WaitNotVisibleElementByNameAsync(string name, int index, int sec)

Return value: no return value

Example:

await tester.WaitNotVisibleElementByNameAsync("MyElement", 0, 25);

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator


WaitNotVisibleElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitNotVisibleElementByTagAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to stop being displayed

Syntax: WaitNotVisibleElementByTagAsync(string tag, int index, int sec)

Return value: no return value

Example:

await tester.WaitNotVisibleElementByTagAsync("h1", 0, 25);

Created with the Personal Edition of HelpNDoc: Easily create EBooks


WaitVisibleElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitVisibleElementAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to be displayed

Syntax:

WaitVisibleElementAsync(string by, string locator, int sec)

WaitVisibleElementAsync(Locator locator, int sec)

Return value: no return value

Example:

await tester.WaitVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await tester.WaitVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

await tester.WaitVisibleElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


WaitVisibleElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitVisibleElementByClassAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to be displayed

Syntax: WaitVisibleElementByClassAsync(string _class, int index, int sec)

Return value: no return value

Example:

await tester.WaitVisibleElementByClassAsync("my-element", 0, 25);

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


WaitVisibleElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitVisibleElementByIdAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to be displayed

Syntax: WaitVisibleElementByIdAsync(string id, int sec)

Return value: no return value

Example:

await tester.WaitVisibleElementByIdAsync("MyElement", 25);

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


WaitVisibleElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitVisibleElementByNameAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to be displayed

Syntax: WaitVisibleElementByNameAsync(string name, int index, int sec)

Return value: no return value

Example:

await tester.WaitVisibleElementByNameAsync("MyElement", 25);

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator


WaitVisibleElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Waiting ››

WaitVisibleElementByTagAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to be displayed

Syntax: WaitVisibleElementByTagAsync(string tag, int index, int sec)

Return value: no return value

Example:

await tester.WaitVisibleElementByTagAsync("h1", 25);

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


Search

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


FindElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindElementAsync

Description: the method searches for an element in the DOM with a wait in seconds and returns a logical result true or false

Syntax:

FindElementAsync(string by, string locator, int sec)

FindElementAsync(Locator locator, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindElementAsync(Tester.BY_CSS, "div[id='result']", 2);

bool result = await tester.FindElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

bool result = await tester.FindElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


FindElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindElementByClassAsync

Description: the method searches for an element in the DOM with a wait in seconds and returns a logical result true or false

Syntax: FindElementByClassAsync(string _class, int index, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindElementByClassAsync("my-element", 0, 5);

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


FindElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindElementByIdAsync

Description: the method searches for an element in the DOM with a wait in seconds and returns a logical result true or false

Syntax: FindElementByIdAsync(string id, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindElementByIdAsync("MyElement", 5);

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


FindElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindElementByNameAsync

Description: the method searches for an element in the DOM with a wait in seconds and returns a logical result true or false

Syntax: FindElementByNameAsync(string name, int index, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindElementByNameAsync("MyElement", 0, 5);

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


FindElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindElementByTagAsync

Description: the method searches for an element in the DOM with a wait in seconds and returns a logical result true or false

Syntax: FindElementByTagAsync(string tag, int index, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindElementByTagAsync("h1", 0, 5);

Created with the Personal Edition of HelpNDoc: Easily create EPub books


FindVisibleElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindVisibleElementAsync

Description: the method searches for a visually displayed element with a wait in seconds and returns a logical result true or false

Syntax:

FindVisibleElementAsync(string by, string locator, int sec)

FindVisibleElementAsync(Locator locator, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindVisibleElementAsync(Tester.BY_CSS, "#auth #buttonLogin", 2);

bool result = await tester.FindVisibleElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']", 2);

bool result = await tester.FindVisibleElementAsync(tester.GetLocator("locatorName"), 2);

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


FindVisibleElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindVisibleElementByClassAsync

Description: the method searches for a visually displayed element with a wait in seconds and returns a logical result true or false

Syntax: FindVisibleElementByClassAsync(string _class, int index, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindVisibleElementByClassAsync("my-element", 0, 5);

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


FindVisibleElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindVisibleElementByIdAsync

Description: the method searches for a visually displayed element with a wait in seconds and returns a logical result true or false

Syntax: FindVisibleElementByIdAsync(string id, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindVisibleElementByIdAsync("MyElement", 5);

Created with the Personal Edition of HelpNDoc: Easily create EPub books


FindVisibleElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindVisibleElementByNameAsync

Description: the method searches for a visually displayed element with a wait in seconds and returns a logical result true or false

Syntax: FindVisibleElementByNameAsync(string name, int index, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindVisibleElementByNameAsync("MyElement", 0, 5);

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


FindVisibleElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Search ››

FindVisibleElementByTagAsync

Description: the method searches for a visually displayed element with a wait in seconds and returns a logical result true or false

Syntax: FindVisibleElementByTagAsync(string tag, int index, int sec)

Return value: bool (true or false)

Example:

bool result = await tester.FindVisibleElementByTagAsync("h1", 0, 5);

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


Styles

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


GetStyleFromElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

GetStyleFromElementAsync

Description: the method returns the style of the element from the specified property

Syntax:

GetStyleFromElementAsync(string by, string locator, string property)

GetStyleFromElementAsync(Locator locator, string property)

Return value: string

Example:

string style = await tester.GetStyleFromElementAsync(Tester.BY_CSS, "#auth", "padding");

string style = await tester.GetStyleFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "position");

string style = await tester.GetStyleFromElementAsync(tester.GetLocator("locatorName"), "padding");

Created with the Personal Edition of HelpNDoc: Free Web Help generator


GetStyleFromElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

GetStyleFromElementByClassAsync

Description: the method returns the style of the element from the specified property

Syntax: GetStyleFromElementByClassAsync(string _class, int index, string property)

Return value: string

Example:

string style = await tester.GetStyleFromElementByClassAsync("text-field", 0, "border");

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


GetStyleFromElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

GetStyleFromElementByIdAsync

Description: the method returns the style of the element from the specified property

Syntax: GetStyleFromElementByIdAsync(string id, string property)

Return value: string

Example:

string style = await tester.GetStyleFromElementByIdAsync("buttonLogin", "background-color");

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


GetStyleFromElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

GetStyleFromElementByNameAsync

Description: the method returns the style of the element from the specified property

Syntax: GetStyleFromElementByNameAsync(string name, int index, string property)

Return value: string

Example:

string style = await tester.GetStyleFromElementByNameAsync("pass", 0, "height");

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


GetStyleFromElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

GetStyleFromElementByTagAsync

Description: the method returns the style of the element from the specified property

Syntax: GetStyleFromElementByTagAsync(string tag, int index, string property)

Return value: string

Example:

string style = await tester.GetStyleFromElementByTagAsync("h2", 0, "width");

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


SetStyleInElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

SetStyleInElementAsync

Description: the method sets the style of the element

Syntax:

SetStyleInElementAsync(string by, string locator, string cssText)

SetStyleInElementAsync(Locator locator, string cssText)

Return value: no return value

Example:

await tester.SetStyleInElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "width: 250px; color: white; background-color: #000000;");

await tester.SetStyleInElementAsync(Tester.BY_CSS, "#auth", "width: 250px; color: white; background-color: #000000;");

await tester.SetStyleInElementAsync(tester.GetLocator("locatorName"), "width: 250px; color: white; background-color: #000000;");

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


SetStyleInElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

SetStyleInElementByClassAsync

Description: the method sets the style of the element

Syntax: SetStyleInElementByClassAsync(string _class, int index, string cssText)

Return value: no return value

Example:

await tester.SetStyleInElementByClassAsync("text-field", 0, "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: Free Web Help generator


SetStyleInElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

SetStyleInElementByIdAsync

Description: the method sets the style of the element

Syntax: SetStyleInElementByIdAsync(string id, string cssText)

Return value: no return value

Example:

await tester.SetStyleInElementByIdAsync("buttonLogin", "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


SetStyleInElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

SetStyleInElementByNameAsync

Description: the method sets the style of the element

Syntax: SetStyleInElementByNameAsync(string name, int index, string cssText)

Return value: no return value

Example:

await tester.SetStyleInElementByNameAsync("pass", 0, "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: Free EPub producer


SetStyleInElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Styles ››

SetStyleInElementByTagAsync

Description: the method sets the style of the element

Syntax: SetStyleInElementByTagAsync(string tag, int index, string cssText)

Return value: no return value

Example:

await tester.SetStyleInElementByTagAsync("h2", 0, "background-color: #123456;");

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


Page

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


GetCookiesAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

GetCookiesAsync

Description: the method returns a list of cookies (document.cookie)..

Syntax: GetCookiesAsync()

Example:

List<string> cookies = await tester.GetCookiesAsync();

if (cookies.Count() > 0)

{

foreach (string cookie in cookies)

{

tester.ConsoleMsg("COOKIE: " + cookie);

}

}

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


GetListRedirectUrlAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

GetListRedirectUrlAsync

Description: the method returns a list of redirects that occurred when the page was loaded

Syntax: GetListRedirectUrlAsync()

Return value: List

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://yandex.ru/", 5);

List<string> redirects = await tester.GetListRedirectUrlAsync();

foreach (string url in redirects)

{

tester.ConsoleMsg(url);

}

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


GetTitleAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

GetTitleAsync

Description: the method returns the page title

Syntax: GetTitleAsync()

Return value: string

Example:

string text = await tester.GetTitleAsync();

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


GetUrlAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

GetUrlAsync

Description: the method returns the current URL

Syntax: GetUrlAsync()

Return value: string

Example:

string text = await tester.GetUrlAsync();

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


GetUrlResponseAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

GetUrlResponseAsync

Description: the method returns the HTTP response of the specified URL

Syntax: GetUrlResponseAsync(string url)

Return value: int

Example:

int response = await tester.GetUrlResponseAsync("https://somovstudio.github.io/test.html");

await tester.AssertEqualsAsync(200, response);

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


GoToUrlAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

GoToUrlAsync

Description: the method loads the website at the specified URL with the specified wait in seconds

The abortLoadAfterTime flag automatically completes page loading after the timer is completed

Syntax: GoToUrlAsync(string url, int sec, bool abortLoadAfterTime = false)

Return value: no return value

Example:

await tester.GoToUrlAsync(@"https://www.google.com/", 25);

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


GoToUrlBaseAuthAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

GoToUrlBaseAuthAsync

Description: the method loads the website at the specified URL during basic authorization with the specified wait in seconds

The abortLoadAfterTime flag automatically completes page loading after the timer is completed

Syntax: GoToUrlBaseAuthAsync(string url, string login, string pass, int sec, bool abortLoadAfterTime = false)

Return value: no return value

Example:

await tester.GoToUrlBaseAuthAsync("https://dev.site.com", "login", "pass", 25);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


LoadPageAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Page ››

LoadPageAsync

Description: the method loads a web page at the specified URL with the specified wait time in seconds. The abort Load After Time flag forcibly terminates page loading after the timer ends. Errors when loading the page are ignored and do not cause the autotest to crash.

Syntax: LoadPageAsync(string url, int sec, bool abortLoadAfterTime = false)

Example:

await tester.LoadPageAsync (@"https://www.google.com/", 25, true);

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


Text

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ››

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


GetTextFromElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

GetTextFromElementAsync

Description: the method returns the text from the specified element

Syntax:

GetTextFromElementAsync(string by, string locator)

GetTextFromElementAsync(Locator locator)

Return value: string

Example:

string text = await tester.GetTextFromElementAsync(Tester.BY_CSS, "#auth > h2");

string text = await tester.GetTextFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

string text = await tester.GetTextFromElementAsync(tester.GetLocator("locatorName"));

Created with the Personal Edition of HelpNDoc: Easily create Help documents


GetTextFromElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

GetTextFromElementByClassAsync

Description: the method returns the text from the specified element

Syntax: GetTextFromElementByClassAsync(string _class, int index)

Return value: string

Example:

string text = await tester.GetTextFromElementByClassAsync("my-element", 0);

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


GetTextFromElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

GetTextFromElementByIdAsync

Description: the method returns the text from the specified element

Syntax: GetTextFromElementByIdAsync(string id)

Return value: string

Example:

string text = await tester.GetTextFromElementByIdAsync("MyElement");

Created with the Personal Edition of HelpNDoc: Free Web Help generator


GetTextFromElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

GetTextFromElementByNameAsync

Description: the method returns the text from the specified element

Syntax: GetTextFromElementByNameAsync(string name, int index)

Return value: string

Example:

string text = await tester.GetTextFromElementByNameAsync("MyElement", 0);

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


GetTextFromElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

GetTextFromElementByTagAsync

Description: the method returns the text from the specified element

Syntax: GetTextFromElementByTagAsync(string tag, int index)

Return value: string

Example:

string text = await tester.GetTextFromElementByTagAsync("h1", 0);

Created with the Personal Edition of HelpNDoc: Easy CHM and documentation editor


SetTextInElementAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

SetTextInElementAsync

Description: the method inserts text into the specified element

Syntax:

SetTextInElementAsync(string by, string locator, string text)

SetTextInElementAsync(Locator locator, string text)

Return value: no return value

Example:

await tester.SetTextInElementAsync(Tester.BY_CSS, "#auth > h2", "text");

await tester.SetTextInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "text");

await tester.SetTextInElementAsync(tester.GetLocator("locatorName"), "text");

Created with the Personal Edition of HelpNDoc: Free help authoring tool


SetTextInElementByClassAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

SetTextInElementByClassAsync

Description: the method inserts text into the specified element

Syntax: SetTextInElementByClassAsync(string _class, int index, string text)

Return value: no return value

Example:

await tester.SetTextInElementByClassAsync("my-element", 0, "текст");

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


SetTextInElementByIdAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

SetTextInElementByIdAsync

Description: the method inserts text into the specified element

Syntax: SetTextInElementByIdAsync(string id, string text)

Return value: no return value

Example:

await tester.SetTextInElementByIdAsync("MyElement", "текст");

Created with the Personal Edition of HelpNDoc: Free EPub producer


SetTextInElementByNameAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

SetTextInElementByNameAsync

Description: the method inserts text into the specified element

Syntax: SetTextInElementByNameAsync(string name, int index, string text)

Return value: no return value

Example:

await tester.SetTextInElementByNameAsync("MyElement", 0, "текст");

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


SetTextInElementByTagAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for performing actions ›› Text ››

SetTextInElementByTagAsync

Description: the method inserts text into the specified element

Syntax: SetTextInElementByTagAsync(string tag, int index, string text)

Return value: no return value

Example:

await tester.SetTextInElementByTagAsync("h1", 0, "текст");

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


Methods for executing JavaScript

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


ExecuteJavaScriptAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for executing JavaScript ››

ExecuteJavaScriptAsync

Description: the method executes JavaScript code and returns a string with the result of execution

Syntax: ExecuteJavaScriptAsync(string script)

Return value: string

Example:

string script = "(function(){ var element = document.getElementById('MyElement'); return element.innerText; }());";

string result = await tester.ExecuteJavaScriptAsync(script);

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


Methods for executing Rest requests

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


RestGetAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for executing Rest requests ››

RestGetAsync

Description: the method executes a Get Rest request and gets the result in json format

Syntax: RestGetAsync(string url, TimeSpan timeout, string charset = "UTF-8")

Return value: string

Example:

string result = await tester.RestGetAsync("https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

tester.ConsoleMsg(result);

This method uses a standard approach:

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

Uri uri = new Uri(url);

HttpClient client = new HttpClient();

client.Timeout = TimeSpan.FromDays(1);

client.BaseAddress = uri;

client.DefaultRequestHeaders.Clear();

client.DefaultRequestHeaders.Accept.Clear();

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

client.DefaultRequestHeaders.Add("charset", "UTF-8");

client.DefaultRequestHeaders.Add("User-Agent", userAgent);

HttpResponseMessage response = await client.GetAsync(url);

if (response.IsSuccessStatusCode)

{

return await response.Content.ReadAsStringAsync();

}

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


RestGetBasicAuthAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for executing Rest requests ››

RestGetBasicAuthAsync

Description: the method executes a Get Rest request and gets the result in json format

Syntax: RestGetBasicAuthAsync(string login, string pass, string url, string charset = "UTF-8")

Return value: string

Example:

string result = await tester.RestGetBasicAuthAsync("admin", "0000", " https://jsonplaceholder.typicode.com/posts/1/ ", TimeSpan timeout, "UTF-8");

tester.ConsoleMsg(result);

This method uses a standard approach:

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

byte[] authToken = Encoding.ASCII.GetBytes($"{login}:{pass}");

Uri uri = new Uri(url);

HttpClient client = new HttpClient();

client.Timeout = TimeSpan.FromDays(1);

client.BaseAddress = uri;

client.DefaultRequestHeaders.Clear();

client.DefaultRequestHeaders.Accept.Clear();

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

client.DefaultRequestHeaders.Add("charset", "UTF-8");

client.DefaultRequestHeaders.Add("User-Agent", userAgent);

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(authToken));

HttpResponseMessage response = await client.GetAsync(url);

if (response.IsSuccessStatusCode)

{

return await response.Content.ReadAsStringAsync();

}

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


RestGetStatusCodeAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for executing Rest requests ››

RestGetStatusCodeAsync

Description: the method executes a Get Rest request and as a result receives a status code

Syntax: RestGetStatusCodeAsync(string url)

Return value: int

Example:

int statusCode = await tester.RestGetAsync("https://jsonplaceholder.typicode.com");

tester.ConsoleMsg(statusCode.ToString());

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


RestPostAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for executing Rest requests ››

RestPostAsync

Description: the method executes a Post Rest request with sending data in json format and receives the result in the same way in json format

Syntax: RestPostAsync(string url, string json, TimeSpan timeout, string charset = "UTF-8")

Return value: string

Example:

string result = await tester.RestPostAsync("https://jsonplaceholder.typicode.com/posts/1/", "{}", TimeSpan.FromDays(1), "UTF-8");

tester.ConsoleMsg(result);

This method uses a standard approach:

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

Uri uri = new Uri(url);

HttpClient client = new HttpClient();

client.Timeout = TimeSpan.FromDays(1);

client.DefaultRequestHeaders.Add("charset", "UTF-8");

client.DefaultRequestHeaders.Add("User-Agent", userAgent);

HttpContent content = new StringContent("{}", Encoding.UTF8, "application/json");

HttpResponseMessage response = await client.PostAsync(uri, content);

if (response.IsSuccessStatusCode)

{

return await response.Content.ReadAsStringAsync();

}

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


Methods for measuring the time spent

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


TimerStart

English version ›› HatFramework ›› Class: Tester ›› Methods for measuring the time spent ››

TimerStart

Description: the method starts the countdown and returns the value DateTime

Syntax: TimerStart()

Return value: DateTime

Example:

Tester tester = new Tester(browserForm);

DateTime start = await tester.TimerStart();

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

TimeSpan result = await tester.TimerStop(start);

tester.ConsoleMsg("Time " + result.TotalSeconds);

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files


TimerStop

English version ›› HatFramework ›› Class: Tester ›› Methods for measuring the time spent ››

TimerStop

Description: the method completes the countdown and returns the TimeSpan value with the result (for example, 7,132157, which means 7 seconds and 132157 milliseconds)

Syntax: TimerStop(DateTime start)

Return value: TimeSpan

Example:

Tester tester = new Tester(browserForm);

DateTime start = await tester.TimerStart();

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

TimeSpan result = await tester.TimerStop(start);

tester.ConsoleMsg("Time " + result.TotalSeconds);

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


Methods for sending email and message

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


SendMsgToMailAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for sending email and message ››

SendMsgToMailAsync

Description: the method sends an email

Syntax: SendMsgToMailAsync(string subject, string body, string filename = "")

Return value: no return value

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

if(tester.GetTestResult() == Tester.PASSED)

{

await tester.SendMsgToMailAsync("Text message", "The test was completed successfully");

}

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


SendMsgToTelegramAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for sending email and message ››

SendMsgToTelegramAsync

Description: the method sends a message to Telegram. To do this, you need to create a bot, add it to the chat and transfer the bot token (botToken), chat ID (chatId), message text (text) and, if necessary, specify the encoding (charset) to the function

Syntax: SendMsgToTelegramAsync(string botToken, string chatId, string text, string charset = "UTF-8", int timeHourFrom = 0, int timeHourBefore = 0)

Return value: no return value

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

...

await tester.TestEndAsync();

if(tester.GetTestResult() == Tester.FAILED)

{

// The message will be sent only if the current sending time falls within the range from 9:00 to 21:00

// if you specify 0, 0, in this case the message will be sent without taking into account the current time

await tester.SendMsgToTelegramAsync("0000000001:ABCDabcd123ABCDabcd123ABCDabcd123ZX", "-123456789", "Text message", "UTF-8", 9, 21);

}

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


Methods for checking the result

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


AssertEqualsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertEqualsAsync

Description: the method performs a check between the actual and expected values, in case of a mismatch, the check will be considered a failure

Syntax: AssertEqualsAsync(dynamic expected, dynamic actual)

Return value: bool (true or false)

Example:

string expected = "xyz";

string actual = "xyz";

bool result = await tester.AssertEqualsAsync(expected, actual);

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


AssertNotEqualsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertNotEqualsAsync

Description: the method performs a check between the actual and expected values, in case of a match, the check will be considered a failure

Syntax: AssertNotEqualsAsync(dynamic expected, dynamic actual)

Return value: bool (true or false)

Example:

string expected = "abc";

string actual = "xyz";

bool result = await tester.AssertNotEqualsAsync(expected, actual);

Created with the Personal Edition of HelpNDoc: Free help authoring environment


AssertTrueAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertTrueAsync

Description: the method checks the value of true or false, and if the value is false, the check will be considered a failure

Syntax: AssertTrueAsync(bool condition)

Return value: bool (true or false)

Example:

bool flag = true;

bool result = await tester.AssertTrueAsync(flag);

Created with the Personal Edition of HelpNDoc: Free help authoring environment


AssertFalseAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertFalseAsync

Description: the method checks the value of true or false, and if the value is true, the check will be considered a failure

Syntax: AssertFalseAsync(bool condition)

Return value: bool (true or false)

Example:

bool flag = false;

bool result = await tester.AssertFalseAsync(flag);

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


AssertNotNullAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertNotNullAsync

Description: the method checks a value that should not be null, and if the value is null, the check will be considered a failure

Syntax: AssertNotNullAsync(dynamic obj)

Return value: bool (true or false)

Example:

string text = "текст";

await tester.AssertNotNullAsync(text);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


AssertNullAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertNullAsync

Description: the method checks the value that should be null, and if the value is not null, the check will be considered a failure

Syntax: AssertNullAsync(dynamic obj)

Return value: bool (true or false)

Example:

string text = null;

await tester.AssertNullAsync(text);

Created with the Personal Edition of HelpNDoc: Free help authoring environment


AssertNoErrorsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertNoErrorsAsync

Description: the method checks for the absence of errors on the page and if errors are present, the check will be considered a failure

Syntax: AssertNoErrorsAsync(bool showListErrors = false, string[] listIgnored = null)

Return value: bool (true or false)

Example:

Tester tester = new Tester(browserForm);

...

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test_error.html", 25);

await tester.AssertNoErrorsAsync(true, new string[1] { "stats.g.doubleclick.net" });

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


AssertNetworkEventsAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for checking the result ››

AssertNetworkEventsAsync

Description: the method checks the presence (presence = true) or absence (presence = false) specified events (events), this method is good to use when checking the events Google Analytics and Yandex Metrika

Syntax: AssertNetworkEventsAsync(bool presence, string[] events)

Return value: bool (true or false)

Example:

await tester.AssertNetworkEventsAsync(true, new string[] {

"ec=zayavka", "ea=b2c_new_main", "el=some_shpd_nm", "zayavka_shpd"

});

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease


Methods for working with files

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


FileDownloadAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with files ››

FileDownloadAsync

Description: the method downloads the file at the specified URL

Syntax: FileDownloadAsync(string fileURL, string filename, int waitingSec = 60)

Return value: no return value

Example:

await tester.FileDownloadAsync("https://somovstudio.github.io/img/logo.png", "C:\\download\\logo.png", 60);

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


FileGetHashMD5Async

English version ›› HatFramework ›› Class: Tester ›› Methods for working with files ››

FileGetHashMD5Async

Description: the method determines the MD5 Hash code of the specified file

Syntax: FileGetHashMD5Async(string filename)

Return value: string

Example:

string hash = await tester.FileGetHashMD5Async("C:\\download\\logo.png");

Created with the Personal Edition of HelpNDoc: Easily create Help documents


FileReadAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with files ››

FileReadAsync

Description: the method reads the specified file

Syntax: FileReadAsync(string encoding, string filename)

Return value: string

Example:

string text = await tester.FileReadAsync(Tester.UTF8, "C:\\Hat\\file.txt");

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


FileWriteAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for working with files ››

FileWriteAsync

Description: the method writes text to the specified file

Syntax: FileWriteAsync(string content, string encoding, string filename)

Return value: no return value

Example:

string text = "my text";

await tester.FileWriteAsync(text, Tester.UTF8, "C:\\Hat\\file.txt");

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


Methods for different tasks

English version ›› HatFramework ›› Class: Tester ››

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


CreateHashMD5FromTextAsync

English version ›› HatFramework ›› Class: Tester ›› Methods for different tasks ››

CreateHashMD5FromTextAsync

Description: the method creates a HashDM5 code from the specified text

Syntax: CreateHashMD5FromTextAsync(string text)

Return value: string

Example:

string text = "Hello World";

string hash = await tester.CreateHashMD5FromTextAsync(text);

tester.ConsoleMsg(hash);

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


Class: HTMLElement

English version ›› HatFramework ››

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


Constructor

English version ›› HatFramework ›› Class: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Easily create Help documents


HTMLElement

English version ›› HatFramework ›› Class: HTMLElement ›› Constructor ››

HTMLElement

Description: auxiliary class, an html element object

Syntax: HTMLElement(Tester tester, string by, string locator)

An example of getting an object:

HTMLElement element = await tester. GetElementAsync (Tester.BY_CSS, "#auth #buttonLogin");

await element.ClickAsync();

HTMLElement element = await tester. GetElementAsync (Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

await element.ClickAsync();

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


Constants

English version ›› HatFramework ›› Class: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator


BY_INDEX

English version ›› HatFramework ›› Class: HTMLElement ›› Constants ››

BY_INDEX

Description: the constant indicates the type of value being processed

Syntax: BY_INDEX = "BY_INDEX"

Example:

HTMLElement.BY_INDEX

Created with the Personal Edition of HelpNDoc: Easily create EBooks


BY_TEXT

English version ›› HatFramework ›› Class: HTMLElement ›› Constants ››

BY_TEXT

Description: the constant indicates the type of value being processed

Syntax: BY_TEXT = "BY_TEXT"

Example:

HTMLElement.BY_TEXT

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


BY_VALUE

English version ›› HatFramework ›› Class: HTMLElement ›› Constants ››

BY_VALUE

Description: the constant indicates the type of value being processed

Syntax: BY_VALUE = "BY_VALUE"

Example:

HTMLElement.BY_VALUE

Created with the Personal Edition of HelpNDoc: Free Kindle producer


Variables

English version ›› HatFramework ›› Class: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


Id

English version ›› HatFramework ›› Class: HTMLElement ›› Variables ››

Id

Description: the variable returns or receives the ID data

Syntax: string Id { get; set; }

Example:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("ID: " + element.Id);

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


Name

English version ›› HatFramework ›› Class: HTMLElement ›› Variables ››

Name

Description: the variable returns or receives the Name data

Syntax: string Name { get; set; }

Example:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("NAME: " + element.Name);

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


Class

English version ›› HatFramework ›› Class: HTMLElement ›› Variables ››

Class

Description: the variable returns or receives Class data

Syntax: string Class { get; set; }

Example:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("CLASS: " + element.Class);

Created with the Personal Edition of HelpNDoc: Free help authoring tool


Type

English version ›› HatFramework ›› Class: HTMLElement ›› Variables ››

Type

Description: the variable returns or receives Type data

Syntax: string Type { get; set; }

Example:

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MyInput']");

tester.ConsoleMsg("TYPE: " + element.Type);

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


Methods

English version ›› HatFramework ›› Class: HTMLElement ››

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


ClickAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

ClickAsync

Description: the method performs a click on the element

Syntax: ClickAsync();

Return value: no return value

Example:

await element.ClickAsync();

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


ClickMouseAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

ClickMouseAsync

Description: the method performs clicking on an element by emulating a mouse

Syntax: ClickMouseAsync()

Return value: no return value

Example:

await element.ClickMouseAsync();

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


GetAttributeAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

GetAttributeAsync

Description: the method returns the value of the specified attribute from the element

Syntax: GetAttributeAsync(string name);

Return value: string

Example:

string attrClass = await element.GetAttributeAsync("class");

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


GetHtmlAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

GetHtmlAsync

Description: the method returns the html representation of the element in a string expression

Syntax: GetHtmlAsync();

Return value: string

Example:

string html = await element.GetHtmlAsync();

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


GetLocatorAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

GetLocatorAsync

Description: the method returns the element's locator

Syntax: GetLocatorAsync()

Return value: string

Example:

string locator = await element.GetLocatorAsync();

tester.ConsoleMsg(locator);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


GetOptionAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

GetOptionAsync

Description: the method returns the index, text, or value of the selected option of the selected option from the select element

Syntax: GetOptionAsync(string by)

Return value: string

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MySelect']");

await element.SelectOptionAsync(HTMLElement.BY_INDEX, "2");

await element.SelectOptionAsync(HTMLElement.BY_VALUE, "Mobile");

await element.SelectOptionAsync(HTMLElement.BY_TEXT, "Other");

string index = await element.GetOptionAsync(HTMLElement.BY_INDEX);

string text = await element.GetOptionAsync(HTMLElement.BY_TEXT);

string value = await element.GetOptionAsync(HTMLElement.BY_VALUE);

...

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


GetStyleAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

GetStyleAsync

Description: the method returns the style of the element from the specified property

Syntax: GetStyleAsync(string property)

Return value: string

Example:

string style = await element.GetStyleAsync("width");

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


GetTextAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

GetTextAsync

Description: the method returns the text from the element

Syntax: GetTextAsync();

Return value: string

Example:

string text = await element.GetTextAsync();

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator


GetValueAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

GetValueAsync

Description: the method returns the value from the element

Syntax: GetValueAsync();

Return value: string

Example:

string value = await element.GetValueAsync();

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


IsClickableAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

IsClickableAsync

Description: the method determines the clickability of the element and returns true or false

Syntax: IsClickableAsync()

Return value: bool (true or false)

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//button");

bool clickable = await element.IsClickableAsync();

await tester.AssertTrueAsync(clickable);

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Free EPub producer


MakeVisibleAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

MakeVisibleAsync

Description: the method makes the element visible by adding styles

Syntax: MakeVisibleAsync(string by, string locator, string visibility = "visible", int opacity = 1, int index = 1000)

Example:

await tester.MakeVisibleAsync(Tester.BY_XPATH, "//*[@id='button']");

await tester.MakeVisibleAsync(Tester.BY_BY_CSS, "//*[@id='button']");

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


ScrollToAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

ScrollToAsync

Description: the method scrolls to the element (the behavior Smooth parameter determines the smoothness of scrolling)

Syntax: ScrollToAsync(bool behaviorSmooth = false);

Return value: no return value

Example:

await element.ScrollToAsync();

await element.ScrollToAsync(true);

await element.ScrollToAsync(false);

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


SelectOptionAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

SelectOptionAsync

Description: the method selects an option from the select element by the specified index, text, or value.

Syntax: SelectOptionAsync(string by, string value)

Return value: no return value

Example:

Tester tester = new Tester(browserForm);

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5);

HTMLElement element = await tester.GetElementAsync(Tester.BY_XPATH, "//*[@id='MySelect']");

await element.SelectOptionAsync(HTMLElement.BY_INDEX, "2");

await element.SelectOptionAsync(HTMLElement.BY_VALUE, "Mobile");

await element.SelectOptionAsync(HTMLElement.BY_TEXT, "Other");

string index = await element.GetOptionAsync(HTMLElement.BY_INDEX);

string text = await element.GetOptionAsync(HTMLElement.BY_TEXT);

string value = await element.GetOptionAsync(HTMLElement.BY_VALUE);

...

await tester.TestEndAsync();

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator


SetAttributeAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

SetAttributeAsync

Description: the method inserts the value of the specified attribute into the element

Syntax: SetAttributeAsync(string name, string value);

Return value: no return value

Example:

await element.SetAttributeAsync("class", "my-class");

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


SetHtmlAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

SetHtmlAsync

Description: the method inserts html into the element

Syntax: SetHtmlAsync(string html);

Return value: no return value

Example:

await element.SetHtmlAsync("<div>Это тест</div>");

Created with the Personal Edition of HelpNDoc: Easily create EBooks


SetStyleAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

SetStyleAsync

Description: the method sets the style of the element

Syntax: SetStyleAsync(string cssText)

Return value: no return value

Example:

await element.SetStyleAsync("width: 250px; background-color: #000000;");

Created with the Personal Edition of HelpNDoc: Free EPub producer


SetTextAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

SetTextAsync

Description: the method inserts text into the element

Syntax: SetTextAsync(string text);

Return value: no return value

Example:

await element.SetTextAsync("this is a test text");

Created with the Personal Edition of HelpNDoc: Easily create Help documents


SetValueAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

SetValueAsync

Description: the method inserts a value into an element

Syntax: SetValueAsync(string value);

Return value: no return value

Example:

await element.SetValueAsync("this is a text value");

Created with the Personal Edition of HelpNDoc: Free Kindle producer


WaitNotVisibleAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

WaitNotVisible

Description: the method waits for the specified number of seconds until the element is no longer displayed

Syntax: WaitNotVisibleAsync(int sec)

Return value: no return value

Example:

await element.WaitNotVisibleAsync(2);

Created with the Personal Edition of HelpNDoc: Free Web Help generator


WaitVisibleAsync

English version ›› HatFramework ›› Class: HTMLElement ›› Methods ››

WaitVisibleAsync

Description: the method waits for the element to be displayed for the specified number of seconds

Syntax: WaitVisibleAsync(int sec)

Return value: no return value

Example:

await element.WaitVisibleAsync(2);

Created with the Personal Edition of HelpNDoc: Free help authoring environment


Class: FRAMEElement

English version ›› HatFramework ››

Created with the Personal Edition of HelpNDoc: Free EPub producer


Constructor

English version ›› HatFramework ›› Class: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


FRAMEElement

English version ›› HatFramework ›› Class: FRAMEElement ›› Constructor ››

FRAMEElement

Description: an auxiliary class for working with the frame of the specified index

Syntax: FRAMEElement(Tester tester, int index)

An example of getting an object:

FRAMEElement frame = await tester. GetFrameAsync (0);

tester.ConsoleMsg("Index: " + frame.Index);

tester.ConsoleMsg("Name: " + frame.Name);

Created with the Personal Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites


Constants

English version ›› HatFramework ›› Class: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


BY_INDEX

English version ›› HatFramework ›› Class: FRAMEElement ›› Constants ››

BY_INDEX

Description: the constant indicates the type of value being processed

Syntax: BY_INDEX = "BY_INDEX"

Example:

FRAMEElement.BY_INDEX

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator


BY_TEXT

English version ›› HatFramework ›› Class: FRAMEElement ›› Constants ››

BY_TEXT

Description: the constant indicates the type of value being processed

Syntax: BY_TEXT = "BY_TEXT"

Example:

FRAMEElement.BY_TEXT

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


BY_VALUE

English version ›› HatFramework ›› Class: FRAMEElement ›› Constants ››

BY_VALUE

Description: the constant indicates the type of value being processed

Syntax: BY_VALUE = "BY_VALUE"

Example:

FRAMEElement.BY_VALUE

Created with the Personal Edition of HelpNDoc: Free help authoring tool


Variables

English version ›› HatFramework ›› Class: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: Free PDF documentation generator


Name

English version ›› HatFramework ›› Class: FRAMEElement ›› Variables ››

Name

Description: the variable returns or gets the name of the frame

Syntax: string Name { get; set; }

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Name: " + frame.Name);

Created with the Personal Edition of HelpNDoc: Free Kindle producer


Index

English version ›› HatFramework ›› Class: FRAMEElement ›› Variables ››

Index

Description: the variable returns or receives the index of the frame

Syntax: int Index { get; set; }

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Index: " + frame.Index);

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


Index

English version ›› HatFramework ›› Class: FRAMEElement ›› Variables ››

Index

Description: the variable returns or receives the index of the frame

Syntax: int Index { get; set; }

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

tester.ConsoleMsg("Index: " + frame.Index);

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


Methods

English version ›› HatFramework ›› Class: FRAMEElement ››

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator


ClickElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

ClickElementAsync

Description: the method performs a click on the element

Syntax: ClickElementAsync(string by, string locator)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.ClickElementAsync(Tester.BY_CSS, "#auth #buttonLogin");

await frame.ClickElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']");

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


FindElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

FindElementAsync

Description: the method searches for an element in the DOM with a wait in seconds and returns a logical result true or false

Syntax: FindElementAsync(string by, string locator, int sec)

Return value: bool (true or false)

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool result = await frame.FindElementAsync(Tester.BY_CSS, "div[id='result']", 2);

bool result = await frame.FindElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease


FindVisibleElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

FindVisibleElementAsync

Description: the method searches for a visually displayed element with a wait in seconds and returns a logical result true or false

Syntax: FindVisibleElementAsync(string by, string locator, int sec)

Return value: bool (true or false)

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool result = await frame.FindVisibleElementAsync(Tester.BY_CSS, "#auth #buttonLogin", 2);

bool result = await frame.FindVisibleElementAsync(Tester.BY_XPATH, "//div[@id='auth']//input[@id='buttonLogin']", 2);

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


GetAttributeFromElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetAttributeFromElementAsync

Description: the method returns a lowercase value from the specified attribute in the selected element

Syntax: GetAttributeFromElementAsync(string by, string locator, string attribute)

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string value = await frame.GetAttributeFromElementAsync(Tester.BY_CSS, "input", "name");

string value = await frame.GetAttributeFromElementAsync(Tester.BY_XPATH, "//input", "name");

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


GetAttributeFromElementsAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetAttributeFromElementsAsync

Description: the method returns a list of values of the specified attribute from a set of elements

Syntax: GetAttributeFromElementsAsync(string by, string locator, string attribute)

Return value: List

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

List<string> values = await frame.GetAttributeFromElementsAsync(Tester.BY_CSS, "input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

List<string> values = await frame.GetAttributeFromElementsAsync(Tester.BY_XPATH, "//input", "name");

if(values != null)

{

foreach (string attr in values)

tester.ConsoleMsg(attr);

}

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation


GetCountElementsAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetCountElementsAsync

Description: the method returns the number of found items

Syntax: GetCountElementsAsync(string by, string locator)

Return value: int

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

int count = await frame.GetCountElementsAsync(Tester.BY_CSS, "input");

int count = await frame.GetCountElementsAsync(Tester.BY_XPATH, "//input");

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


GetHtmlFromElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetHtmlFromElementAsync

Description: the method returns the html representation of the object in a string expression

Syntax: GetHtmlFromElementAsync(string by, string locator)

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string html = await frame.GetHtmlFromElementAsync(Tester.BY_CSS, "#auth > h2");

string html = await frame.GetHtmlFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

Created with the Personal Edition of HelpNDoc: Easily create EPub books


GetOptionAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetOptionAsync

Description: the method returns the index, text, or value of the selected option of the selected option from the select element

Syntax: GetOptionAsync(string by, string locator, string type)

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string index = await frame.GetOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_INDEX);

string value = await frame.GetOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_VALUE);

string text = await frame.GetOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_TEXT);

string index = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX);

string value = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE);

string text = await frame.GetOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT);

Created with the Personal Edition of HelpNDoc: Easily create Qt Help files


GetStyleFromElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetStyleFromElementAsync

Description: the method returns the style of the element from the specified property

Syntax: GetStyleFromElementAsync(string by, string locator, string property)

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string style = await frame.GetStyleFromElementAsync(Tester.BY_CSS, "#auth > h2", "width");

string style = await frame.GetStyleFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "width");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


GetTextFromElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetTextFromElementAsync

Description: the method returns the text from the specified element

Syntax: GetTextFromElementAsync(string by, string locator)

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string text = await frame.GetTextFromElementAsync(Tester.BY_CSS, "#auth > h2");

string text = await frame.GetTextFromElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


GetTitleAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetTitleAsync

Description: the method returns the page title

Syntax: GetTitleAsync()

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string title = await frame.GetTitleAsync();

Created with the Personal Edition of HelpNDoc: Produce electronic books easily


GetUrlAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetUrlAsync

Description: the method returns the current URL

Syntax: GetUrlAsync()

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string url = await frame.GetUrlAsync();

Created with the Personal Edition of HelpNDoc: Free help authoring environment


GetValueFromElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

GetValueFromElementAsync

Description: the method returns the value from the specified element

Syntax: GetValueFromElementAsync(string by, string locator)

Return value: string

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

string value = await frame.GetValueFromElementAsync(Tester.BY_CSS, "input[id='login']");

string value = await frame.GetValueFromElementAsync(Tester.BY_XPATH, "//input[@id='login']");

Created with the Personal Edition of HelpNDoc: Full-featured EPub generator


IsClickableElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

IsClickableElementAsync

Description: the method determines the clickability of the element and returns true or false

Syntax: IsClickableElementAsync(string by, string locator)

Return value: bool (true or false)

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool clickable = await frame.IsClickableElementAsync(Tester.BY_CSS, "#buttonLogin");

await tester.AssertTrueAsync(clickable);

bool clickable = await frame.IsClickableElementAsync(Tester.BY_XPATH, "//*[@id='buttonLogin']");

await frame.AssertTrueAsync(clickable);

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


IsVisibleElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

IsVisibleElementAsync

Description: the method determines the visibility of the element and returns the value true or false

Syntax: IsVisibleElementAsync(string by, string locator)

Return value: bool (true or false)

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

bool result = await frame.IsVisibleElementAsync(Tester.BY_XPATH, "//*[@id='login']");

bool result = await frame.IsVisibleElementAsync(Tester.BY_CSS, "#login");

await frame.AssertTrueAsync(result);

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator


MakeVisibleAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

MakeVisibleAsync

Description: the method makes the element visible by adding styles

Syntax: MakeVisibleAsync(string by, string locator, string visibility = "visible", int opacity = 1, int index = 1000)

Example:

await tester.MakeVisibleAsync(Tester.BY_XPATH, "//*[@id='button']");

await tester.MakeVisibleAsync(Tester.BY_BY_CSS, "//*[@id='button']");

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


ScrollToElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

ScrollToElementAsync

Description: the method scrolls to the specified element (the behavior Smooth parameter determines the smoothness of scrolling)

Syntax: ScrollToElementAsync(string by, string locator, bool behaviorSmooth = false)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.ScrollToElementAsync(Tester.BY_CSS, "body > footer", true);

await frame.ScrollToElementAsync(Tester.BY_XPATH, "/html/body/footer", true);

Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?


SelectOptionAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

SelectOptionAsync

Description: the method selects an option from the select element by the specified index, text, or value

Syntax: SelectOptionAsync(string by, string locator, string type, string value)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SelectOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_INDEX, "2");

await frame.SelectOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_VALUE, "Mobile");

await frame.SelectOptionAsync(Tester.BY_CSS, "#MySelect", FRAMEElement.BY_TEXT, "Other");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_INDEX, "2");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_VALUE, "Mobile");

await frame.SelectOptionAsync(Tester.BY_XPATH, "//*[@id='MySelect']", FRAMEElement.BY_TEXT, "Other");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


SetAttributeInElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

SetAttributeInElementAsync

Description: the method inserts an attribute with a value into the specified element

Syntax: SetAttributeInElementAsync(string by, string locator, string attribute, string value)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetAttributeInElementAsync(Tester.BY_CSS, "#auth > h2", "name", "test");

await frame.SetAttributeInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "name", "test");

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


SetAttributeInElementsAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

SetAttributeInElementsAsync

Description: the method inserts an attribute with the specified value into a set of elements and returns a list as a result

Syntax: SetAttributeInElementsAsync(string by, string locator, string attribute, string value)

Return value: List

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

List<string> values = await frame.SetAttributeInElementsAsync(Tester.BY_CSS, "input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

List<string> values = await frame.SetAttributeInElementsAsync(Tester.BY_XPATH, "//input", "class", "test-class");

foreach (string value in values)

{

tester.ConsoleMsg(value);

}

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


SetHtmlInElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

SetHtmlInElementAsync

Description: the method inserts the html representation of the object into the specified element

Syntax: SetHtmlInElementAsync(string by, string locator, string html)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetHtmlInElementAsync(Tester.BY_CSS, "#auth > h2", "<div>Тестовый блок</div>");

await frame.SetHtmlInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "<div>Тестовый блок</div>");

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


SetStyleInElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

SetStyleInElementAsync

Description:the method sets the style of the element

Syntax: SetStyleInElementAsync(string by, string locator, string cssText)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetStyleInElementAsync(Tester.BY_XPATH, "//div[@id='auth']", "background-color: #000000;");

await frame.SetStyleInElementAsync(Tester.BY_CSS, "#auth", "background-color: #000000;");

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


SetTextInElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

SetTextInElementAsync

Description: the method inserts text into the specified element

Syntax: SetTextInElementAsync(string by, string locator, string text)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetTextInElementAsync(Tester.BY_CSS, "#auth > h2", "Тестовый заголовок");

await frame.SetTextInElementAsync(Tester.BY_XPATH, "//div[@id='auth']//h2", "Тестовый заголовок");

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


SetValueInElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

SetValueInElementAsync

Description: the method inserts a value into the specified element

Syntax: SetValueInElementAsync(string by, string locator, string value)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.SetValueInElementAsync(Tester.BY_CSS, "input[id='login']", "admin");

await frame.SetValueInElementAsync(Tester.BY_CSS, "input[id='pass']", "0000");

await frame.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='login']", "admin");

await frame.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='pass']", "0000");

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


WaitNotVisibleElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

WaitNotVisibleElementAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to stop being displayed

Syntax: WaitNotVisibleElementAsync(string by, string locator, int sec)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.WaitNotVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await frame.WaitNotVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


WaitVisibleElementAsync

English version ›› HatFramework ›› Class: FRAMEElement ›› Methods ››

WaitVisibleElementAsync

Description: the method temporarily stops the test execution for the specified number of seconds and waits for the requested element to be displayed

Syntax: WaitVisibleElementAsync(string by, string locator, int sec)

Return value: no return value

Example:

FRAMEElement frame = await tester.GetFrameAsync(0);

await frame.WaitVisibleElementAsync(Tester.BY_CSS, "div[id='result']", 2);

await frame.WaitVisibleElementAsync(Tester.BY_XPATH, "//div[@id='result']", 2);

Created with the Personal Edition of HelpNDoc: Easily create EPub books


Plugins

English version ››

Created with the Personal Edition of HelpNDoc: Full-featured Help generator


HatPluginMySql

English version ›› Plugins ››

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents


Installing the plugin

English version ›› Plugins ›› HatPluginMySql ››

Installing the plugin HatPluginMySql

1. Download and install the browser Hat

link: https://github.com/SomovStudio/Hat/releases

2. Download the plugin HatPluginMySql

link: https://github.com/SomovStudio/HatPluginMySql/releases

3. Unpack the archive HatPluginMySql-1.0.0.zip

4. Copy the contents of the plugin folder to the root of the Hat browser folder

When copying, you may be asked about replacing existing files.

In this case, it is recommended to select "Skip these files".

As a result, the following files should be in the root of the folder

This completes the installation of the plugin!

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


Connecting the plugin to the project

English version ›› Plugins ›› HatPluginMySql ››

Connecting the HatPluginMySql plugin to the autotest project

1. Launch the browser Hat

2. Create a new project or open an existing project

3. Go to the Libraries tab and enter the name of one file at the end of the list HatPluginMySql.dll

4. Click the "Save" button.

This completes the plug-in connection to the project

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


An example of an autotest

English version ›› Plugins ›› HatPluginMySql ››

An example of an autotest

After the plugin has been installed and connected to the project, let's consider a simple autotest.

We have created a simple database in MySQL named test_db

There is one test_table table in this database with the fields: id, name, age, post

Now let's describe a simple autotest that will add, modify and delete data in the database while checking the correctness of the results.

Файл: ExampleTest3.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Reflection;
using Newtonsoft.Json;
using HatFramework;
using HatPluginMySql;

namespace Hat
{
public class ExampleTest3
{
Tester tester;

public async void Main(Form browserWindow)
{
tester = new Tester(browserWindow);

await setUp();
await test();
await tearDown();
}

public async Task setUp()
{
tester.Description("Test #3 checking the database");
await tester.BrowserFullScreenAsync();
}

public async Task test()
{
DataTable dataTable = null;
List<List<string>> entries = new List<List<string>>();
TesterMySql testerMySql = new TesterMySql(tester);

await tester.TestBeginAsync();

await testerMySql.ConnectionOpenAsync("server=127.0.0.1;uid=root;pwd=;database=test_db");

int count = await testerMySql.GetCountEntriesAsync("SELECT * FROM test_table");
if (count > 0)
{
entries = await testerMySql.GetEntriesAsync("SELECT * FROM test_table");
dataTable = await testerMySql.GetDataTableAsync("SELECT * FROM test_table");
foreach (DataRow row in dataTable.Rows)
foreach (DataColumn col in dataTable.Columns)
tester.ConsoleMsg(row[col].ToString());
}

await testerMySql.SetEntryAsync("INSERT INTO test_table VALUES(NULL, 'I am Tester', 100, 'My post QA')");
bool result = await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");
await testerMySql.AssertHaveInTableAsync("test_table", "name", "'I am Tester'");

entries = await testerMySql.GetEntriesFromTableAsync("test_table");
if (entries != null){
foreach(List<string> entry in entries)
foreach(string value in entry)
tester.ConsoleMsg(value);
}

await testerMySql.EditEntryAsync("UPDATE test_table SET age = 111 WHERE name = 'I am Tester'");
result = await testerMySql.FindEntryAsync("test_table", "age", "111");
await testerMySql.AssertHaveInTableAsync("test_table", "age", "111");

await testerMySql.RemoveEntryAsync("DELETE FROM test_table WHERE name = 'I am Tester'");
result = await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");
await testerMySql.AssertDontHaveInTableAsync("test_table", "name", "'I am Tester'");

await testerMySql.ConnectionCloseAsync();

await tester.TestEndAsync();
}

public async Task tearDown()
{
// await tester.BrowserCloseAsync();
}
}
}

Please note that for the autotests to work correctly, you need to connect the library

using HatPluginMySql;

First, there is a connection to the database

TesterMySql testerMySql = new TesterMySql(tester);

await testerMySql.ConnectionOpenAsync("server=127.0.0.1;uid=root;pwd=;database=test_db");

Data manipulation is performed using different methods

await testerMySql.GetCountEntriesAsync("SELECT * FROM test_table");

await testerMySql.GetEntriesAsync("SELECT * FROM test_table");

await testerMySql.GetEntriesFromTableAsync("test_table");

await testerMySql.GetDataTableAsync("SELECT * FROM test_table");

await testerMySql.SetEntryAsync("INSERT INTO test_table VALUES(NULL, 'I am Tester', 100, 'My post QA')");

await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");

await testerMySql.EditEntryAsync("UPDATE test_table SET age = 111 WHERE name = 'I am Tester'");

await testerMySql.RemoveEntryAsync("DELETE FROM test_table WHERE name = 'I am Tester'");

Special methods for checking the presence or absence of data in the database

await testerMySql.AssertHaveInTableAsync("test_table", "name", "'I am Tester'");

await testerMySql.AssertDontHaveInTableAsync("test_table", "name", "'I am Tester'")

At the end, the work with the database is completed by closing the connection to it

await testerMySql.ConnectionCloseAsync();

Let's run the autotest and look at the progress of the check and the result

All actions were completed, all checks were successful.

The test was completed successfully.

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


Class: TesterMySql

English version ›› Plugins ›› HatPluginMySql ››

Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator


Constructor

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ››

Created with the Personal Edition of HelpNDoc: Free help authoring environment


TesterMySql

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Constructor ››

TesterMySql

Description: the main class of working with a MySQL database

Syntax: TesterMySql(Tester tester)

Example:

Tester tester = new Tester(browserWindow);

TesterMySql testerMySql = new TesterMySql(tester);

Created with the Personal Edition of HelpNDoc: Easily create Help documents


Methods

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ››

Created with the Personal Edition of HelpNDoc: Free help authoring environment


ConnectionOpenAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

ConnectionOpenAsync

Description: the method opens a connection to the MySQL database

Syntax: ConnectionOpenAsync(string connectionString)

Return value: no return value

Example:

await testerMySql.ConnectionOpenAsync("server=127.0.0.1;uid=root;pwd=;database=test_db");

Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator


ConnectionCloseAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

ConnectionCloseAsync

Description: the method closes the connection to the MySQL database

Syntax: ConnectionCloseAsync()

Return value: no return value

Example:

await testerMySql.ConnectionCloseAsync();

Created with the Personal Edition of HelpNDoc: iPhone web sites made easy


GetCountEntriesAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

GetCountEntriesAsync

Description: the method returns the number of records in the table after executing the query

Syntax: GetCountEntriesAsync(string sqlQuertSelect)

Return value: int

Example:

int count = await testerMySql.GetCountEntriesAsync("SELECT * FROM test_table");

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


GetEntriesAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

GetEntriesAsync

Description: the method returns a list of records from the table after executing the query

Syntax: GetEntriesAsync(string sqlQuertSelect)

Return value: List

Example:

List<List<string>> entries = new List<List<string>>();

entries = await testerMySql.GetEntriesAsync("SELECT * FROM test_table");

foreach(List<string> entry in entries)

foreach(string value in entry)

tester.ConsoleMsg(value);

Created with the Personal Edition of HelpNDoc: Easily create CHM Help documents


GetEntriesFromTableAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

GetEntriesFromTableAsync

Description: the method returns a list of records from the specified database table

Syntax: GetEntriesFromTableAsync(string tableName)

Return value: List

Example:

List<List<string>> entries = new List<List<string>>();

entries = await testerMySql.GetEntriesFromTableAsync("test_table");

foreach(List<string> entry in entries)

foreach(string value in entry)

tester.ConsoleMsg(value);

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation


GetDataTableAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

GetDataTableAsync

Description: the method returns a table of records from the database table after executing the query

Syntax: GetDataTableAsync(string sqlQuertSelect)

Return value: DataTable

Example:

DataTable dataTable = null;

dataTable = await testerMySql.GetDataTableAsync("SELECT * FROM test_table");

foreach (DataRow row in dataTable.Rows)

foreach (DataColumn col in dataTable.Columns)

tester.ConsoleMsg(row[col].ToString());

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source


SetEntryAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

SetEntryAsync

Description: the method executes a query that adds data to the database table and returns the record number

Syntax: SetEntryAsync(string sqlQuertInsert)

Return value: int

Example:

int result = await testerMySql.SetEntryAsync("INSERT INTO test_table VALUES(NULL, 'I am Tester', 100, 'My post QA')");

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


EditEntryAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

EditEntryAsync

Description: the method executes a query that modifies the data in the database table and returns the record number

Syntax: EditEntryAsync(string sqlQuertUpdate)

Return value: int

Example:

int result = await testerMySql.EditEntryAsync("UPDATE test_table SET age = 111 WHERE name = 'I am Tester'");

Created with the Personal Edition of HelpNDoc: Full-featured EBook editor


RemoveEntryAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

RemoveEntryAsync

Description: the method executes a query that deletes the data in the database table and returns the record number

Syntax: RemoveEntryAsync(string sqlQuertDelete)

Return value: int

Example:

int result = await testerMySql.RemoveEntryAsync("DELETE FROM test_table WHERE name = 'I am Tester'");

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad


FindEntryAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

FindEntryAsync

Description: the method searches for data in the specified database table and returns the boolean value of the search result

Syntax: FindEntryAsync(string tableName, string columnName, string value)

Return value: bool (true or false)

Example:

bool result = await testerMySql.FindEntryAsync("test_table", "name", "'I am Tester'");

Created with the Personal Edition of HelpNDoc: Easily create Help documents


AssertHaveInTableAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

AssertHaveInTableAsync

Description: the method checks the data in the specified database table and returns the boolean value of the search result, in case of a negative result, the check will be considered a failure

Syntax: AssertHaveInTableAsync(string tableName, string columnName, string value)

Return value: bool (true or false)

Example:

bool result = await testerMySql.AssertHaveInTableAsync("test_table", "name", "'I am Tester'");

Created with the Personal Edition of HelpNDoc: Free Kindle producer


AssertDontHaveInTableAsync

English version ›› Plugins ›› HatPluginMySql ›› Class: TesterMySql ›› Methods ››

AssertDontHaveInTableAsync

Description: the method checks the data in the specified database table and returns the boolean value of the search result, in case of a positive result, the check will be considered a failure

Syntax: AssertDontHaveInTableAsync(string tableName, string columnName, string value)

Return value: bool (true or false)

Example:

bool result = await testerMySql.AssertDontHaveInTableAsync("test_table", "name", "'I am Tester'");

Created with the Personal Edition of HelpNDoc: Free Web Help generator


Practical examples

English version ››

Created with the Personal Edition of HelpNDoc: Produce online help for Qt applications


Autotest Group

English version ›› Practical examples ››

Autotest Group

You can organize a group of autotests and run them.

To do this, create a folder in which the autotests of one group will be stored (for example, the folder group 1)

Next, you need to describe several tests and put them in the group1 folder.

Attention: for tests, the Main function must be declared as a Task

the first file: ExampleTest3.cs

File: ExampleTest3.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

// Auxiliary class for JSON data

public class TestJson

{

public int userId { get; set; }

public int id { get; set; }

public string title { get; set; }

public string body { get; set; }

}

public class ExampleTest3

{

// The main variable for the autotest operation

Tester tester;

// The main input function is declared as a Task. This is important! (the autotest starts working with this function)

public async Task Main(Form browserWindow)

{

// Initialization of the main variable and additional functions

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

// The function of getting started with the autotest

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

}

// The function of performing autotest actions

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://jsonplaceholder.typicode.com", 5);

string result = await tester.RestGetAsync(@"https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

TestJson dataJson = JsonConvert.DeserializeObject<TestJson>(result);

tester.AssertEqualsAsync("1", dataJson.userId.ToString());

await tester.TestEndAsync();

}

// Autotest shutdown function

public async Task tearDown()

{

// await tester.BrowserCloseAsync(); in this case, we don't need the browser to close

}

}

}

the second file: ExampleTest4.cs

File: ExampleTest4.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest4

{

// The main variable for the autotest operation

Tester tester;

// The main input function is declared as a Task. This is important! (the autotest starts working with this function)

public async Task Main(Form browserWindow)

{

// Initialization of the main variable and additional functions

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

// The function of getting started with the autotest

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

}

// The function of performing autotest actions

public async Task test()

{

await tester.TestBeginAsync();

await tester.GoToUrlAsync("https://somovstudio.github.io/test_eng.html", 5);

string script = @"(function(){ var element = document.getElementsByTagName('h2')[0]; return element.outerText; }());";

string actual = await tester.ExecuteJavaScriptAsync(script);

string expected = "Authorization";

await tester.AssertEqualsAsync(expected, actual);

await tester.TestEndAsync();

}

// Autotest shutdown function

public async Task tearDown()

{

// await tester.BrowserCloseAsync(); in this case, we don't need the browser to close

}

}

}

We have created two autotests "ExampleTest3.cs" and "ExampleTest4.cs" which are located in the "group1" folder.

Now you need to create a combining autotest GroupTests1.cs that will trigger other autotests.

File: GroupTests1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class GroupTests1

{

// The main variable for the autotest operation

Tester tester;

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Initializing the main variable

await setUp(); // The function of getting started with the autotest

await test1(browserWindow); // The function that calls the autotest from the script ExampleTest3.cs

await test2(browserWindow); // The function that calls the autotest from the script ExampleTest4.cs

await tearDown(); // Autotest shutdown function

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync();

}

// This function runs the autotest from the script ExampleTest3.cs

public async Task test1(Form browserWindow)

{

tester.SendMessage("Автотест ExampleTest3", "", "Файл: ExampleTest3.cs", Tester.IMAGE_STATUS_MESSAGE);

ExampleTest3 exampleTest3 = new ExampleTest3(); // An autotest variable is being created

await exampleTest3.Main(browserWindow); // The autotest is started

}

// This function runs the autotest from the script ExampleTest4.cs

public async Task test2(Form browserWindow)

{

tester.SendMessage("Автотест ExampleTest4", "", "Файл: ExampleTest4.cs", Tester.IMAGE_STATUS_MESSAGE);

ExampleTest4 exampleTest4 = new ExampleTest4(); // An autotest variable is being created

await exampleTest4.Main(browserWindow); // The autotest is started

}

// Autotest shutdown function

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes the browser

}

}

}

As you can see in the ExampleTest3.CS and ExampleTest4.cs autotest will be called sequentially in the test1 and test2 methods.

Run the GroupTests1.cs group autotest

The result on the "Test" tab will reflect the entire progress of the sequential execution of all autotests step by step.

If any of the autotests fails, the check will continue anyway until all the autotests are completed

at the same time, the overall result of the GroupTests1.cs group autotest will be considered a failure.

a report on the complete completion of all tests will also be created

Created with the Personal Edition of HelpNDoc: Qt Help documentation made easy


Executing JavaScript code

English version ›› Practical examples ››

Executing JavaScript code

A special ExecuteJavaScriptAsync method has been added to HatFramework to execute JavaScript code.

First, you need to declare a text variable and describe in it the script that you want to execute.

string script = @"(function(){

var element = document.getElementsByTagName('h2')[0];

return element.outerText;

}());";

Now, using the ExecuteJavaScriptAsync method, we will execute the above script and get the result.

string actual = await tester.ExecuteJavaScriptAsync(script);

In this example, you will get the text from the H2 element from the page where this script was called.

Full example:

File: ExampleTest4.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest4

{

Tester tester; // The main variable for the autotest operation

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Initializing the main variable

await setUp(); // The function of getting started with the autotest

await test(); // The function of performing test actions

await tearDown(); // Autotest shutdown function

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

}

public async Task test()

{

await tester.TestBeginAsync(); // The beginning of the execution of actions

await tester.GoToUrlAsync("https://somovstudio.github.io/test_eng.html", 5); // Loading the page at the specified address

// Declaring a variable with a JavaScript script description

string script = @"(function(){

var element = document.getElementsByTagName('h2')[0];

return element.outerText;

}());";

// Script Execution

string actual = await tester.ExecuteJavaScriptAsync(script);

// Checking the result

string expected = "Authorization";

await tester.AssertEqualsAsync(expected, actual); // The expected and actual data must match

await tester.TestEndAsync(); // Completing actions

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes the browser

}

}

}

Examples of JavaScript and jQuery scripts for the method ExecuteJavaScriptAsync :

- focus on the input element and data entry

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.focus();

element.value = '9999999999';

element.setAttribute("value", "9999999999");

- focus on the input element and insert data

document.getElementById("phone").focus();

document.execCommand("insertHTML", false, "9999999999");

- entering data into input and calling events

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.value = '9999999999';

element.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true }));

element.dispatchEvent(new KeyboardEvent('keypress', { bubbles: true }));

element.dispatchEvent(new KeyboardEvent('keyup', { bubbles: true }));

element.dispatchEvent(new Event('input', { bubbles: true }));

element.dispatchEvent(new Event('change', { bubbles: true }));

- highlight the value in the input

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.select();

- mouse click

var clickEvent = new MouseEvent("click", { "view": window, "bubbles": true, "cancelable": false });

var element = document.evaluate("//input[@id='phone']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

element.dispatchEvent(clickEvent);

var theEvent = document.createEvent("MouseEvent");

theEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

element.dispatchEvent(theEvent);

- using jQuery to click a button (if the library is connected on the page under test)

string script = @"$(function() {

console.log('autotest JQUERY');

$('#btn-send > div.btn > a').click();

});";

Created with the Personal Edition of HelpNDoc: Full-featured Kindle eBooks generator


Processing Json data using Newtonsoft

English version ›› Practical examples ››

Processing Json data using Newtonsoft

The Newtonsoft.Json library has been added to work with Json data

The official page: https://www.newtonsoft.com/json

As an example, we use a Rest request to the address

https://jsonplaceholder.typicode.com/posts/1/

to get test data in Json format:

{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }

Next, with the help of Newtonsoft.Json processing of the received result.

First, you need to describe a separate class that lists the fields that are present in the Json

public class TestJson

{

public int userId { get; set; }

public int id { get; set; }

public string title { get; set; }

public string body { get; set; }

}

We execute a Rest request and get the Json data

string result = await tester.RestGetAsync(@"https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

We process the received data and output them

TestJson dataJson = JsonConvert.DeserializeObject<TestJson>(result);

tester.ConsoleMsg("UserID: " + dataJson.userId.ToString());

Full example:

File: ExampleTest3.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

// Auxiliary class for JSON data

public class TestJson

{

public int userId { get; set; }

public int id { get; set; }

public string title { get; set; }

public string body { get; set; }

}

public class ExampleTest3

{

Tester tester; // The main variable for the autotest operation

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Initializing the main variable

await setUp(); // Функция начала работы с автотестом

await test(); // Функция выполнения действий теста

await tearDown(); // Функция завершения работы с автотестом

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

}

public async Task test()

{

await tester.TestBeginAsync(); // The beginning of the execution of actions

await tester.GoToUrlAsync("https://jsonplaceholder.typicode.com", 5); // Loading the page at the specified address

// Executes a Rest request to the API at the specified URL and gets the result in JSON format

string result = await tester.RestGetAsync(@"https://jsonplaceholder.typicode.com/posts/1/", TimeSpan.FromDays(1), "UTF-8");

tester.ConsoleMsg(result); // Outputs the result to the console

// Fetches data from the received JSON

TestJson dataJson = JsonConvert.DeserializeObject<TestJson>(result);

// Outputs data to the console

tester.ConsoleMsg("UserID: " + dataJson.userId.ToString());

tester.ConsoleMsg("ID: " + dataJson.id.ToString());

tester.ConsoleMsg("Title: " + dataJson.title.ToString());

tester.ConsoleMsg("Body: " + dataJson.body.ToString());

await tester.TestEndAsync(); // Completing actions

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes браузер

}

}

}

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites


Processing XML data for checking the Sitemap

English version ›› Practical examples ››

Processing XML data for checking the Sitemap

The following libraries are used to work with XML

using System.Collections;

using System.Xml;

Let's describe the ReadSitemapXML auxiliary method for reading data from the site map sitemap.xml

This method can be described in the Steps class, but in order for it to be available in any class, it is better to describe it in the Helper.

The blank of the ReadSitemapXML method is closed when reading a link from a file sitemap.xml and as a result, return the list of read links.

File: Helper.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

using System.Collections;

using System.Xml;

namespace Hat

{

public static class Helper

{

/* Method: reading the XML file of the site map */

public static async Task<List<string>> ReadSitemapXML(Tester tester, string filename, bool useragent)

{

// Declaring a variable whose type is a list (a list for storing links)

List<string> list = new List<string>();

// Declaring a variable that is an error flag (the flag is disabled by default)

bool errors = false;

try

{

// Setting up the system connection parameters ServicePointManager.Expect100Continue = true;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

// We are reading the xml file

XmlDocument xDoc;

if (useragent == false)

{

xDoc = new XmlDocument();

xDoc.Load(filename);

}

else

{

WebClient client = new WebClient();

client.Headers["User-Agent"] = await tester.BrowserGetUserAgentAsync();

client.Headers["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

string data = client.DownloadString(filename);

xDoc = new XmlDocument();

xDoc.LoadXml(data);

}

// Reading the elements from the resulting xml file

XmlElement xRoot = xDoc.DocumentElement;

foreach (XmlNode xnode in xRoot)

{

for (int j = 0; j <= xnode.ChildNodes.Count; j++)

{

if (xnode.ChildNodes[j].Name == "loc")

{

// We save the received link to the list

list.Add(xnode.ChildNodes[j].InnerText);

break;

}

}

}

}

catch (Exception ex)

{

errors = true; // enabling the error flag

}

// Checking the error flag (if the flag is set to true, then a failure has occurred and the test will be aborted

await tester.AssertFalseAsync(errors);

return list; // returning the list of links

}

}

}

Now let's describe an autotest in which we will check the site map

File: Sitemap_Test.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class Sitemap_Test

{

// The main variable for the autotest operation

Tester tester;

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

// Initialization of the main variable and additional functions

tester = new Tester(browserWindow);

await setUp();

await test();

await tearDown();

}

// The function of getting started with the autotest

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

}

// The function of performing autotest actions

public async Task test()

{

await tester.TestBeginAsync(); // The beginning of the execution of actions

// Loading the page at the specified address

await tester.GoToUrlAsync("https://somovstudio.github.io/sitemap.xml", 25);

// Reading links from a file sitemap.xml

List<string> list = await Helper.ReadSitemapXML(tester, "https://somovstudio.github.io/sitemap.xml", false);

// Processing the list of links

int status = 0;

foreach (string url in list)

{

// Getting the page status (200 - correct, 404 - no page, 502 - the server is not responding, etc.)

status = await tester.RestGetStatusCodeAsync(url);

// Output the result to the console

tester.ConsoleMsg("Status: " + status.ToString() + " | Page: " + url);

// Checking the correctness of the result

await tester.AssertEqualsAsync(200, status);

}

await tester.TestEndAsync(); // Completion of actions

}

// Функция завершения работы с автотестом

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes the browser

}

}

}

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool


Alert, prompt and confirm dialog windows

English version ›› Practical examples ››

Alert, prompt and confirm dialog windows

The browser has disabled support for the alert, prompt and confirm dialog windows.

So that the code is executed ignoring calls to these dialog windows.

How does it work? Let's take a test page as an example https://somovstudio.github.io/test2.html

Click on the button "Вызвать Alert"

a dialog window opens

by clicking OK, we will see the message "Привет Мир" in the field

That is, the message "Привет Мир" will be displayed in the field only after clicking OK in the Alert dialog box.

If you press the button "Вызвать Confirm" a question will be asked and the answer will be displayed in the field after clicking on "OK" (or "Cancel")

If you press the button "Вызвать Confirm" a question will be asked and the answer will be displayed in the field after entering the number and clicking OK

Now let's do the same with autotest hands

File: ExampleTest5.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // The main variable for the autotest operation

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Initializing the main variable

await setUp(); // The function of getting started with the autotest

await test(); // The function of performing test actions

await tearDown(); // Autotest shutdown function

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

}

public async Task test()

{

await tester.TestBeginAsync(); // The beginning of the execution of actions

await tester.GoToUrlAsync("https://somovstudio.github.io/test2.html", 5); // Loading the page at the specified address

await tester.WaitAsync(2); // Waiting for 2 seconds

await tester.ClickElementByIdAsync("btnAlert"); // Pressing the button

await tester.WaitAsync(2); // Waiting for 2 seconds

await tester.ClickElementByIdAsync("btnConfirm"); // Pressing the button

await tester.WaitAsync(2); // Waiting for 2 seconds

await tester.ClickElementByIdAsync("btnPrompt"); // Pressing the button

await tester.TestEndAsync(); // Completing actions

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes the browser

}

}

}

After running the autotest, we will see that the dialog boxes do not open, and the data changes in the field.

The page will load first in its default state

Then, autotest, click the "Call Alert" button, the dialog box will not open, and the message "Hello World" will immediately appear in the field

Then, autotest, click the "Call Confirm" button, the dialog box will not open, and the message "No (thanks for the answer)" will immediately appear in the field

Then, autotest, click the "Call Prompt" button, the dialog box will not open, and the message "Now is a null year" will immediately appear in the field

As you can see, the browser ignored the dialog boxes and displayed the default values.

Thus, dialog boxes do not interfere with the execution of autotests.

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily


Basic authorization

English version ›› Practical examples ››

Basic authorization

There are cases when the page is closed with basic authorization

There are two methods for working with basic authorization:

  • BrowserBasicAuthenticationAsync - performs authorization before completing the autotest steps
  • GoToUrlBaseAuthAsync - navigates to the page with the username and password specified in the address URL

An example of using the method BrowserBasicAuthenticationAsync

File: ExampleTest6.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // The main variable for the autotest operation

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Initializing the main variable

await setUp(); // The function of getting started with the autotest

await test(); // The function of performing test actions

await tearDown(); // Autotest shutdown function

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

await tester.BrowserBasicAuthenticationAsync("login", "pass"); // Performing basic authorization

}

public async Task test()

{

await tester.TestBeginAsync(); // The beginning of the execution of actions

await tester.GoToUrlAsync("https://test.site.com", 5); // Loading the page at the specified address

await tester.TestEndAsync(); // Completing actions

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes the browser

}

}

}

An example of using the method GoToUrlBaseAuthAsync

File: ExampleTest6.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // The main variable for the autotest operation

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Initializing the main variable

await setUp(); // The function of getting started with the autotest

await test(); // The function of performing test actions

await tearDown(); // Autotest shutdown function

}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

}

public async Task test()

{

await tester.TestBeginAsync(); // The beginning of the execution of actions

// Performing basic authorization when loading a page

await tester.GoToUrlBaseAuthAsync("https://test.site.com", "login", "pass", 5);

await tester.TestEndAsync(); // Completing actions

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes the browser

}

}

}

Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents


Google analytics and yandex metrika events

English version ›› Practical examples ››

Google analytics and yandex metrika events

To get GA and YM events, use special methods.

await tester.AssertNetworkEventsAsync(true, new string[] {
"ec=ga_category", "ea=ga_action", "el=ga_label", "yandex_event"
});

await Helper.ClearBrowserNetworkLogs(tester); // clearing events

Another way to intercept the YM event is to use it ?_ym_debug=1 in the address and browser event handling.

File: ExampleTest7.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Windows.Forms;

using System.Threading;

using System.Threading.Tasks;

using System.IO;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

using System.Net;

using System.Net.Http;

using System.Net.Http.Headers;

using System.Reflection;

using Newtonsoft.Json;

using HatFramework;

namespace Hat

{

public class ExampleTest5

{

Tester tester; // The main variable for the autotest operation

List<string> events; // The variable into which all browser events are collected

// The main input function (the autotest starts with this function)

public async void Main(Form browserWindow)

{

tester = new Tester(browserWindow); // Initializing the main variable

await setUp(); // The function of getting started with the autotest

await test(); // The function of performing test actions

await tearDown(); // Autotest shutdown function

}

// A function that listens to browser events

private void browserConsoleEvents(object sender, Microsoft.Web.WebView2.Core.CoreWebView2DevToolsProtocolEventReceivedEventArgs e)
{
events.Add(e.ParameterObjectAsJson);
tester.ConsoleMsg(e.ParameterObjectAsJson);
}

public async Task setUp()

{

await tester.BrowserFullScreenAsync(); // Sets the browser resolution to full screen

/*

* Let's turn on listening for browser events
* A source: https://chromedevtools.github.io/devtools-protocol/tot/Network/
*/

tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Log.entryAdded").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Log.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Console.messageAdded").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Console.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Runtime.consoleAPICalled").DevToolsProtocolEventReceived += browserConsoleEvents;
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Runtime.exceptionThrown").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Runtime.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Network.dataReceived").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Network.enable", "{}");
tester.BrowserView.CoreWebView2.GetDevToolsProtocolEventReceiver("Debugger.scriptParsed").DevToolsProtocolEventReceived += browserConsoleEvents;
await tester.BrowserView.CoreWebView2.CallDevToolsProtocolMethodAsync("Debugger.enable", "{}");

}

public async Task test()

{

await tester.TestBeginAsync(); // The beginning of the execution of actions

await tester.GoToUrlAsync("https://test.site.com/?_ym_debug=1", 5); // Loading a page with YM event debugging enabled

await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='SECOND_NAME']", Helper.TestName);
await tester.WaitAsync(1);
await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='NAME']", Helper.TestName);
await tester.WaitAsync(1);
await tester.SetValueInElementAsync(Tester.BY_XPATH, "//input[@id='PHONE']", Helper.TestPhone);
await tester.WaitAsync(1);
await tester.ClickElementAsync(Tester.BY_XPATH, "//input[@id='fb_close']");
await tester.WaitAsync(1);
await tester.WaitVisibleElementAsync(Tester.BY_XPATH, "//p[text() = 'Спасибо! Ваша заявка принята.']", 25);
await tester.WaitAsync(5);

// Checking the YM event in the browser event list
tester.SendMessage("Message", Tester.COMPLETED, "Проверка: Событие YM (Goal id: yandex_event)", Tester.IMAGE_STATUS_MESSAGE);
bool checkYM = false;
foreach(string value in events)
{
checkYM = value.Contains("Goal id: yandex_event");
if (checkYM == true)
{
tester.SendMessage("Message", Tester.COMPLETED, "Сработало событие YM: " + value, Tester.IMAGE_STATUS_MESSAGE);
break;
}
}
await tester.AssertTrueAsync(checkYM); // The result of the check

await tester.TestEndAsync(); // Completing actions

}

public async Task tearDown()

{

await tester.BrowserCloseAsync(); // Closes the browser

}

}

}

Thus, the autotest listens to all browser events and, after performing the actions, looks through all events in search of new ones

If the YM event is found, the test is considered successful.

Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation


Version 1.3 (not current)

English version ››

Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator


Description

English version ›› Version 1.3 (not current) ››

Starting with browser version 1.3, the following methods have been changed:

    • SendMessage - the method of change
    • SendMessageDebug - the method of change
    • EditMessage - the method has been deleted
    • EditMessageDebug - the method has been deleted
    • DefineTestStop -the method of change

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor


SendMessage [changed since version 1.3.0]

English version ›› Version 1.3 (not current) ››

SendMessage

Description: the method displays messages in the test execution process table

When executed, action is output to the system console if status is FAILED, WARNING, "", null, otherwise only status and comment are output (without action).

Syntax: SendMessage(string action, string status, string comment)

Example:

int step = tester.SendMessage("the text of the actions", Tester.PROCESS, "the text of the comment");

/* Examples of console output */

// action comment

int step = tester.SendMessage("actions", null, "comment");

int step = tester.SendMessage("actions", "", "comment");

// Step[progress]: comment

int step = tester.SendMessage("actions", Tester.PROCESS, "comment");

// Step[passed]: comment

int step = tester.SendMessage("actions", Tester.PASSED, "comment");

// Step[completed]: comment

int step = tester.SendMessage("actions", Tester.COMPLETED, "comment");

// Step[stopped]: comment

int step = tester.SendMessage("actions", Tester.STOPPED, "comment");

// Step[failed]: действие комментарий

int step = tester.SendMessage("actions", Tester.FAILED, "comment");

// Step[warning]: действие комментарий

int step = tester.SendMessage("actions", Tester.WARNING, "comment");

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software


SendMessageDebug [changed since version 1.3.0]

English version ›› Version 1.3 (not current) ››

SendMessageDebug

Description: the method outputs a debugging message that can be disabled for output to a report and an email

When executed, action is output to the system console if status is FAILED, WARNING, "", null,

otherwise only status and comment are output (without action).

Syntax: SendMessageDebug(string actionRus, string actionEng, string status, string commentRus, string commentEng, int image)

Example:

int step = tester.SendMessageDebug("действия", "action", Tester.PROCESS, "комментарий", "comment", Tester.IMAGE_STATUS_PROCESS);

Created with the Personal Edition of HelpNDoc: Free Qt Help documentation generator


DefineTestStop [changed since version 1.3.0]

English version ›› Version 1.3 (not current) ››

DefineTestStop

Description: the method checks the status of the process (stopped or not)

Syntax: DefineTestStop()

Return value: bool (true or false)

Example:

int step = tester.SendMessage("the text of the actions", Tester.FAILED, "the text of the comment");

if (tester.DefineTestStop(step) == true) return; // so the test is stopped

Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source