-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
102 lines (88 loc) · 3.7 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
val log4jVersion = "2.13.3"
val allureVersion = "2.13.5"
plugins {
java
eclipse
idea
id("io.qameta.allure") version "2.8.1"
// We need this plugin because checking for new dependency versions is not built into Gradle unlike Maven:
id("com.github.ben-manes.versions") version "0.29.0"
maven
}
group="org.rtr"
version="0.1.0"
description = "Ready to Rock"
repositories {
jcenter()
mavenCentral()
}
dependencies {
// Common dependencies:
// In order to log messages from dependencies through log4j2:
implementation("org.apache.logging.log4j:log4j-api:${log4jVersion}")
implementation("org.apache.logging.log4j:log4j-core:${log4jVersion}")
implementation("org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}")
implementation("org.apache.logging.log4j:log4j-jul:${log4jVersion}")
implementation("org.apache.logging.log4j:log4j-jcl:${log4jVersion}")
implementation("commons-io:commons-io:2.7")
// Dependencies for Apache Commons Configuration:
implementation("org.apache.commons:commons-configuration2:2.7")
implementation("commons-beanutils:commons-beanutils:1.9.4")
implementation("io.qameta.allure:allure-java-commons:${allureVersion}")
testImplementation("io.qameta.allure:allure-junit5:${allureVersion}")
implementation(platform("org.junit:junit-bom:5.6.2"))
implementation("org.junit.jupiter:junit-jupiter")
implementation("org.assertj:assertj-core:3.16.1")
// In order to add the assertions to the Allure report automatically:
testImplementation("io.qameta.allure:allure-assertj:${allureVersion}")
testImplementation("org.apache.commons:commons-lang3:3.11")
// REST-Assured dependencies:
testImplementation("io.rest-assured:rest-assured:4.3.1")
// In order to make possible adding the request/response to the Allure report:
testImplementation("io.qameta.allure:allure-rest-assured:${allureVersion}")
// Selenium dependencies:
implementation("org.seleniumhq.selenium:selenium-java:4.0.0-alpha-6")
// Manages the binaries for the WebDriver automatically:
implementation("io.github.bonigarcia:webdrivermanager:4.2.0")
// Utility for screenshots:
implementation("com.assertthat:selenium-shutterbug:1.1")
}
java {
// For a newer Java version you also need to use newer versions of Allure and its dependencies.
sourceCompatibility = JavaVersion.VERSION_14
targetCompatibility = JavaVersion.VERSION_14
}
tasks.withType<Test>().configureEach {
// Otherwise the JDK logging adapter won't work, see usage section: https://logging.apache.org/log4j/2.x/log4j-jul/index.html
systemProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager")
useJUnitPlatform {
// Gradle does not support passing the tags from the command line unlike the plugin Surefire from Maven.
if (project.hasProperty("includeTags")) {
includeTags(project.property("includeTags").toString())
}
if (project.hasProperty("excludeTags")) {
excludeTags(project.property("excludeTags").toString())
}
}
testLogging {
showStandardStreams = true
exceptionFormat = TestExceptionFormat.FULL
events("started", "passed", "skipped", "failed")
}
}
// See: https://github.com/allure-framework/allure-gradle
allure {
// Needed because it is mandatory and there is no default for it:
version = allureVersion
// Needs to be set to true, otherwise no steps would be displayed in the Allure report:
autoconfigure = true
// Needed because otherwise it would take a too old version:
aspectjVersion = "1.9.6"
// Needed because the default download link at bintray is broken:
downloadLink = "https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/" +
"${allureVersion}/allure-commandline-${allureVersion}.zip"
useJUnit5 {
version = allureVersion
}
}