Как запустить TestNG из командной строки
Как именно я запускаю проект .java TestNG из командной строки?
Я прочитал документацию TestNG и пробовал следующее безрезультатно:
C:\projectfred> java org.testng.TestNG testng.xml
… со следующим тестовым файлом testng.xml в моем проекте:
- Определите, является ли строка C допустимым int в C
- Скрыть ввод в командной строке
- Как напечатать полное значение длинной строки в gdb?
- Обращение строки в C
- Как я могу получить значение свойства string через Reflection?
Ошибка, которую я получаю, такова:
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 в своей командной строке. Кто-нибудь знает, как заставить это работать?
- C / C ++: оптимизация указателей на строковые константы
- Когда использовать StringBuilder в Java
- Java: String split (): Я хочу, чтобы он включал пустые строки в конце
- Что рекурсивно распространяется на все файлы в текущем каталоге?
- Алгоритм поиска нескольких совпадений строк
- Выделить выбранную строку ListView
- В C, почему я не могу назначить строку массиву символов после ее объявления?
- Как объявить и использовать логические переменные в сценарии оболочки?
Вы должны иметь 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. Вот что я сделал, чтобы выполнить задание:
-
После добавления TestNG в вашу библиотеку проектов создайте одну папку в именах Project как lib (имя может быть любым):
-
Перейдите в папку «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
- Теперь запустите 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