通过TestNG使用Selenium执行自动化测试时,“未找到测试NG。什么都没有运行”

时间:2019-06-26 09:54:54

标签: java selenium selenium-webdriver testng testng-eclipse

image

我想知道在运行自动化项目之前应该安装哪些确切的软件。安装了Selenium Web驱动程序,Selenium Java,testNG,junit,但与此同时也存在一些问题。 1. Selenium Java文件没有像人们在其视频教程中显示的那样具有更多JAR文件。 2.当我要以testNG运行项目时,eclipse表示Windows防火墙已阻止了该应用程序的某些功能。

5 个答案:

答案 0 :(得分:1)

此错误消息...

TestFile

...表示 TestNG 没有找到要执行的任何[TestNG] No tests found. Nothing was run

您的主要问题是,尽管您将@Test导入为:

Test

但是您的代码块本身没有import org.testng.annotations.Test; ,但包含@Test。由于没有没有测试,因此TestNG找不到要执行的任何 Test


解决方案

最简单的解决方案是使用 @BeforeClass 更改@BeforeTest批注,然后执行 Test case / Test Suite em>。

答案 1 :(得分:0)

因为您的主要方法已放置在beforeclass注释下。 main方法不带任何注释。如果向主方法提供任何TestNG批注,则会引发此错误。 使用TestNG时,您无需编写main方法。并不是main方法以及带有@test注释的其他测试不会运行,只是main方法没有任何注释。只有非主要方法带有TestNG批注。 如果您在同一个类中有一个常规的java main方法和其他@test方法,则程序将成功编译并运行,但是main方法将被忽略并且根本不会运行。只会运行其他@test方法。

答案 2 :(得分:0)

首先,注释@BeforeClass不是“ @Test”,它仅作为执行实际“ @Test”的线索或指导。将@BeforeClass替换为@Test,然后 再次将(public static void main(String [] args)替换为“ public void guru99()”或“ public static void guru99()”。

答案 3 :(得分:0)

当我的 Groovy TestNG 测试类中的 test@Test 注释)方法使用 Groovy 的 def 方法语法声明时,我遇到了此错误。 TestNG 确实让您可以在 Groovy 中编写测试方法,但是如果它们没有通常的 Java 声明语法,它就会抱怨。

不是这个:

@Test
def testDoWork {
   ...

这样做:

@Test
public void testDoWork {
   ...

将其设置回 @Test public void testMethodName() { 语法,您会再次好起来。

答案 4 :(得分:0)

当我们在没有修复项目中构建路径错误的情况下尝试运行TestNG测试用例时也可能发生此错误。(在项目配置后添加了testNG jar..)

因此,对于使用的任何 TestNG 注释,您都不会收到编译时错误,但是在尝试运行代码时,您将陷入此错误,因为在您摆脱构建路径错误之前,Project 将无法构建 TestNG 的属性。 ..

分辨率:

1.检查注解是否正确使用。

2.检查项目中是否存在构建路径错误。如果是,则解决构建路径中的问题,然后再试一次。