https://www.oracle.com/java/technologies/downloads/#java20
sudo apt update
sudo apt install default-jre
java -version
sudo apt install default-jdk
javac -version
sudo apt install maven
-
File -> Project Structure -> Project Settings -> Project:
Name:auto-tests
JDK:openjdk-20
(Oracle OpenJDK version 20)
Language level:20
-
File -> Project Structure -> Project Settings -> Modules:
Name:itexusFormsChecker
Sources Tab:
- Language level:
11
Dependencies Tab:
- Module SDK:
Project SDK
(openjdk-20)
- Language level:
-
File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven:
Maven home path:/home/work/itexus/auto-tests/dependencies/apache-maven-3.9.1
---
Download the appropriate driver for your operating system, browser and its version:
- Google Chrome: https://chromedriver.chromium.org/downloads
- Mozilla Firefox: https://github.com/mozilla/geckodriver/releases
- Microsoft Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
- Safari Browser: https://developer.apple.com/documentation/webkit/about_webdriver_for_safari
mvn clean install
mvn test
mvn clean
java -jar itx-check--forms.jar
JAR-file and tests list only:
zip -j build/forms-checker.zip build/tests.xml build/itx-check--forms.jar
Config.properties, tests.xml and jar-file:
zip -j build/forms-checker.zip build/config.properties build/tests.xml build/itx-check--forms.jar
All dependencies are specified in pom.xml file.
Updating existing ones and adding new ones is done through Maven.
-
Веб-драйвера находятся в директории
drivers
, которая в корне проекта. Если её нет -- создайте её и загрузите в неё подходящие веб-драйвера. После сборки проекта (командаmvn install
) они автоматически будут скопированы в корень проекта, а также добавлены в автоматически сформированную директориюtarget
(вbuild
нужный(е) драйвер(а) нужно перенести самостоятельно вручную, или добавить эту команду в pom.xml для её автоматизации). При выполнении командыmvn clean
они будут автоматически удалены из корняя проекта (дирректорияtarget
будет удалёна полностью). -
Все методы, являющиеся тестами для тестирования контактных форм, задаются в файле
src -> main -> java -> Testing -> WebTest.java
. -
После сборки проекта, в корне проекта будет создана папка
build
, в которую автоматически будет добавлено 3 основых файла:- itx-check--forms.jar: скомпилированный файл программы;
- tests.xml: список запускаемых тестов;
- config.properties: конфигурации программы тестирования;
Сюда же нужно добавить используемый(ые) файлы веб-драйвера(ов).
Итого, все 4 файла должны располагаться на одном файловом уровне.
P.S.: все эти файлы, включая файлы веб-драйверов из папкиdrivers
, будут автоматически добавлены и вtarget
.Чтобы добавить все необходимые файлы в один архив -- можно использовать следующую команду в терминале из корня проекта: \
zip -j build/forms-checker.zip build/config.properties build/tests.xml build/itx-check--forms.jar
-
При выполнении очистки проекта с помощью команды
mvn clean
, в директорииbuild
все файлы, кроме перенесённых туда драйверов, будут очищены. Таким образом, драйвер(а) вbuild
достаточно добавить только один раз. -
Список запускаемых во время автоматизированного тестирования тестов задаётся в файле
tests.xml
, распалогаемого в корне проекта. Вbuild
(иtarget
) он будет добавлен автоматически после сборки проекта. -
В файле
config.properties
, расположенном в корне проекта (или находящемся рядом с файломitx-check--forms.jar
), можно задавать конфигурации программы тестирования:-
указывать тип запуска графического интерфейса браузера во время тестирования (запускать браузер в фоновом режиме или открывать и показывать окно браузера);
-
управлять процессом логирования (выводить ли процесс тестирования в консоль, записывать ли файл, или отключить всё);
-
задавать вводимые автотестом в контактные формы значения;
-
указывать тип браузера (или несколько браузеров), на котором(ых) будет осуществляться тестирование;
-
задавать время ожидания после прокрутки страницы к элементу;
-
указывать разрешения экрана браузера при выполнении теста для эмуляции различных устройств:
- desktop (мониторы);
- laptop (ноутбуки);
- tablet (планшеты);
- mobile (смартфоны);
- desktop portrait mode (портретрный режим монитора);
- laptop portrait mode (повёрнутый на 90^ экран ноутбука);
- tablet rotate (повёрнутый на 90^ планшет);
- mobile rotate (повёрнутый горизонтально смартфон).
Этот файл будет автоматически добавлен в папку
build
(иtarget
) при сборке проекта.
-
-
Если файла
config.properties
не будет рядом со скомпилированным файломitx-check--forms.jar
, программа тестирования будет использовать значения по умолчанию, заданные в классеTesting.Config
. -
Если логирование включено и запись логов в файл активна, рядом с исполняемым файлом
itx-check--forms.jar
будет создана папкаlog
, в которую ежедненво будет добавляться новый файл (в качестве имени файла -- текущая дата) с результатами тестирования за день. -
Отчёты с результатом тестирования формируются в директории
test-output
после запуска jar-файла с автотестамиitx-check--forms.jar
(запуск командойjava -jar itx-check--forms.jar
). -
При сборке проекта, в файле конфигураций
config.properties
флагDO_REAL_TESTS
можно установить в значение false для того, чтобы реальное тестирование форм на сайте не выполнялось. Таким образом, проект будет собран за несколько секунд, так как этап с выполнением реальных тестов будет пропущен. Тестирование двухсот форм сwaitTime=500
занимает около палутора часа.