Подтвердить что ты не робот

TestNG ERROR Не удается найти класс в classpath

Я пытаюсь запустить testng через командную строку, и у меня есть следующие вещи в пути к классам:

  • testng jar, jar скомпилированного файла тестового файла и другие необходимые банки.
  • testng.xml указывает на соответствующий класс в иерархии.

Testng не запускается вместо этого:

[TestNG] [ERROR]  Cannot find class in classpath: (name of testcase file)

Я столкнулся с той же проблемой и добавил.

В classpath и он решил проблему. Но на этот раз это, похоже, не решило. Любые обходные пути? Спасибо заранее.

4b9b3361

Ответ 1

У меня просто была эта проблема, и я уверен, что это ошибка в TestNG Plugin для eclipse, так как я был в состоянии выполнить мои тесты из командной строки просто отлично.

Исправление, которое, кажется, работает для меня и других, - это просто очистить ваш проект (ProjectClean). Один человек должен был переустановить весь плагин.

Ответ 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 → Щелкните правой кнопкой мыши на ProjectBuild PathConfigureJava Build Path.

Добавить библиотекуJRE lib.

Добавьте в систему последнюю версию Java lib, которую вы используете, удалите другие старые библиотеки JRE и сохраните ее.