我想在报告中获取MethodName

时间:2019-05-10 11:23:13

标签: java webdriver selenium-extent-report

创建节点时,我试图在报告中记录我的调用方法名称。

我在getname()中用Method.GetMethodNameITestresult进行了尝试,但没有找到正确的方法。

public static class Reports 
{
    public static void CreateNode(String Description)
    {
        test.createNode(Description);
    }
}



public static Class ModuleClass
{
    public static void Login()
    {
        Reports.CreateNode( ???": method started");
    }
}

在问号区域,我想要打印在报告中的方法名称。

输出应该是-

Login : method started in report.

它与日志无关。它基于我从任何特定模块的测试库中调用的任何方法,让我们假设有一种方法可以填充如下形式的

public static Class ModuleClass
    {
        public static void FormFilled()
        {
            Reports.CreateNode( ???": method started");
        }
    }

所以当我在执行类中调用此方法时,如下所示:

@Test
public void SavingForm()
{
    ModuleClass.FormFilled();
}

然后在报告中执行后,我应该得到:

output FormFilled : method started

1 个答案:

答案 0 :(得分:1)

我通过使用下面的行获取输出:

new Object(){}。getClass()。getEnclosingMethod()。getName()

public static Class ModuleClass
    {
        public static void FormFilled()
        {
            Reports.CreateNode( new Object(){}.getClass().getEnclosingMethod().getName() 
 + ": method started");
        }
    }