Я хочу знать, какое именно программное обеспечение мне следует установить, прежде чем запускать проект автоматизации. Веб-драйвер Selenium, selenium java, testNG, junit были установлены, но с этим тоже есть некоторые проблемы. 1. Java-файл Selenium не содержит больше JAR-файлов, как люди показывают в своих видеоуроках. 2. Когда я собираюсь запустить свой проект как testNG, eclipse сказал, что брандмауэр Windows заблокировал некоторые функции этого приложения.
TestNG Тесты не найдены. Ничего не запускалось при выполнении автоматических тестов с использованием Selenium через TestNG
Ответы (5)
Это сообщение об ошибке...
[TestNG] No tests found. Nothing was run
... подразумевает, что TestNG не нашел никаких @Test
для выполнения.
Ваша основная проблема заключается в том, что вы импортировали Test
как:
import org.testng.annotations.Test;
Но в вашем блоке кода нет @Test
как такового, но есть @BeforeClass
. Поскольку тестов нет, TestNG не находит ни одного теста для выполнения.
Решение
Самым простым решением было бы изменить аннотацию @BeforeTest
на @Test
и выполнить свой тестовый пример / набор тестов.
Поскольку ваш основной метод был помещен в аннотацию перед классом. Основной метод не принимает никаких аннотаций. Если вы предоставите какую-либо аннотацию TestNG основному методу, возникнет эта ошибка. При использовании TestNG вы не пишете основной метод. Дело не в том, что основной метод вместе с другими тестами с аннотацией @test не будет выполняться, просто основной метод не принимает никаких аннотаций. Только неосновные методы принимают аннотации TestNG. Если у вас есть обычный основной метод Java и другие методы @test в том же классе, программа будет скомпилирована и успешно запущена, но основной метод будет проигнорирован и вообще не запустится. Будут работать только другие методы @test.
Во-первых, аннотация @BeforeClass не является @Test, она работает только как подсказка или руководство для выполнения фактического @Test. Замените @BeforeClass на @Test и снова замените (public static void main(String[]args) на public void guru99() или public static void guru99().
Я столкнулся с этой ошибкой, когда мои методы test
(@Test
с комментариями) в моем тестовом классе Groovy TestNG были объявлены с использованием синтаксиса метода def
из Groovy. TestNG действительно позволяет вам писать свои тестовые методы в Groovy, но вызывает раздражение, если они не имеют обычного синтаксиса, объявленного в Java.
Не это:
@Test
def testDoWork {
...
Сделайте следующее:
@Test
public void testDoWork {
...
Верните его к синтаксису @Test public void testMethodName() {
, и все будет хорошо.
Эта ошибка также может возникать, когда мы пытались запустить тестовый набор TestNG без исправления ошибки пути сборки в проекте (jar testNG был добавлен после настройки проекта..)
Таким образом, вы не получите ошибку времени компиляции для любых используемых аннотаций TestNG, но при попытке запустить код вы попадете в эту ошибку, поскольку Project не сможет построить свойства TestNG, пока вы не избавитесь от ошибок пути сборки....
Разрешение:
1. проверьте правильность использования аннотаций.
2. проверьте, существует ли в проекте какая-либо ошибка пути сборки. если да, то решите проблему в вашем пути сборки, а затем попробуйте еще раз.