Skip to content

Commit 8ad8fcf

Browse files
authored
Merge branch 'trunk' into nightly_js
2 parents 2b8535f + 77eacb5 commit 8ad8fcf

File tree

5 files changed

+47
-63
lines changed

5 files changed

+47
-63
lines changed

examples/javascript/test/interactions/windows.spec.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,40 @@ describe('Interactions - Windows', function () {
4949
base64Code = encodedString.slice(startIndex, endIndex)
5050
assert.strictEqual(base64Code, imgMagicNumber)
5151
});
52+
53+
it('Should be able to takeScreenshot', async function () {
54+
await driver.get('https://www.selenium.dev/selenium/web/javascriptPage.html');
55+
56+
// Captures the screenshot
57+
let encodedString = await driver.takeScreenshot();
58+
// save screenshot as below
59+
// await fs.writeFileSync('./image.png', encodedString, 'base64');
60+
base64Code = encodedString.slice(startIndex, endIndex)
61+
assert.strictEqual(base64Code, imgMagicNumber)
62+
});
63+
64+
it('Should be able to switch to newWindow and newTab and close', async function () {
65+
await driver.get('https://www.selenium.dev/selenium/web/');
66+
const initialWindow = await driver.getAllWindowHandles();
67+
assert.strictEqual(initialWindow.length, 1)
68+
69+
// Opens a new tab and switches to new tab
70+
await driver.switchTo().newWindow('tab');
71+
const browserTabs = await driver.getAllWindowHandles();
72+
assert.strictEqual(browserTabs.length, 2)
73+
74+
// Opens a new window and switches to new window
75+
await driver.switchTo().newWindow('window');
76+
const windows = await driver.getAllWindowHandles();
77+
assert.strictEqual(windows.length, 3)
78+
79+
//Close the tab or window
80+
await driver.close();
81+
82+
//Switch back to the old tab or window
83+
await driver.switchTo().window(windows[1]);
84+
85+
const windowsAfterClose = await driver.getAllWindowHandles();
86+
assert.strictEqual(windowsAfterClose.length, 2);
87+
});
5288
});

website_and_docs/content/documentation/webdriver/interactions/windows.en.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -756,22 +756,9 @@ begin
756756

757757
end
758758
{{< /tab >}}
759-
{{< tab header="JavaScript" >}}
760-
let {Builder} = require('selenium-webdriver');
761-
let fs = require('fs');
762-
763-
(async function example() {
764-
let driver = await new Builder()
765-
.forBrowser('chrome')
766-
.build();
767-
768-
await driver.get('https://www.example.com');
769-
// Returns base64 encoded string
770-
let encodedString = await driver.takeScreenshot();
771-
await fs.writeFileSync('./image.png', encodedString, 'base64');
772-
await driver.quit();
773-
}())
774-
{{< /tab >}}
759+
{{< tab header="JavaScript" text=true >}}
760+
{{< gh-codeblock path="examples/javascript/test/interactions/windows.spec.js#L56-L59" >}}
761+
{{< /tab >}}
775762
{{< tab header="Kotlin" >}}
776763
import com.oracle.tools.packager.IOUtils.copyFile
777764
import org.openqa.selenium.*

website_and_docs/content/documentation/webdriver/interactions/windows.ja.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -721,22 +721,9 @@ begin
721721

722722
end
723723
{{< /tab >}}
724-
{{< tab header="JavaScript" >}}
725-
let {Builder} = require('selenium-webdriver');
726-
let fs = require('fs');
727-
728-
(async function example() {
729-
let driver = await new Builder()
730-
.forBrowser('chrome')
731-
.build();
732-
733-
await driver.get('https://www.example.com');
734-
// Returns base64 encoded string
735-
let encodedString = await driver.takeScreenshot();
736-
await fs.writeFileSync('./image.png', encodedString, 'base64');
737-
await driver.quit();
738-
}())
739-
{{< /tab >}}
724+
{{< tab header="JavaScript" text=true >}}
725+
{{< gh-codeblock path="examples/javascript/test/interactions/windows.spec.js#L56-L59" >}}
726+
{{< /tab >}}
740727
{{< tab header="Kotlin" >}}
741728
import com.oracle.tools.packager.IOUtils.copyFile
742729
import org.openqa.selenium.*

website_and_docs/content/documentation/webdriver/interactions/windows.pt-br.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -738,22 +738,9 @@ begin
738738

739739
end
740740
{{< /tab >}}
741-
{{< tab header="JavaScript" >}}
742-
let {Builder} = require('selenium-webdriver');
743-
let fs = require('fs');
744-
745-
(async function example() {
746-
let driver = await new Builder()
747-
.forBrowser('chrome')
748-
.build();
749-
750-
await driver.get('https://www.example.com');
751-
// Returns base64 encoded string
752-
let encodedString = await driver.takeScreenshot();
753-
await fs.writeFileSync('./image.png', encodedString, 'base64');
754-
await driver.quit();
755-
}())
756-
{{< /tab >}}
741+
{{< tab header="JavaScript" text=true >}}
742+
{{< gh-codeblock path="examples/javascript/test/interactions/windows.spec.js#L56-L59" >}}
743+
{{< /tab >}}
757744
{{< tab header="Kotlin" >}}
758745
import com.oracle.tools.packager.IOUtils.copyFile
759746
import org.openqa.selenium.*

website_and_docs/content/documentation/webdriver/interactions/windows.zh-cn.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -700,21 +700,8 @@ driver.save_screenshot('./image.png')
700700

701701
end
702702
{{< /tab >}}
703-
{{< tab header="JavaScript" >}}
704-
let {Builder} = require('selenium-webdriver');
705-
let fs = require('fs');
706-
707-
(async function example() {
708-
let driver = await new Builder()
709-
.forBrowser('chrome')
710-
.build();
711-
712-
await driver.get('https://www.example.com');
713-
// Returns base64 encoded string
714-
let encodedString = await driver.takeScreenshot();
715-
await fs.writeFileSync('./image.png', encodedString, 'base64');
716-
await driver.quit();
717-
}())
703+
{{< tab header="JavaScript" text=true >}}
704+
{{< gh-codeblock path="examples/javascript/test/interactions/windows.spec.js#L56-L59" >}}
718705
{{< /tab >}}
719706
{{< tab header="Kotlin" >}}
720707
import com.oracle.tools.packager.IOUtils.copyFile

0 commit comments

Comments
 (0)