Рубрики
Без рубрики

Использование Фреймворка Galen Для Автоматического Тестирования Кроссбраузерной Компоновки

Galen Framework – это платформа автоматизации тестирования для выполнения кроссбраузерного тестирования макета веб-приложения в браузере. Давайте сразу погрузимся в суть, чтобы узнать больше. С тегами javascript, java, фреймворк, автоматизация.

Фреймворк Galen – это автоматизация тестирования фреймворк, который изначально был представлен для выполнения кроссбраузерного тестирования макета веб-приложения в браузере. В настоящее время он превратился в полнофункциональную платформу тестирования с богатой системой отчетности и управления тестированием . Этот фреймворк поддерживает как Java, так и Javascript .

Вам интересно, что такое кроссбраузерное тестирование макета ? Хорошо, позвольте мне уточнить, итак, вы разрабатываете быстро функционирующий веб-сайт с помощью Google Chrome. Все работает в соответствии с предназначенной для вас функциональностью. Пользовательский интерфейс аккуратен, и вы испытываете чувство выполненного долга. Теперь вы показываете это своему менеджеру по продуктам, заинтересованной стороне или любому другому пользователю, у которого в браузере по умолчанию установлен Mozilla Firefox/Safari/Opera или любой другой браузер, кроме Google Chrome, и вы с удивлением замечаете отклонения в пользовательском интерфейсе при отображении веб-сайта. Это означает, что ваш веб-сайт не совместим с кроссбраузерными браузерами так как он работает резко при доступе через разные браузеры. Практика обеспечения того, чтобы макет веб-сайта выглядел и работал плавно в различных браузерах, называется кроссбраузерным тестированием макета. Мы живем в эпоху, когда адаптивный дизайн становится необходимостью для каждого веб-сайта. Если вы хотите решить следующие задачи для адаптивной верстки сайта на нескольких устройствах, например, мобильных, настольных и т.д., То Galen Framework – одна из лучших платформ с открытым исходным кодом для выбора:

  • Правильно ли выровнен ваш текст?
  • Правильно ли выровнен логотип на верхней левой панели?
  • Правильны ли ширина и высота текстового поля или любого другого размера объекта пользовательского интерфейса?
  • Умеете ли вы играть с цветовой гаммой?
  • Все графические интерфейсы отображаются соответствующим образом в разных браузерах на разных устройствах

В этой статье мы рассмотрим, как настроить среду автоматизации тестирования для Galen Framework с помощью IntelliJ, а затем продолжим работу со сценарием. Я также хотел бы показать вам, как создавать отчеты для ваших тестовых примеров автоматизации , а также несколько советов по устранению неполадок, которые помогут вам начать работу с автоматизацией браузера с помощью Galen Framework для тестирования кросс-браузерной компоновки. Давайте сразу нырнем внутрь.

Шаг 1: Настройка среды:

Единственным необходимым предварительным условием будет установка JDK 8 на вашем компьютере. Для установки JDK 8 (минимальная версия JDK) посетите официальный веб-сайт для загрузки, нажав здесь .

После загрузки установка проста, просто нажмите и продолжайте, чтобы завершить. Как только установка будет завершена, вам необходимо будет указать путь настройки. Вот как вы можете это сделать! Перейдите к кнопке Windows и найдите “Переменные среды”. Как только это будет сделано, вам нужно выбрать опцию “Редактировать системные переменные среды”. После этого нажмите на кнопку “Создать”, чтобы добавить “JAVA_HOME” в качестве пути установки.

После этого найдите “Путь” в разделе “переменная” и дважды щелкните. В значении переменной добавьте ” %JAVA_HOME%\bin” в путь, чтобы убедиться, что указанная версия java доступна на компьютере.

Теперь, чтобы проверить, правильно ли установлен JDK или нет! Укажите следующую команду в своем cmd (командной строке): java-версия

Слава! Вы только что успешно установили JDK на свой компьютер.

Шаг 2 – Загрузите IntelliJ и настройте проект Maven

IntelliJ – это бесплатная Java IDE с открытым исходным кодом (Интегрированная среда разработки) для разработки компьютерного программного обеспечения на базе Java. Вы можете скачать версию IntelliJ для сообщества здесь.

После загрузки установка проста, просто нажмите “Далее” и завершите со значением по умолчанию. В Windows -> Поиск “IntelliJ”-> Откроется окно “Создать новый проект”. Нажмите “Создать новый проект”, выберите Maven и нажмите кнопку “Далее”. Введите идентификатор группы, идентификатор артефакта, оставьте версию по умолчанию и нажмите кнопку “Далее”. Оставьте название проекта и выберите местоположение, в котором будет расположен ваш проект. Нажмите на кнопку “Готово”, и созданный проект отобразится в IntelliJ, как показано на снимке ниже. Пожалуйста, обязательно включите автоматический импорт.

Добавьте зависимость Maven в IntelliJ, выполнив следующие действия Перейдите в репозиторий Maven https://mvnrepository.com/ и найдите фреймворк Галена.

Выберите последнюю версию платформы Galen с поддержкой Java Test Framework.

Выберите последнюю версию, которая указана вверху, и скопируйте зависимость Galen Framework, которая выделена на снимке ниже.

Скопируйте вышеуказанную зависимость Maven в pom.xml в вашем проекте. После копирования его зависимости и временные зависимости загружаются из репозитория Maven. Например. , Зависимость, такая как фреймворк Galen, и временные зависимости, такие как Selenium, наряду с некоторыми распространенными библиотеками.


    org.testng
    testng
    6.9.10
    test

И структура проекта maven выглядит следующим образом: снимок ниже.

Шаг 3: Внедрение файла спецификации

Понимание того, как написать файл спецификации : Язык спецификации Galen является довольно гибким и дает вам возможность выразить точный способ, которым вы хотели бы, чтобы ваш веб-сайт вел себя при доступе с разных устройств. Файл спецификации страницы состоит из двух основных частей: Определения объектов и Спецификации объектов.

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

Позвольте мне написать простой файл спецификации для веб-сайта https://www.lambdatest.com/

Для создания файла спецификации расширение должно быть “.spec”

Вышеуказанные файлы спецификаций и их изображение копируются в каталог спецификаций в папке ресурсов.

Примечание: Файл спецификации будет определять, присутствует ли изображение в том же каталоге. Если нет, то вам придется явно указать имя папки/файла изображения. Однако имейте в виду, что подпапка должна находиться там, где существуют ваши файлы спецификаций.

Приведенная выше спецификация предназначена только для выполнения пробного теста. Для более подробного ознакомления, пожалуйста, посетите сайт и поиграйте с другими примерами: Для более подробного ознакомления, пожалуйста, посетите сайт и поиграйте с другими примерами:

Шаг 4: Написание кода

Нам нужно написать код для нашего скрипта автоматизации для работы с фреймворком Galen. Прежде чем вы начнете писать код для автоматизации браузера с помощью Galen framework, вам понадобится каталог для вашей программы. Вы можете создать каталог, перейдя в тестируемый каталог Java. Перейти к тесту-> каталог java-> создать каталог с именем “наборы тестов” и создать новый класс.

Вот пример, демонстрирующий автоматизацию браузера с помощью платформы Galen. Я буду писать код для проверки наличия логотипа и пикселя для логотипа LAMBDATEST и цвета фона, размера шрифта для кнопки с надписью “НАЧАТЬ ТЕСТИРОВАНИЕ”.

В окне IntelliJ, которое вы сейчас видите, напишите следующий код:

КОД (Не требующий пояснений):

SampleUILayoutTest.java
Last week
Dec 27, 2018
M
Muthuraja Ramakrishnan uploaded an item
Java
SampleUILayoutTest.java
package testSuites;
import com.galenframework.api.Galen;
import com.galenframework.reports.GalenTestInfo;
import com.galenframework.reports.HtmlReportBuilder;
import com.galenframework.reports.model.LayoutReport;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.io.IOException;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
public class SampleUILayoutTest {
    private static final String lambdaTestpage = "src/main/resources/specs/lambdatest.gspec";
    private static final String baseURL="https://www.lambdatest.com/";
    private WebDriver driver;
    private LayoutReport layoutReport;

    /* initialize webdriver, make sure you download chrome driver in http://chromedriver.chromium.org/downloads
    and drop the exe file under resources folder
     */
    @BeforeClass
    public void init() {
        //declaration and instantiation of Objects/variables
        System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");
        driver = new ChromeDriver();
        //triggers chrome to launch for directing it towards the base url
        driver.get(baseURL);
        //Maximize the browser window
        driver.manage().window().maximize();
    }
    @test

    public void checkLogoVisibleAndImageVerification() throws IOException {
        //Executing Layout check and obtaining the Layout report
        layoutReport = Galen.checkLayout(driver, lambdaTestpage, Arrays.asList("desktop"));
    }
    @AfterMethod
    public void reportUpdate() {
        try {
            //Creating a list of tests
            List tests = new LinkedList<>();
            //The object you create will be consisting the information regarding the test
            GalenTestInfo test = GalenTestInfo.fromString("Test Automation Using Galen Framework");
            //Adding layout report to the test report
            test.getReport().layout(layoutReport, "Verify logo present and log image comparison");
            tests.add(test);
            //Exporting all test report to html
            new HtmlReportBuilder().build(tests, "target/galen-html-reports");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @AfterClass
    public void tearDown() {
        //Close and Quit the driver.
        driver.quit();
    }

}

Шаг 5: Создание отчета:

Как только вы запустите приведенный выше код, отчет будет сгенерирован в разделе цель ->гален-html-отчеты открыты reports.html который возвращает следующий отчет

Нажмите на метку гиперссылки слева.

Вы найдете подробный отчет и сведения о сбоях, показанные на странице “Сводка”. Нажмите на любую из ссылок, например, я нажал на видимую ссылку, и она подтвердила представленный ниже логотип.

Вот еще один пример, когда я нажал на css “цвет фона”, цвет фона был подтвержден как черный.

Устранение неполадок

  • После настройки проекта, в случае, если вы получите какую-либо ошибку в IntelliJ, пожалуйста, дважды проверьте, щелкнув правой кнопкой мыши Проект-> Открыть Настройки модуля-> Модули-> Выберите JDK версии 1.8
  • Мы должны поддерживать правильные отступы в файле спецификации, иначе это может привести к ошибке. Пожалуйста, посетите веб-сайт для получения более подробной информации.

Пожалуйста, посетите веб-сайт для получения более подробной информации.

Это было все, что вам нужно знать для начала работы с автоматизацией браузера использования платформы Galen для выполнения кроссбраузерного тестирования макета вашего веб-сайта или веб-приложения. Не стесняйтесь поделиться своим мнением об этом уроке в разделе комментариев ниже. Я был бы признателен, если у вас есть какие-либо вопросы ко мне или если вы поделитесь своим опытом работы с Galen framework для тестирования кроссбраузерной компоновки до сих пор? Счастливого тестирования!

Первоисточник: lambdatest.com

Оригинал: “https://dev.to/lambdatesting/using-galen-framework-for-automated-cross-browser-layout-testing-3g77”