日食:使用testNG 7而没有内置maven?类路径问题



我正在使用eclipse IDE在java的Windows上编写一些testCases,版本:2019-06(4.12.0),Selenium WebDriver 4.0.0,testNG 7.0.0-beta7和PageFactory POM。

我无法在 eclipse 或 cmd 行中构建我的测试用例,因为 eclipse 无法识别我导入的 testNg 库。TestNG在我的项目中安装得很好。

我认为这是一个类路径问题。我想知道是因为我没有使用 Maven(我暂时不必使用它),还是最新版本的 testNG lib 存在一些问题?

我使用 testNG.xml 的 java 测试在我的 testNg 版本:6.14 中在 eclipse 中工作。我尝试用我的cmd行执行它,我有一个空指针错误错误。在以前的testNG:https://github.com/cbeust/testng/pull/1811 版本中有一个例外的错误,他们在最新版本(7.0.0)上修复了它。

我安装了新版本的testNG,并测试了我在网络上找到的所有内容,但没有任何效果。我无法再构建我的测试了。

CreateSingleOrder_BondsPage.java

import org.openqa.selenium.Keys;
public class CreateSingleOrder_BondsPage {
WebDriver driver;
public CreateSingleOrder_BondsPage(WebDriver driver) {
// TODO Auto-generated constructor stub
this.driver = driver;
}
@FindBy(id="M1_3") WebElement tabOrderManagement;
public void hoverTabOrderManagement() {
Actions action = new Actions(driver);
action.moveToElement(tabOrderManagement).perform(); //move 
to the element
}
}

CreateSingleOrder_BondsTest.java

import org.testng.annotations.Test;
public class CreateSingleOrder_BondsTest extends BasicTest { /*BasicTest 
contains initialization of driver in @BeforeMethod and @AfterMethod also 
*/
@Test
public void buyBonds() throws Exception {
CreateSingleOrder_BondsPage createBonds = 
PageFactory.initElements(driver, CreateSingleOrder_BondsPage.class);
Thread.sleep(1000); //loading data
createBonds.hoverTabOrderManagement();
}
}

我有这些错误:

  • 用于我在 Java 类中的导入。

    无法解析导入组织测试程序

  • 当我运行我的TestNG时.xml作为"TestNG套件">

    在"启动 Test2 TAP_TestNG.xml"期间发生内部错误。 java.lang.NullPointerException

  • 在日食的"问题"选项卡中

    无效的类路径容器:"TestNG"在项目"Test2 TAP"中 - Test2 TAP -构建路径 - 构建路径问题

如果有人可以帮助我解决使用 maven 作为类路径的想法,如果它可以是一个解决方案或其他解决方案,我可以用来再次运行我的测试将非常有帮助。

感谢您的帮助。

这可能是由于一些琐碎的问题。几项检查:

  1. 您是否安装了用于 eclipse 的 TestNG 插件?如果没有,请去市场并这样做 测试链接NG-日食
  2. 确保项目的构建路径具有 TestNG 库。如果没有,请转到构建路径,然后单击添加库。这将允许您添加 TestNG 库。

这与 Maven 无关,也应该独立工作。 你也可以参考TestNG-Eclipse文档

我相信这是由于您的 .m2 文件夹中有多个版本的 testng 而发生的。我能想到的2种解决方案

  1. 删除 TestNG 文件夹中的所有项并重新编译项目。
  2. 删除不需要的 TestNG 版本,然后重新编译项目。

最新更新