【问题标题】:How to use a public class Reports (for logging purpose) with public static methods across other classes of the same project [duplicate]如何在同一项目的其他类中使用具有公共静态方法的公共类报告(用于记录目的)[重复]
【发布时间】:2023-04-07 04:11:01
【问题描述】:

这是我的程序的摘录:

package something.util;
public class Reports {
    public static void logStatus(LogStatus testStatus, String testDetails) {
        test.log(testStatus, testDetails);
    }
}

package something.pages;
public class MainPage {
    public void someMethod(){
        Reports.logStatus(LogStatus.INFO, "Clicked A/B Testing link");
    }
}

当我执行上面的代码时,我不断收到 NullPointerException,我不知道为什么。至少一个指向我所犯错误的指针会有所帮助。

【问题讨论】:

  • 发布您的异常消息。它应该准确地告诉您错误来自何处。从那里,您需要调查为什么该变量是null

标签: java selenium automation


【解决方案1】:

Reports 类中的test 对象在下一行中将为空。

test.log(testStatus, testDetails);

这就是它提供 NPE 的原因。

【讨论】:

  • 哦。那太棒了。你的解决方案奏效了。非常感谢!
【解决方案2】:

不要在测试中直接调用log方法

test.log(testStatus, testDetails)

你可以这样调用,因为这是静态方法,

MainPage.log(testStatus, testDetails)

或者这也可以,

MainPage test = new MainPage();
test.log(testStatus, testDetails)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-02
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多