gpt4 book ai didi

java - 如何使用 testng 实例化对象并传递给方法

转载 作者:行者123 更新时间:2023-12-02 07:19:15 25 4
gpt4 key购买 nike

我在尝试将对象正确实例化并传递给其他方法时遇到了困难。这是我的代码:

public class CreateAndDeleteCollector {

private static WebDriver driver = new FirefoxDriver();
private LoginPage login;
private AdminRtcpCollectorPage rtcp;
private AdminFunctions admin;

//DesiredCapabilities capability = DesiredCapabilities.firefox();
//String hubUrl = "http://localhost:4444/wd/hub";
//WebDriver d = new RemoteWebDriver(new URL(hubUrl), capability);


@BeforeMethod
public void setup() throws Exception {
LoginPage login = new LoginPage(driver);
AdminRtcpCollectorPage rtcp = new AdminRtcpCollectorPage(driver);
AdminFunctions admin = new AdminFunctions();
}

@Test
public void newCollector() throws Exception {
login.login("192.168.1.100", "admin", "admin");
rtcp.goToRtcpCollectorPage();
rtcp.newRtcpCollector("test-1", "test", "test", "192.168.1.100");
}

@Test(dependsOnMethods = { "newCollector" })
public void deleteCollector() throws Exception {
admin.initialize(driver);
rtcp.goToRtcpCollectorPage();
admin.delete("test-1");
}

@AfterTest
public void logoutAndClose() {
Util.logout(driver);
driver.close();
}
}

当我一到达第一个测试方法就使用 TestNG 运行它,它会因登录、rtcp 和管理而出现 NullPointerException 错误。我确信我误解了 @BeforeMethod 注释的作用。

我可以将所有声明放在设置方法之外并进行实例化,顺便说一句,这非常有效,但是将它们放入方法中的原因是因为当我在 RemoteWebDriver 行中进行注释时,我收到“默认构造函数无法处理异常类型...”错误。

有人有什么建议吗?

我认为使用 TestNG 的工厂和 dataprovider 可能是一个答案,但我不确定如何将其应用于我的情况。

最佳答案

由于您在方法中重新声明变量,因此出现空指针异常。只需从

中删除“登录页面”即可

登录页面登录= ...

使用登录=...

关于java - 如何使用 testng 实例化对象并传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com