Как запустить TestNG из командной строки

Как именно я запускаю проект .java TestNG из командной строки?

Я прочитал документацию TestNG и пробовал следующее безрезультатно:

C:\projectfred> java org.testng.TestNG testng.xml 

… со следующим тестовым файлом testng.xml в моем проекте:

         

Ошибка, которую я получаю, такова:

 Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG Caused by: java.lang.ClassNotFoundException: org.testng.TestNG at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: org.testng.TestNG. Program will exit. 

Очевидно, что я неправильно ссылаюсь на TestNG в своей командной строке. Кто-нибудь знает, как заставить это работать?

Вы должны иметь testng.jar под classpath.

попробуйте C:\projectfred> java -cp "path-tojar/testng.jar:path_to_yourtest_classes" org.testng.TestNG testng.xml

Обновить:

Под linux я выполнил эту команду, и это будет нечто похожее на Windows либо

 test/bin# java -cp ".:../lib/*" org.testng.TestNG testng.xml 

Структура каталога:

 /bin - All my test packages are under bin including testng.xml /src - All source files are under src /lib - All libraries required for the execution of tests are under this. 

Как только я скомпилирую все источники, они перейдут в каталог bin. Таким образом, в classpath мне нужно указать содержимое каталога bin и всех библиотек, таких как testng.xml, loggers и т. Д. Здесь. Также скопируйте файл testng.xml в bin, если вы не хотите указывать полный путь, где доступен testng.xml.

  /bin -- testng.xml -- testclasses -- Properties files if any. /lib -- testng.jar -- log4j.jar 

Update :

Перейдите в папку MyProject и введите команду java, как показано ниже:

 java -cp ".: C:\Program Files\jbdevstudio4\studio\plugins\*" org.testng.TestNG testng.xml 

Я считаю, что файл testng.xml находится под C:\Users\me\workspace\MyProject если нет, пожалуйста, дайте полный путь для файла testng.xml

После 2 дней попытки выяснить, почему я не смог запустить пример из

http://www.tutorialspoint.com/testng/testng_environment.htm следующий код не работал для меня

 C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml 

Исправление для него следующее: я пришел к следующему выводу: сначала установите eclipse и загрузите плагин TestNG. После этого следуйте инструкциям из учебника по созданию и компиляции тестового classа из cmd с помощью javac и добавьте testng.xml. Для запуска testng.xml в Windows 10 cmd выполните следующую строку:

 java -cp C:\Users\Lenovo\Desktop\eclipse\plugins\org.testng.eclipse_6.9.12.201607091356\lib\*;C:\Test org.testng.TestNG testng.xml 

для уточнения: C:\Users\Lenovo\Desktop\eclipse\plugins\org.testng.eclipse_6.9.12.201607091356\lib\* Путь выше представляет местоположение jcommander.jar и testng.jar, которые вы загрузили, установив TESTNG плагин для eclipse. Путь может меняться так, чтобы быть уверенным, просто откройте место установки eclipse, перейдите к плагинам и найдите jcommander.jar. Затем скопируйте это местоположение и после этого добавьте *, чтобы выбрать все необходимые .jars.

 C:\Test 

Путь выше представляет местоположение test.xml в вашем проекте. Получив все необходимые пути, добавьте их, используя «;».

Надеюсь, что я был полезен некоторым из вас, ребята 🙂

Большое спасибо, это было очень полезно. Мне удалось запустить мои classы TestNG с помощью командной строки, но все же я хотел бы завершить все это в последний раз следующим образом.

 1) Set the classpath for the testng.jar in the environment variables (either manually or via command line). 2) Create a new folder "MyTest". 3) Compile all your classes(testNG+java) and put them(.class files ) in a new folder "Mytest\bin". 4) Put your 'testng.xml' and '.properties' files to "Mytest\bin" again. 5) Put all the .jar files (testng,selenium... etc) in a new folder "Mytest\lib". 6) Browse to the folder "bin" via command line and run the command java -cp "..\lib\*;" org.testng.TestNG testng.xml 

это должно запускать ваши тесты.

Подготовьте файл MANIFEST.MF со следующим содержимым

 Manifest-Version: 1.0 Main-Class: org.testng.TestNG 

Упакуйте все classы тестов и зависимостей в одну банку, скажем, tests.jar

 jar cmf MANIFEST.MF tests.jar -C folder-with-classes/ . 

Обратите внимание на «.», Замените folder-with-classes/ на правильное имя папки или путь.

Создайте testng.xml с содержимым, как testng.xml ниже.

          

Замените com.example.yourcompany.qa.Test1 на путь к вашему тестовому classу.

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

 java -jar tests.jar testng.xml 

Использование «;» в качестве разделителя на проблемах Windows было разрешено.

 java -cp "path of class files; testng jar file path" org.testng.TestNG testng.xml 

например: –

 java -cp ".\bin;..\common_lib\*;" org.testng.TestNG testng.xml 

Вам нужно будет использовать точку с запятой в качестве разделителя при указании пути к файлу jar и файла classа в windowsх. Это решило проблему.
Предполагая, что файл classа находится под C :.

 java -cp ".;C:\testng.jar" org.testng.TestNG testing.xml 

Я столкнулся с некоторыми проблемами, потому что загрузил плагин TestNG из Eclipse. Вот что я сделал, чтобы выполнить задание:

  1. После добавления TestNG в вашу библиотеку проектов создайте одну папку в именах Project как lib (имя может быть любым):

  2. Перейдите в папку «C: \ Program Files \ Eclipse \ eclipse-java-mars-R-win32-x86_64 \ eclipse \ plugins» и скопируйте файл com.beust.jcommander_1.72.0.jar и org.testng_6.14.2.r20180216145.jar к созданной папке (lib).

Примечание. Файлы – testng.jar и jcommander.jar

  1. Теперь запустите CMD и перейдите в каталог проекта, а затем введите:
    Java-cp C: \ Users \ User123 \ TestNG \ lib *; C: \ Users \ User123 \ TestNG \ bin org.testng.TestNG testng.xml

Это оно !
Дайте мне знать, если у вас есть еще какие-то проблемы.

Ниже команда работает для меня. При условии, что все необходимые банки, включая тестовую банку, хранятся внутри lib.

 java -cp "lib/*" org.testng.TestNG testng.xml 
  • как преобразовать строку в дату в mysql?
  • Как передать переменные из awk в команду оболочки?
  • Utils для чтения текстового файла ресурсов в String (Java)
  • Как превратить String в InputStreamReader в java?
  • Игнорирование акцентированных букв в сравнении строк
  • Поиск строки Java, игнорирующий акценты
  • Получить версию java из командного файла
  • Как прочитать содержимое файла в строке в C?
  • Как разбить строку, разделенную запятой?
  • Команда не обнаружила ошибку в присвоении переменной Bash
  • ef4 причина Циркулярная ссылка в веб-службе
  • Давайте будем гением компьютера.