gpt4 book ai didi

java - 如何获取 TestNG、Selenium 测试脚本中方法的内部方法名称?

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

@AfterMethod中获取类名(TC_UI_PRM_N_001)
我只是使用 this.getClassName().toString();
获取方法名称 (permitsPageSaveWithEmptyMandatoryFields)
我只是使用 result.getMethod().getMethodName().toString();

   @AfterMethod(alwaysRun = true)
public void catchExceptions(ITestResult result) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat formater = new SimpleDateFormat("dd_MM_yyyy_hh_mm_ss");
String className = this.getClassName().toString();
String methodName = result.getMethod().getMethodName().toString();
...
}

如果步骤(内部方法)searchTextInPage(getTestCaseData(1))失败,我如何在@AfterMethod中获取其名称?

public class TC_UI_PRM_N_001 extends BaseTestCase {
Login login;
HomePage homePage;
Permits permits;

@Test
public void permitsPageSaveWithEmptyMandatoryFields(){
login = new Login(getDriver());
login.verifyCorrectLogin();

homePage = new HomePage(getDriver());
homePage.clickMenuItem("Permits");

permits = new Permits(getDriver());
permits.addNewCertificate()
.validate()
.searchTextInPage(getTestCaseData(1));
}
}

最佳答案

您的程序使用以下行正确返回方法名称:
(字符串方法名 = result.getMethod().getMethodName().toString();)。
您需要检索该方法内引发异常的特定行。一种简单的方法是通过 Stacktrace 找到它。

为了轻松地从 Throwable 中以字符串形式检索堆栈跟踪,您可以使用类似的方法
String stackTrace = ExceptionUtils.getStackTrace(result.getThrowable());
来自 Apache 共享资源。然后您将能够找到程序中引发异常的具体点。

关于java - 如何获取 TestNG、Selenium 测试脚本中方法的内部方法名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46039204/

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