2
2
3
3
import com .codeborne .selenide .Selenide ;
4
4
import com .codeborne .selenide .WebDriverRunner ;
5
+ import lombok .extern .slf4j .Slf4j ;
5
6
import org .junit .jupiter .api .AfterAll ;
6
7
import org .junit .jupiter .api .BeforeEach ;
7
8
import org .junit .jupiter .api .Test ;
8
9
import org .openqa .selenium .Capabilities ;
9
10
import org .openqa .selenium .chrome .ChromeOptions ;
11
+ import org .openqa .selenium .firefox .FirefoxDriver ;
10
12
import org .openqa .selenium .firefox .FirefoxOptions ;
11
13
import org .openqa .selenium .remote .RemoteWebDriver ;
12
14
import org .testcontainers .containers .BrowserWebDriverContainer ;
26
28
27
29
// 1: Add required dependency: org.testcontainers:junit-jupiter
28
30
// 2: Add class level annotation:
31
+ @ Slf4j
29
32
@ Testcontainers
30
33
class JunitJupiterTests {
31
34
@@ -49,29 +52,67 @@ void before() { // this one is not needed in case of build-tool output dir...
49
52
if (Files .notExists (path )) path .toFile ().mkdirs ();
50
53
}
51
54
52
- @ Test
55
+ // @Test // Google Captcha is blocking a test...
53
56
void main () {
54
- for (int i = 0 ; i < 2 ; i ++) {
55
- should_google_search_and_wait_for ("ололо" ); // ru
56
- should_google_search_and_wait_for ("trololo" ); // en
57
- }
57
+ should_google_search_and_wait_for ("DonaldTrump" );
58
58
// WebDriverRunner.closeWebDriver(); // should I do that?
59
59
}
60
60
61
61
private void should_google_search_and_wait_for (String query ) {
62
+ // // WebDriverRunner.setWebDriver(new FirefoxDriver());
62
63
// create selenide driver from existing one - remote Chrome WebDriver, pointing of docker test container:
64
+ log .info ("RemoteWebDriver remoteWebDriver = browser.getWebDriver();" );
63
65
RemoteWebDriver remoteWebDriver = browser .getWebDriver ();
66
+ log .info ("WebDriverRunner.setWebDriver(remoteWebDriver);" );
64
67
WebDriverRunner .setWebDriver (remoteWebDriver );
68
+
69
+ // base project dir
70
+ String baseDir = System .getProperty ("user.dir" );
71
+ log .info ("baseDir: {}" , baseDir );
72
+
65
73
// regular Selenide test:
74
+ log .info ("Selenide.open('https://google.com?q={}')" , query );
66
75
Selenide .open ("https://google.com?q=" + query );
67
- $$ ("form" ).filterBy (exist ).first ().shouldBe (visible ).submit ();
68
- $ (byValue (query )).shouldBe (exist ).shouldBe (visible ).submit ();
76
+
77
+ // Selenide.screenshot(String.format("%s/target/google-search-and-wait-for-ololo-screenshot-1.png", baseDir));
78
+ Selenide .screenshot ("../../../target/google-search-and-wait-for-ololo-screenshot-1.png" );
79
+
80
+ log .info ("$('form[action='/search']').shouldBe(exist).shouldBe(visible).submit();" );
81
+ $ ("form[action='/search']" ).shouldBe (exist ).shouldBe (visible ).submit ();
82
+ // Selenide.screenshot(String.format("%s/target/google-search-and-wait-for-ololo-screenshot-2.png", baseDir));
83
+ Selenide .screenshot ("../../../target/google-search-and-wait-for-ololo-screenshot-2.png" );
84
+
85
+ // log.info("$(byValue(query)).shouldBe(exist).shouldBe(visible).submit();");
86
+ // $(byValue(query)).shouldBe(exist).shouldBe(visible).submit();
87
+ // // Selenide.screenshot(String.format("%s/target/google-search-and-wait-for-ololo-screenshot-3.png", baseDir));
88
+ // Selenide.screenshot("../../../target/google-search-and-wait-for-ololo-screenshot-3.png");
89
+ }
90
+
91
+ @ Test
92
+ void should_test_html () {
93
+ WebDriverRunner .setWebDriver (new FirefoxDriver ());
94
+ // // create selenide driver from existing one - remote Chrome WebDriver, pointing of docker test container:
95
+ // log.info("RemoteWebDriver remoteWebDriver = browser.getWebDriver();");
96
+ // RemoteWebDriver remoteWebDriver = browser.getWebDriver();
97
+ // log.info("WebDriverRunner.setWebDriver(remoteWebDriver);");
98
+ // WebDriverRunner.setWebDriver(remoteWebDriver);
99
+
100
+ // base project dir
101
+ String baseDir = System .getProperty ("user.dir" );
102
+ log .info ("baseDir: {}" , baseDir );
103
+
104
+ // Selenide
105
+ log .info ("Selenide.open('{}/src/test/resources/test.html')" , baseDir );
106
+ Selenide .open (String .format ("file://%s/src/test/resources/test.html" , baseDir ));
107
+ Selenide .screenshot ("../../../target/should-test-html-1.png" );
69
108
}
70
109
71
110
@ AfterAll
72
111
static void afterAll () {
73
112
// Warning: at this point if time Selenide will also stops Chrome remote WebDriver too...
113
+ log .info ("Selenide.closeWindow();" );
74
114
Selenide .closeWindow ();
115
+ log .info ("Selenide.closeWebDriver();" );
75
116
Selenide .closeWebDriver ();
76
117
}
77
118
}
0 commit comments