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