在 @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));
}
}
1条答案
按热度按时间gzszwxb41#
程序将正确返回方法名,并显示以下行:
(String methodName = result.getMethod().getMethodName().toString();).
您需要检索引发异常的方法中的特定行。一个简单的方法是通过stacktrace找到它。为了方便地从throwable中检索stacktrace作为字符串,您可以使用以下内容
String stackTrace = ExceptionUtils.getStackTrace(result.getThrowable());
来自apache commons。然后您将能够在程序中找到引发异常的特定点。