Хобрук: Ваш путь к мастерству в программировании

Нужен правильный шаг для создания файла Bat с использованием (TestNG.xml + Maven)

Мне интересно создать правильный Bat-файл ,

Я использую Maven + Selenium(TestNG).

Я пробовал много разных способов разрешения исключения, но это одно из наиболее распространенных исключений: Не удалось найти или загрузить основной класс / java.lang.ClassNotFoundException

В моем проекте Maven нет папки bin или lib, и мне это интересно. Вызывать ли библиотеку из установки .m2(Maven).

Чтобы вызвать файл класса, в моем файле проекта maven .class находится что-то вроде: E:\testBatchDemo\target\classes\mytest

Вот пример того, что я пробовал до сих пор,

set projectLocation=E:\testBatchDemo
cd %projectLocation%   
set classpath=E:\testBatchDemo\target\classes\mytest; 
java -cp %classpath% C:\Users\Desktop-pc\.m2\repository\org\testng\testng\6.14.3\testng-6.14.3.jar; C:\Users\Desktop-pc\.m2\repository\org\seleniumhq\selenium\selenium-java\3.12.0\selenium-java-3.12.0.jar; org.testng.TestNG %projectLocation%\testng.xml
pause

Кто-нибудь может помочь, какую библиотеку нужно вызвать или как я могу добиться правильного пути .class.


Ответы:


1

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

  • Мне интересно создать правильный файл batch (т. е. .bat): по сути, Maven  – это инструмент сборки, который широко работает в сочетании с pom.xml и не требует никакого пакетного файла Windows.
  • Далее, если ваш пример использования заключается в передаче пакетного файла Windows в Jenkins для непрерывной интеграции, то вам необходимо проверить этот шаг, если пакетный файл Windows может запустить выполнение вашего < em>Тестовый набор.
  • Однако Jenkins также может запустить выполнение вашего Test Suite через pom.xml и Maven.

Теперь ваш usecase должен соответствовать одному из вышеупомянутых требований, как указано ниже:

  • Пакетный файл Windows + TestNG
  • Дженкинс + TestNG
  • Дженкинс + Мейвен

Поскольку вы много говорили о пакетном файле Windows, вот соответствующие детали в соответствии с первым вариантом Пакетный файл Windows + TestNG:

  • Напишите простой блок кода с аннотацией @Test для TestNG следующим образом:

    package demoJenkins;
    
    import org.testng.annotations.Test;
    
    public class DemoJenkinsJob 
    {
    
        @Test
        public void testJenkins()
        {
    
            System.out.println("Welcome to Jenkins World");
        }
    }
    
  • Запустить от имени TestNG Test

  • При успешном выполнении создается преобразование с использованием TestNG -> Convert to TestNG и testng.xml.
  • testng.xml будет выглядеть так:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Suite">
      <test name="Test">
        <classes>
          <class name="demoJenkins.DemoJenkinsJob"/>
        </classes>
      </test> <!-- Test -->
    </suite> <!-- Suite -->
    
  • Получите абсолютное местоположение проекта из вашей IDE (например, Eclipse), перейдите в подкаталог, создайте каталог lib

  • Скопируйте все соответствующие jar-файлы и библиотеки (Selenium и TestNG jar-файлы) в каталог lib.

    • selenium-server-standalone-3.13.0.jar
    • org.testng_6.14.2.r201802161450.jar
    • com.beust.jcommander_1.72.0.jar
    • org.apache-extras.beanshell.bsh_2.0.0.b6.jar
    • org.yaml.snakeyaml_1.17.0.jar
  • Через CLI перейдите в Каталог проекта и укажите следующий путь к классам:

    >set classpath=<Project Directory>\bin;<Project Directory>\lib\*;
    
  • Через CLI выполните testng.xml следующим образом:

    Project_Directory>java org.testng.TestNG testng.xml
    
  • При успешном выполнении в Каталоге проекта создайте новый текстовый документ и добавьте следующий код:

    java -cp bin;lib/* org.testng.TestNG testng.xml
    
  • Сохраните файл как run.bat.

  • Запустите пакетный файл Windows run.bat и убедитесь, что он выполняет Test Suite должным образом.

Обновлять

Согласно вашему вопросу и последующему комментарию,

  • Когда вы используете TestNG и/или Maven, этот фреймворк/инструмент сборки хранит все соответствующие jar в соответствующих местах. Но если вы намереваетесь настроить buildpath вручную, вам необходимо вручную создать каталог lib и сохранить копию соответствующих jars.

  • Возможно, вам не нужно создавать каталог bin вручную, так как при успешной компиляции вашей программы Java ваша программа автоматически создаст bin и сохранит файл class перед выполнением.

28.06.2018
  • Спасибо за помощь. Буду выполнять поэтапно. Не могли бы вы проверить папку Bin, которая обычно содержит файл .class? в моем случае папки bin нет, поэтому я звоню в целевую папку. 28.06.2018
  • @IshitaShah Обновил мой ответ, дайте мне знать, если он отвечает на ваш вопрос. 29.06.2018
  • Я могу выполнить Test Suite, вызвав pom.xml 02.07.2018
  • Новые материалы

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

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

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..


    © 2024 hobruk.ru, Хобрук: Ваш путь к мастерству в программировании