java - libreria - Cómo ejecutar TestNG desde la línea de comandos
testng c# (8)
Deberá usar el punto y coma como delimitador al especificar la ruta del archivo jar y class en Windows. Esto solucionó el problema.
Suponiendo que el archivo de clase está bajo C :.
java -cp ".;C:/testng.jar" org.testng.TestNG testing.xml
¿Cómo ejecuto exactamente un proyecto .java TestNG desde una línea de comandos?
He leído la documentación de TestNG y he intentado lo siguiente sin éxito:
C:/projectfred> java org.testng.TestNG testng.xml
... con el siguiente archivo testng.xml en mi proyecto:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="SuiteAll" verbose="1">
<test name="TestAll">
<packages>
<package name="com.project.fred.tests"/>
</packages>
</test>
</suite>
El error que recibo es este:
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.
Obviamente, no estoy haciendo referencia a TestNG correctamente en mi línea de comandos. ¿Alguien sabe cómo hacer que esto funcione?
El siguiente comando funciona para mí. Siempre que todos los frascos requeridos, incluido el frasco testng, se mantengan dentro de lib.
java -cp "lib/*" org.testng.TestNG testng.xml
El uso de ";" como delimitador en el problema de Windows se resolvió.
java -cp "path of class files; testng jar file path" org.testng.TestNG testng.xml
ex:-
java -cp "./bin;../common_lib/*;" org.testng.TestNG testng.xml
Me había enfrentado a algún problema porque descargué el complemento TestNG de Eclipse. Aquí lo que hice para hacer el trabajo:
Después de agregar TestNG a su biblioteca de proyectos, cree una carpeta en los nombres de sus proyectos como lib (el nombre puede ser cualquier cosa):
Vaya a la ubicación "C: / Archivos de programa / Eclipse / eclipse-java-mars-R-win32-x86_64 / eclipse / y copie el archivo com.beust.jcommander_1.72.0.jar y org.testng_6.14.2.r20180216145.jar a la carpeta creada (lib).
Nota: los archivos son testng.jar y jcommander.jar
- Ahora inicie CMD, navegue a su directorio de proyecto y luego escriba:
Java -cp C: / Users / User123 / TestNG / lib *; C: / Users / User123 / TestNG / bin org.testng.TestNG testng.xml
Eso es !
Déjame saber si tienes más preocupaciones.
Muchas gracias, fue realmente muy útil. Pude ejecutar mis clases de TestNG usando la línea de comandos, pero aún así me gustaría resumir las cosas una vez más como sigue ...
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
Esto debería ejecutar sus casos de testNG.
Necesitas tener el testng.jar
bajo classpath.
pruebe C:/projectfred> java -cp "path-tojar/testng.jar:path_to_yourtest_classes" org.testng.TestNG testng.xml
Actualizar:
Bajo Linux ejecuté este comando y sería algo similar en Windows
test/bin# java -cp ".:../lib/*" org.testng.TestNG testng.xml
Estructura de directorios:
/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.
Una vez que compilo todas las fuentes van bajo el directorio bin. Por lo tanto, en el classpath, necesito especificar el contenido del directorio bin y todas las bibliotecas como testng.xml, loggers, etc. aquí. También copie testng.xml en la carpeta bin si no desea especificar la ruta completa donde está disponible el testng.xml.
/bin
-- testng.xml
-- testclasses
-- Properties files if any.
/lib
-- testng.jar
-- log4j.jar
Update
:
Vaya a la carpeta MyProject
y escriba ejecutar el comando java como se muestra a continuación:
java -cp ".: C:/Program Files/jbdevstudio4/studio/plugins/*" org.testng.TestNG testng.xml
Creo que el archivo testng.xml se encuentra en C:/Users/me/workspace/MyProject
lo contrario, indique la ruta completa para el archivo testng.xml
Ok, después de 2 días de intentar averiguar por qué no pude ejecutar el ejemplo desde
http://www.tutorialspoint.com/testng/testng_environment.htm el siguiente código no me funcionó
C:/TestNG_WORKSPACE>java -cp "C:/TestNG_WORKSPACE" org.testng.TestNG testng.xml
La solución para esto es la siguiente: Llegué a la siguiente conclusión: primero instale eclipse y descargue el complemento TestNG. Después de eso, siga las instrucciones del tutorial para crear y compilar la clase de prueba desde cmd usando javac, y agregue el testng.xml. Para ejecutar el testng.xml en Windows 10 cmd, ejecute la siguiente línea:
java -cp C:/Users/Lenovo/Desktop/eclipse/plugins/org.testng.eclipse_6.9.12.201607091356/lib/*;C:/Test org.testng.TestNG testng.xml
para aclarar: C:/Users/Lenovo/Desktop/eclipse/plugins/org.testng.eclipse_6.9.12.201607091356/lib/*
La ruta anterior representa la ubicación de jcommander.jar y testng.jar que descargó al instalar el TESTNG plugin para eclipse. La ruta puede variar, así que asegúrese de abrir la ubicación de instalación de eclipse, vaya a los complementos y busque jcommander.jar. Luego copie esa ubicación y luego agregue * para seleccionar todos los .jars necesarios.
C:/Test
La ruta anterior representa la ubicación del testing.xml en su proyecto. Después de obtener todos los caminos necesarios, agréguelos usando ";".
Espero haber sido de ayuda para algunos de ustedes :)
Prepare el archivo MANIFEST.MF
con el siguiente contenido
Manifest-Version: 1.0
Main-Class: org.testng.TestNG
Empaque todas las clases de prueba y dependencia en el mismo jar, digamos tests.jar
jar cmf MANIFEST.MF tests.jar -C folder-with-classes/ .
Observe que se arrastra ".", Reemplace folder-with-classes/
con el nombre o ruta de la carpeta correspondiente.
Crea testng.xml
con contenido como abajo
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Tests" verbose="5">
<test name="Test1">
<classes>
<class name="com.example.yourcompany.qa.Test1"/>
</classes>
</test>
</suite>
Reemplace com.example.yourcompany.qa.Test1
con ruta a su clase de prueba.
Ejecuta tus pruebas
java -jar tests.jar testng.xml