Skip to content

Commit 30b8574

Browse files
authored
add analytics labels (via allure-framework#290)
1 parent dde334d commit 30b8574

17 files changed

Lines changed: 204 additions & 69 deletions

File tree

allure-cucumber-jvm/src/main/java/io/qameta/allure/cucumberjvm/LabelBuilder.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,23 @@
1010
import org.slf4j.LoggerFactory;
1111

1212
import java.util.ArrayList;
13+
import java.util.Arrays;
1314
import java.util.Deque;
1415
import java.util.List;
1516
import java.util.Objects;
1617
import java.util.regex.Pattern;
1718

1819
import static io.qameta.allure.util.ResultsUtils.createFeatureLabel;
20+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
21+
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
22+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
23+
import static io.qameta.allure.util.ResultsUtils.createPackageLabel;
1924
import static io.qameta.allure.util.ResultsUtils.createSeverityLabel;
2025
import static io.qameta.allure.util.ResultsUtils.createStoryLabel;
26+
import static io.qameta.allure.util.ResultsUtils.createSuiteLabel;
2127
import static io.qameta.allure.util.ResultsUtils.createTagLabel;
22-
import static io.qameta.allure.util.ResultsUtils.getHostName;
23-
import static io.qameta.allure.util.ResultsUtils.getThreadName;
28+
import static io.qameta.allure.util.ResultsUtils.createTestClassLabel;
29+
import static io.qameta.allure.util.ResultsUtils.createThreadLabel;
2430

2531
/**
2632
* Scenario labels and links builder.
@@ -91,11 +97,15 @@ class LabelBuilder {
9197
}
9298
}
9399

94-
getScenarioLabels().add(new Label().setName("host").setValue(getHostName()));
95-
getScenarioLabels().add(new Label().setName("package").setValue(feature.getName()));
96-
getScenarioLabels().add(new Label().setName("suite").setValue(feature.getName()));
97-
getScenarioLabels().add(new Label().setName("testClass").setValue(scenario.getName()));
98-
getScenarioLabels().add(new Label().setName("thread").setValue(getThreadName()));
100+
getScenarioLabels().addAll(Arrays.asList(
101+
createHostLabel(),
102+
createThreadLabel(),
103+
createPackageLabel(feature.getName()),
104+
createSuiteLabel(feature.getName()),
105+
createTestClassLabel(scenario.getName()),
106+
createFrameworkLabel("cucumberjvm"),
107+
createLanguageLabel("java")
108+
));
99109

100110
}
101111

allure-cucumber2-jvm/src/main/java/io/qameta/allure/cucumber2jvm/LabelBuilder.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,26 @@
99
import org.slf4j.LoggerFactory;
1010

1111
import java.util.ArrayList;
12+
import java.util.Arrays;
1213
import java.util.Deque;
1314
import java.util.List;
1415
import java.util.Objects;
1516
import java.util.regex.Pattern;
1617

1718
import static io.qameta.allure.util.ResultsUtils.createFeatureLabel;
19+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
20+
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
1821
import static io.qameta.allure.util.ResultsUtils.createIssueLink;
22+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
1923
import static io.qameta.allure.util.ResultsUtils.createLink;
24+
import static io.qameta.allure.util.ResultsUtils.createPackageLabel;
2025
import static io.qameta.allure.util.ResultsUtils.createSeverityLabel;
2126
import static io.qameta.allure.util.ResultsUtils.createStoryLabel;
27+
import static io.qameta.allure.util.ResultsUtils.createSuiteLabel;
2228
import static io.qameta.allure.util.ResultsUtils.createTagLabel;
29+
import static io.qameta.allure.util.ResultsUtils.createTestClassLabel;
30+
import static io.qameta.allure.util.ResultsUtils.createThreadLabel;
2331
import static io.qameta.allure.util.ResultsUtils.createTmsLink;
24-
import static io.qameta.allure.util.ResultsUtils.getHostName;
25-
import static io.qameta.allure.util.ResultsUtils.getThreadName;
2632

2733
/**
2834
* Scenario labels and links builder.
@@ -93,12 +99,15 @@ class LabelBuilder {
9399
}
94100
}
95101

96-
getScenarioLabels().add(new Label().setName("host").setValue(getHostName()));
97-
getScenarioLabels().add(new Label().setName("package").setValue(feature.getName()));
98-
getScenarioLabels().add(new Label().setName("suite").setValue(feature.getName()));
99-
getScenarioLabels().add(new Label().setName("testClass").setValue(scenario.getName()));
100-
getScenarioLabels().add(new Label().setName("thread").setValue(getThreadName()));
101-
102+
getScenarioLabels().addAll(Arrays.asList(
103+
createHostLabel(),
104+
createThreadLabel(),
105+
createPackageLabel(feature.getName()),
106+
createSuiteLabel(feature.getName()),
107+
createTestClassLabel(scenario.getName()),
108+
createFrameworkLabel("cucumber2jvm"),
109+
createLanguageLabel("java")
110+
));
102111
}
103112

104113
public List<Label> getScenarioLabels() {

allure-cucumber3-jvm/src/main/java/io/qameta/allure/cucumber3jvm/LabelBuilder.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,26 @@
99
import org.slf4j.LoggerFactory;
1010

1111
import java.util.ArrayList;
12+
import java.util.Arrays;
1213
import java.util.Deque;
1314
import java.util.List;
1415
import java.util.Objects;
1516
import java.util.regex.Pattern;
1617

1718
import static io.qameta.allure.util.ResultsUtils.createFeatureLabel;
19+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
20+
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
1821
import static io.qameta.allure.util.ResultsUtils.createIssueLink;
22+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
1923
import static io.qameta.allure.util.ResultsUtils.createLink;
24+
import static io.qameta.allure.util.ResultsUtils.createPackageLabel;
2025
import static io.qameta.allure.util.ResultsUtils.createSeverityLabel;
2126
import static io.qameta.allure.util.ResultsUtils.createStoryLabel;
27+
import static io.qameta.allure.util.ResultsUtils.createSuiteLabel;
2228
import static io.qameta.allure.util.ResultsUtils.createTagLabel;
29+
import static io.qameta.allure.util.ResultsUtils.createTestClassLabel;
30+
import static io.qameta.allure.util.ResultsUtils.createThreadLabel;
2331
import static io.qameta.allure.util.ResultsUtils.createTmsLink;
24-
import static io.qameta.allure.util.ResultsUtils.getHostName;
25-
import static io.qameta.allure.util.ResultsUtils.getThreadName;
2632

2733
/**
2834
* Scenario labels and links builder.
@@ -93,12 +99,15 @@ class LabelBuilder {
9399
}
94100
}
95101

96-
getScenarioLabels().add(new Label().setName("host").setValue(getHostName()));
97-
getScenarioLabels().add(new Label().setName("package").setValue(feature.getName()));
98-
getScenarioLabels().add(new Label().setName("suite").setValue(feature.getName()));
99-
getScenarioLabels().add(new Label().setName("testClass").setValue(scenario.getName()));
100-
getScenarioLabels().add(new Label().setName("thread").setValue(getThreadName()));
101-
102+
getScenarioLabels().addAll(Arrays.asList(
103+
createHostLabel(),
104+
createThreadLabel(),
105+
createPackageLabel(feature.getName()),
106+
createSuiteLabel(feature.getName()),
107+
createTestClassLabel(scenario.getName()),
108+
createFrameworkLabel("cucumber3jvm"),
109+
createLanguageLabel("java")
110+
));
102111
}
103112

104113
public List<Label> getScenarioLabels() {

allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,20 @@
1010
import org.slf4j.LoggerFactory;
1111

1212
import java.util.ArrayList;
13+
import java.util.Arrays;
1314
import java.util.Deque;
1415
import java.util.List;
1516
import java.util.Objects;
1617
import java.util.regex.Pattern;
1718

19+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
20+
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
21+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
22+
import static io.qameta.allure.util.ResultsUtils.createPackageLabel;
23+
import static io.qameta.allure.util.ResultsUtils.createSuiteLabel;
24+
import static io.qameta.allure.util.ResultsUtils.createTestClassLabel;
25+
import static io.qameta.allure.util.ResultsUtils.createThreadLabel;
26+
1827
/**
1928
* Scenario labels and links builder.
2029
*/
@@ -84,12 +93,15 @@ class LabelBuilder {
8493
}
8594
}
8695

87-
getScenarioLabels().add(ResultsUtils.createHostLabel());
88-
getScenarioLabels().add(ResultsUtils.createPackageLabel(feature.getName()));
89-
getScenarioLabels().add(ResultsUtils.createSuiteLabel(feature.getName()));
90-
getScenarioLabels().add(ResultsUtils.createTestClassLabel(scenario.getName()));
91-
getScenarioLabels().add(ResultsUtils.createThreadLabel());
92-
96+
getScenarioLabels().addAll(Arrays.asList(
97+
createHostLabel(),
98+
createThreadLabel(),
99+
createPackageLabel(feature.getName()),
100+
createSuiteLabel(feature.getName()),
101+
createTestClassLabel(scenario.getName()),
102+
createFrameworkLabel("cucumber4jvm"),
103+
createLanguageLabel("java")
104+
));
93105
}
94106

95107
public List<Label> getScenarioLabels() {

allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ public final class ResultsUtils {
7474
public static final String TEST_METHOD_LABEL_NAME = "testMethod";
7575
public static final String TEST_CLASS_LABEL_NAME = "testClass";
7676
public static final String PACKAGE_LABEL_NAME = "package";
77+
public static final String FRAMEWORK_LABEL_NAME = "framework";
78+
public static final String LANGUAGE_LABEL_NAME = "language";
7779

7880
private static final Logger LOGGER = LoggerFactory.getLogger(ResultsUtils.class);
7981
private static final String ALLURE_DESCRIPTIONS_PACKAGE = "allureDescriptions/";
@@ -145,6 +147,14 @@ public static Label createThreadLabel() {
145147
return new Label().setName(THREAD_LABEL_NAME).setValue(getThreadName());
146148
}
147149

150+
public static Label createFrameworkLabel(final String framework) {
151+
return new Label().setName(FRAMEWORK_LABEL_NAME).setValue(framework);
152+
}
153+
154+
public static Label createLanguageLabel(final String language) {
155+
return new Label().setName(LANGUAGE_LABEL_NAME).setValue(language);
156+
}
157+
148158
public static Label createLabel(final Owner owner) {
149159
return createOwnerLabel(owner.value());
150160
}

allure-jbehave/src/main/java/io/qameta/allure/jbehave/AllureJbehave.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@
2929
import java.util.stream.Collectors;
3030

3131
import static io.qameta.allure.util.ResultsUtils.bytesToHex;
32+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
3233
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
34+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
3335
import static io.qameta.allure.util.ResultsUtils.createStoryLabel;
3436
import static io.qameta.allure.util.ResultsUtils.createThreadLabel;
3537
import static io.qameta.allure.util.ResultsUtils.getMd5Digest;
@@ -215,7 +217,9 @@ protected void startTestCase(final String uuid,
215217
final List<Label> labels = Arrays.asList(
216218
createStoryLabel(story.getName()),
217219
createHostLabel(),
218-
createThreadLabel()
220+
createThreadLabel(),
221+
createFrameworkLabel("jbehave"),
222+
createLanguageLabel("java")
219223
);
220224

221225
final String historyId = getHistoryId(fullName, parameters);

allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@
5050
import static io.qameta.allure.model.Status.FAILED;
5151
import static io.qameta.allure.model.Status.PASSED;
5252
import static io.qameta.allure.model.Status.SKIPPED;
53+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
5354
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
55+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
5456
import static io.qameta.allure.util.ResultsUtils.createPackageLabel;
5557
import static io.qameta.allure.util.ResultsUtils.createSuiteLabel;
5658
import static io.qameta.allure.util.ResultsUtils.createTestClassLabel;
@@ -208,14 +210,20 @@ private void startTestCase(final TestIdentifier testIdentifier) {
208210
testClass.map(this::getLinks).ifPresent(result.getLinks()::addAll);
209211
testMethod.map(this::getLinks).ifPresent(result.getLinks()::addAll);
210212

211-
result.getLabels().add(createHostLabel());
212-
result.getLabels().add(createThreadLabel());
213+
result.getLabels().addAll(Arrays.asList(
214+
createHostLabel(),
215+
createThreadLabel(),
216+
createFrameworkLabel("junit-platform"),
217+
createLanguageLabel("java")
218+
));
213219

214220
methodSource.ifPresent(source -> {
215221
result.setFullName(String.format("%s.%s", source.getClassName(), source.getMethodName()));
216-
result.getLabels().add(createPackageLabel(source.getClassName()));
217-
result.getLabels().add(createTestClassLabel(source.getClassName()));
218-
result.getLabels().add(createTestMethodLabel(source.getMethodName()));
222+
result.getLabels().addAll(Arrays.asList(
223+
createPackageLabel(source.getClassName()),
224+
createTestClassLabel(source.getClassName()),
225+
createTestMethodLabel(source.getMethodName())
226+
));
219227
});
220228

221229
testClass.ifPresent(aClass -> {

allure-junit4/src/main/java/io/qameta/allure/junit4/AllureJunit4.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
import java.util.stream.Collectors;
3333
import java.util.stream.Stream;
3434

35+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
3536
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
37+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
3638
import static io.qameta.allure.util.ResultsUtils.createPackageLabel;
3739
import static io.qameta.allure.util.ResultsUtils.createSuiteLabel;
3840
import static io.qameta.allure.util.ResultsUtils.createTestClassLabel;
@@ -264,7 +266,9 @@ private TestResult createTestResult(final String uuid, final Description descrip
264266
createTestMethodLabel(name),
265267
createSuiteLabel(suite),
266268
createHostLabel(),
267-
createThreadLabel()
269+
createThreadLabel(),
270+
createFrameworkLabel("junit4"),
271+
createLanguageLabel("java")
268272
));
269273
testResult.getLabels().addAll(getLabels(description));
270274
testResult.getLinks().addAll(getLinks(description));

allure-selenide/build.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
description = "Allure Selenide Integration"
22

3+
val selenideVersion = "4.12.2"
4+
35
dependencies {
46
compile(project(":allure-java-commons"))
5-
compile("com.codeborne:selenide")
7+
compile("com.codeborne:selenide:$selenideVersion")
68
}
79

810
tasks.named<Jar>("jar") {

allure-spock/src/main/java/io/qameta/allure/spock/AllureSpock.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,19 @@
4343
import java.util.stream.IntStream;
4444
import java.util.stream.Stream;
4545

46+
import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel;
47+
import static io.qameta.allure.util.ResultsUtils.createHostLabel;
48+
import static io.qameta.allure.util.ResultsUtils.createLanguageLabel;
49+
import static io.qameta.allure.util.ResultsUtils.createPackageLabel;
50+
import static io.qameta.allure.util.ResultsUtils.createParentSuiteLabel;
51+
import static io.qameta.allure.util.ResultsUtils.createSubSuiteLabel;
52+
import static io.qameta.allure.util.ResultsUtils.createSuiteLabel;
53+
import static io.qameta.allure.util.ResultsUtils.createTestClassLabel;
54+
import static io.qameta.allure.util.ResultsUtils.createTestMethodLabel;
55+
import static io.qameta.allure.util.ResultsUtils.createThreadLabel;
4656
import static io.qameta.allure.util.ResultsUtils.firstNonEmpty;
47-
import static io.qameta.allure.util.ResultsUtils.getHostName;
4857
import static io.qameta.allure.util.ResultsUtils.getStatus;
4958
import static io.qameta.allure.util.ResultsUtils.getStatusDetails;
50-
import static io.qameta.allure.util.ResultsUtils.getThreadName;
5159
import static java.nio.charset.StandardCharsets.UTF_8;
5260
import static java.util.Comparator.comparing;
5361

@@ -108,21 +116,20 @@ public void beforeIteration(final IterationInfo iteration) {
108116
final String testMethodName = iteration.getName();
109117

110118
final List<Label> labels = new ArrayList<>(Arrays.asList(
111-
//Packages grouping
112-
new Label().setName("package").setValue(packageName),
113-
new Label().setName("testClass").setValue(testClassName),
114-
new Label().setName("testMethod").setValue(testMethodName),
115-
//xUnit grouping
116-
new Label().setName("suite").setValue(specName),
117-
//Timeline grouping
118-
new Label().setName("host").setValue(getHostName()),
119-
new Label().setName("thread").setValue(getThreadName())
119+
createPackageLabel(packageName),
120+
createTestClassLabel(testClassName),
121+
createTestMethodLabel(testMethodName),
122+
createSuiteLabel(specName),
123+
createHostLabel(),
124+
createThreadLabel(),
125+
createFrameworkLabel("spock"),
126+
createLanguageLabel("java")
120127
));
121128
if (Objects.nonNull(subSpec)) {
122-
labels.add(new Label().setName("subSuite").setValue(subSpec.getName()));
129+
labels.add(createSubSuiteLabel(subSpec.getName()));
123130
}
124131
if (Objects.nonNull(superSpec)) {
125-
labels.add(new Label().setName("parentSuite").setValue(superSpec.getName()));
132+
labels.add(createParentSuiteLabel(superSpec.getName()));
126133
}
127134
labels.addAll(getLabels(iteration));
128135

0 commit comments

Comments
 (0)