我已经在“testcasestarted”上编写了一个事件发布程序。但是,当我试图访问它的位置时,它返回了错误的行号。我正在使用下面的代码和功能文件。
预期行号应该是4,但我得到的值为13
功能文件
Feature: to test a sample test case
@tc1
Scenario Outline: sc1
Given user has waited for "1" seconds and clicked checkboxes
|button_id|
|a |
|b |
When user has to enter"<Value>"
Then validates that the scenarios completes successfully
Examples:
|Value |
|3 |
|5 |
代码段
private void EHTestCaseStarted(TestCaseStarted event) {
String ffPath = event.getTestCase().getUri().getPath();
String scnType = event.getTestCase().getKeyword();
Location loc = event.getTestCase().getLocation();
int scnLine = event.getTestCase().getLocation().getLine();
int scnCol = event.getTestCase().getLocation().getColumn();
if (scnType.equalsIgnoreCase("Scenario Outline")) {
parseGherkin(ffPath, scnLine, scnCol);
} else {
}
}
2条答案
按热度按时间vptzau2j1#
因为你用的是
Scenario Outline
实际场景由混凝土的线条定义Example
在大纲中使用。所以行号是正确的。如果需要场景的父级,可以使用
TestSourceParsed
evnet访问测试用例所在的层次结构。ruyhziif2#
根据这个应该是
event.getTestCase().getLine()
看看这个。它可能会提供给你(一种开箱即用的)你想要做的事情