TestNG ERROR Не удается найти класс в classpath
Я пытаюсь запустить testng через командную строку, и у меня есть следующие вещи в пути к классам:
-
testng
jar, jar скомпилированного файла тестового файла и другие необходимые банки.
-
testng.xml
указывает на соответствующий класс в иерархии.
Testng не запускается вместо этого:
[TestNG] [ERROR] Cannot find class in classpath: (name of testcase file)
Я столкнулся с той же проблемой и добавил.
В classpath
и он решил проблему. Но на этот раз это, похоже, не решило. Любые обходные пути? Спасибо заранее.
Ответы
Ответ 1
У меня просто была эта проблема, и я уверен, что это ошибка в TestNG Plugin для eclipse, так как я был в состоянии выполнить мои тесты из командной строки просто отлично.
Исправление, которое, кажется, работает для меня и других, - это просто очистить ваш проект (Project
→ Clean
). Один человек должен был переустановить весь плагин.
Ответ 2
Если ваше имя пакета FabFurnishPackage, а имя вашего класса - регистрация, тогда код в xml должен быть
<classes>
<class name="FabFurnishPackage.registration">
</classes>
[TestNG] [ОШИБКА] Не удается найти класс в classpath: проблема с регистрацией устранена...
Ответ 3
Просто сделайте Eclipse > Project > Clean и снова запустите тестовые примеры. Он должен работать.
Что он делает в фоновом режиме, так это то, что он выберет mvn eclipse: очистите в каталоге проекта, который удалит ваши файлы .project и .classpath, и вы также можете сделать mcln eclipse: eclipse - это регенерирует ваш .project и. файлы classpath. Таким образом, добавление желаемого класса в путь к классам.
Ответ 4
Я столкнулся с той же проблемой, и я попытался сделать это как показано ниже.
- Очистите проект (щелкните правой кнопкой мыши по
pom.xml
и очистите)
- И обновите проект maven (Project > Maven > Update Maven Project)
Это решило проблему.
Ответ 5
Перед запуском команды для файла testng.xml из командной строки, пожалуйста, проверьте следующее, если вы их не заметили.
- В командной строке убедитесь, что вы переходите в папку, в которую вы поместили файл testng.xml.
- после перехода к этому,
set CLASSPATH
и включите местоположение файла баннера testng, местоположение файла jar selenium-server (если вы работаете с selenium webdriver), местоположение папки bin вашего проекта, которое содержит все файлы .class вашего проект.
например, set CLASSPATH=C:\Selenium\testng-5.8-jdk15.jar;C:\Selenium\selenium-server-standalone-2.31.0.jar;C:\SeleniumTests\YourProject\bin
- Теперь запустите команду
java org.testng.TestNG testng.xml.
Я был в той же ситуации, но все это работало для меня.
Ответ 6
Добавить в pom:
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
<testSourceDirectory>${basedir}/test</testSourceDirectory>
(...)
<plugins>
(...)
</plugins>
</build>
Ответ 7
убедитесь, что у вашего пакета suite.xml не должно быть расширения .java
ex:
<test name="Test C1">
<classes>
<class name="com.taxi.suiteC.TestCase_C1" ></class>
</classes>
</test>
Ответ 8
Обновите плагин TestNG и он будет работать.
Ответ 9
Очистите проект (Project → Clean), даже если это не сработало, просто удалите целевой каталог для этого модуля, а также другого модуля, от которого зависит ваш проект.
Ответ 10
Пожалуйста, убедитесь, что вы указали свой класс/пакет в файле TestNG.xml.
<test name="test1" preserve-order="false">
<classes>
<class name="ABC"/>
</classes>
</test>
Ответ 11
Если ни один из приведенных выше ответов не работает, вы можете запустить тест в IDE, получить путь к классу и использовать его в своей команде. Пример: если вы используете Intellij IDEA, вы можете найти его в верхней части консоли (скриншот ниже). ![Intellij Console]()
Нажатие на выделенную часть раскрывает и отображает полный путь к классу.
вам нужно удалить ссылки на jar файлы внутри папки: JetBrains\IntelliJ IDEA Community Edition VERSION
java -cp "path_copied" org.testng.TestNG testng.xml
Если проект является проектом Maven, вы можете добавить плагин maven surefire и указать путь к файлу XML пакета testng, перейти в каталог проекта и выполнить команду: mvn clean install test
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>config/testrun_config.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
Ответ 12
Мне пришлось сделать файл jar из моих тестовых классов и добавить его в мой путь к классу. Раньше я добавлял свой файл тестового класса в путь класса, а затем я получил ошибку выше. Поэтому я создал банку и добавил к пути к классам.
например
java -cp "my_jars/*" org.testng.TestNG testing.xml
Ответ 13
Проверьте иерархию классов. Если пакет отсутствует в вашем классе, вы получите эту ошибку. Итак, попробуйте создать новый класс тестирования, выбрав пакет.
Ответ 14
После изменения пути вывода TestNG (Project Properties → TestNG → Output Directory), это сработало для меня.
Ответ 15
У меня просто была эта проблема, потому что была проверена опция проверки пропуска в конфигурации запуска. сделал это непроверенным и строит, затем запустил testNg, работал.
Ответ 16
Я получал ту же ошибку - не могу найти класс в пути к классам:
Решение: я допустил следующие ошибки:
- Мой класс не был под любым пакетом. поэтому я создал пакет, а затем создал свой класс под этим пакетом.
- Я не упомянул полный путь в XML файле. ех., Поэтому я также исправил его.
- Затем я щелкните правой кнопкой мыши на файле xml и запустил его как TestNG, выполнив мою программу успешно.
Ответ 17
В моем случае структура пакета была неправильной, это было как папки и подпапки. Я удалил этот проект и снова импортировал его с изменением соответствующего jre. После этого это сработало для меня.
например Структура папок - TestProject -TestSuite1 Структура пакета - TestProject.TestSuite1
Ответ 18
i столкнулось с тем же решением проблемы, вам нужно проверить файл testng, ваш класс, созданный под пакетом, в этом случае класс не найден через Test NG. выполните нижеприведенные шаги, просто преобразуйте свой проект в Test NG и запишите /rplace с новым файлом testNG.
Снова запустите этот TestNG, в этом случае он работает над моим случаем,
Ответ 19
Если у вас открыт проект в Eclipse (Mars) IDE:
Щелкните правой кнопкой мыши по проекту в eclipse
Нажмите на TestNG
Нажмите "Преобразовать в TestNG"
Это создает новый файл testng.xml и предлагает вам перезаписать существующий (!!! Warning, это приведет к удалению вашего предыдущего testng.xml!!!).
Нажмите "Да".
Запустите как тестовую сборку Maven.
Ответ 20
Я пробовал все предложения выше, и это не сработало для моего дела. Оказывается, мой путь построения проекта имеет ошибку (один из зависимых банок не может быть найден). После исправления этой ошибки testng снова работает в моем Eclipse.
Ответ 21
Чтобы избежать ошибки
Невозможно найти класс в пути к классам: (имя файла тестового файла)
вам нужно удерживать класс Runner и Test в одном месте. Я имею в виду src и тестовые папки.
Ответ 22
простым решением было удалить расширение .java из имени пути к классу. и это сработало для меня
Ответ 23
Я столкнулся с той же проблемой. Всякий раз, когда я запускал свой тест, он продолжал говорить, что классы не найдены в пути к классам. Я попытался исправить файл testng.xml, очистить проект и почти все ответы здесь, но никто не работал. Наконец, я проверил свои ссылки на библиотеки в пути сборки, и было 34 недопустимых библиотек, оказалось, что я переименовал одну из папок с пути, из которого я взял файлы jar. Я исправил путь, и тест успешно прошел.
Таким образом, может быть полезно проверить, есть ли какие-либо ошибки в указанных файлах jar, прежде чем пытаться устранить эту проблему другими методами.
Ответ 24
Я столкнулся с подобной проблемой, когда попытался выполнить мой файл Testng.xml.
Чтобы исправить это, вы должны перенести свой файл класса из pkg по умолчанию в другой pkg; т.е. создать новый pkg и разместить там файл класса
Ответ 25
Я столкнулся с той же проблемой,
Убедитесь, что в папке src
создан файл .java
и xml
.
Создал класс TestNG
, щелкнув правой кнопкой мыши по папке src
. Работает отлично!
Ответ 26
Когда я преобразовал свой проект с базой данных по умолчанию и классом с именем add,
to testng.xml.
Он был преобразован как:
<classes>
<class name=".addition"/>
</classes>
и выбрасывает ошибку, которую класс не может быть загружен.
Если я удалю. перед добавлением код работает нормально.
Поэтому будьте осторожны с пакетом по умолчанию.
Ответ 27
Я тоже столкнулся с той же проблемой. Я попытался установить путь класса по-разному, и он работает для меня:
set classpath="projectpath"\bin;"projectpath"\lib\*
нажмите Enter
java org.testng.TestNG testng.xml
снова нажмите Enter
Надеюсь, это сработает!
Ответ 28
Я столкнулся с такой же проблемой, но после тщательного изучения. Я обнаружил, что неправильно задал путь класса.
вот что я делаю.
1-set class path = путь для lib *;
2- java org.testng.TestNg testng.xml
Вывод: не удается найти класс в classpath: tests.firstmodule
здесь firstmodule - мой первый класс.
Решение
1-set class path = путь для bin; Lib *;
2- java org.testng.TestNg testng.xml
Ответ 29
Эта проблема возникает из-за некоторой ошибки сборки.
1. Очистить проект - если проблема не решена
2. Обновление проекта maven - Если все еще не разрешено
3. Перейдите к пути создания из (щелкните правой кнопкой мыши по объекту project- > properties → java build path)
теперь проверяем файлы библиотеки. если вы видите ошибку, разрешите ее, добавив отсутствующий файл в указанное место.
Я столкнулся с той же проблемой, после множества подходов я нашел 3-е решение, чтобы устранить эту проблему.
Ответ 30
Eclipse → Щелкните правой кнопкой мыши на Project → Build Path → Configure → Java Build Path.
Добавить библиотеку → JRE lib.
Добавьте в систему последнюю версию Java lib, которую вы используете, удалите другие старые библиотеки JRE и сохраните ее.