Skip to content

Commit 2160dea

Browse files
authored
[js] Adding code sample for Mutation Observation (SeleniumHQ#793) [deploy site]
1 parent 3e98d41 commit 2160dea

File tree

9 files changed

+225
-9
lines changed

9 files changed

+225
-9
lines changed

website_and_docs/content/documentation/webdriver/bidi_apis.de.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,31 @@ ensure
169169
end
170170
{{< /tab >}}
171171
{{< tab header="JavaScript" >}}
172-
# Please raise a PR to add code sample
172+
const {Builder, until} = require('selenium-webdriver');
173+
const assert = require("assert");
174+
175+
(async function example() {
176+
try {
177+
let driver = await new Builder()
178+
.forBrowser('chrome')
179+
.build();
180+
181+
const cdpConnection = await driver.createCDPConnection();
182+
await driver.logMutationEvents(cdpConnection, event => {
183+
assert.deepStrictEqual(event['attribute_name'], 'style');
184+
assert.deepStrictEqual(event['current_value'], "");
185+
assert.deepStrictEqual(event['old_value'], "display:none;");
186+
});
187+
188+
await driver.get('dynamic.html');
189+
await driver.findElement({id: 'reveal'}).click();
190+
let revealed = driver.findElement({id: 'revealed'});
191+
await driver.wait(until.elementIsVisible(revealed), 5000);
192+
await driver.quit();
193+
}catch (e){
194+
console.log(e)
195+
}
196+
}())
173197
{{< /tab >}}
174198
{{< tab header="Kotlin" >}}
175199
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.en.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,31 @@ ensure
160160
end
161161
{{< /tab >}}
162162
{{< tab header="JavaScript" >}}
163-
# Please raise a PR to add code sample
163+
const {Builder, until} = require('selenium-webdriver');
164+
const assert = require("assert");
165+
166+
(async function example() {
167+
try {
168+
let driver = await new Builder()
169+
.forBrowser('chrome')
170+
.build();
171+
172+
const cdpConnection = await driver.createCDPConnection();
173+
await driver.logMutationEvents(cdpConnection, event => {
174+
assert.deepStrictEqual(event['attribute_name'], 'style');
175+
assert.deepStrictEqual(event['current_value'], "");
176+
assert.deepStrictEqual(event['old_value'], "display:none;");
177+
});
178+
179+
await driver.get('dynamic.html');
180+
await driver.findElement({id: 'reveal'}).click();
181+
let revealed = driver.findElement({id: 'revealed'});
182+
await driver.wait(until.elementIsVisible(revealed), 5000);
183+
await driver.quit();
184+
}catch (e){
185+
console.log(e)
186+
}
187+
}())
164188
{{< /tab >}}
165189
{{< tab header="Kotlin" >}}
166190
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.es.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,31 @@ ensure
161161
end
162162
{{< /tab >}}
163163
{{< tab header="JavaScript" >}}
164-
# Please raise a PR to add code sample
164+
const {Builder, until} = require('selenium-webdriver');
165+
const assert = require("assert");
166+
167+
(async function example() {
168+
try {
169+
let driver = await new Builder()
170+
.forBrowser('chrome')
171+
.build();
172+
173+
const cdpConnection = await driver.createCDPConnection();
174+
await driver.logMutationEvents(cdpConnection, event => {
175+
assert.deepStrictEqual(event['attribute_name'], 'style');
176+
assert.deepStrictEqual(event['current_value'], "");
177+
assert.deepStrictEqual(event['old_value'], "display:none;");
178+
});
179+
180+
await driver.get('dynamic.html');
181+
await driver.findElement({id: 'reveal'}).click();
182+
let revealed = driver.findElement({id: 'revealed'});
183+
await driver.wait(until.elementIsVisible(revealed), 5000);
184+
await driver.quit();
185+
}catch (e){
186+
console.log(e)
187+
}
188+
}())
165189
{{< /tab >}}
166190
{{< tab header="Kotlin" >}}
167191
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.fr.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,31 @@ ensure
169169
end
170170
{{< /tab >}}
171171
{{< tab header="JavaScript" >}}
172-
# Please raise a PR to add code sample
172+
const {Builder, until} = require('selenium-webdriver');
173+
const assert = require("assert");
174+
175+
(async function example() {
176+
try {
177+
let driver = await new Builder()
178+
.forBrowser('chrome')
179+
.build();
180+
181+
const cdpConnection = await driver.createCDPConnection();
182+
await driver.logMutationEvents(cdpConnection, event => {
183+
assert.deepStrictEqual(event['attribute_name'], 'style');
184+
assert.deepStrictEqual(event['current_value'], "");
185+
assert.deepStrictEqual(event['old_value'], "display:none;");
186+
});
187+
188+
await driver.get('dynamic.html');
189+
await driver.findElement({id: 'reveal'}).click();
190+
let revealed = driver.findElement({id: 'revealed'});
191+
await driver.wait(until.elementIsVisible(revealed), 5000);
192+
await driver.quit();
193+
}catch (e){
194+
console.log(e)
195+
}
196+
}())
173197
{{< /tab >}}
174198
{{< tab header="Kotlin" >}}
175199
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.ja.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,31 @@ ensure
169169
end
170170
{{< /tab >}}
171171
{{< tab header="JavaScript" >}}
172-
# Please raise a PR to add code sample
172+
const {Builder, until} = require('selenium-webdriver');
173+
const assert = require("assert");
174+
175+
(async function example() {
176+
try {
177+
let driver = await new Builder()
178+
.forBrowser('chrome')
179+
.build();
180+
181+
const cdpConnection = await driver.createCDPConnection();
182+
await driver.logMutationEvents(cdpConnection, event => {
183+
assert.deepStrictEqual(event['attribute_name'], 'style');
184+
assert.deepStrictEqual(event['current_value'], "");
185+
assert.deepStrictEqual(event['old_value'], "display:none;");
186+
});
187+
188+
await driver.get('dynamic.html');
189+
await driver.findElement({id: 'reveal'}).click();
190+
let revealed = driver.findElement({id: 'revealed'});
191+
await driver.wait(until.elementIsVisible(revealed), 5000);
192+
await driver.quit();
193+
}catch (e){
194+
console.log(e)
195+
}
196+
}())
173197
{{< /tab >}}
174198
{{< tab header="Kotlin" >}}
175199
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.ko.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,31 @@ ensure
169169
end
170170
{{< /tab >}}
171171
{{< tab header="JavaScript" >}}
172-
# Please raise a PR to add code sample
172+
const {Builder, until} = require('selenium-webdriver');
173+
const assert = require("assert");
174+
175+
(async function example() {
176+
try {
177+
let driver = await new Builder()
178+
.forBrowser('chrome')
179+
.build();
180+
181+
const cdpConnection = await driver.createCDPConnection();
182+
await driver.logMutationEvents(cdpConnection, event => {
183+
assert.deepStrictEqual(event['attribute_name'], 'style');
184+
assert.deepStrictEqual(event['current_value'], "");
185+
assert.deepStrictEqual(event['old_value'], "display:none;");
186+
});
187+
188+
await driver.get('dynamic.html');
189+
await driver.findElement({id: 'reveal'}).click();
190+
let revealed = driver.findElement({id: 'revealed'});
191+
await driver.wait(until.elementIsVisible(revealed), 5000);
192+
await driver.quit();
193+
}catch (e){
194+
console.log(e)
195+
}
196+
}())
173197
{{< /tab >}}
174198
{{< tab header="Kotlin" >}}
175199
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.nl.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,31 @@ ensure
169169
end
170170
{{< /tab >}}
171171
{{< tab header="JavaScript" >}}
172-
# Please raise a PR to add code sample
172+
const {Builder, until} = require('selenium-webdriver');
173+
const assert = require("assert");
174+
175+
(async function example() {
176+
try {
177+
let driver = await new Builder()
178+
.forBrowser('chrome')
179+
.build();
180+
181+
const cdpConnection = await driver.createCDPConnection();
182+
await driver.logMutationEvents(cdpConnection, event => {
183+
assert.deepStrictEqual(event['attribute_name'], 'style');
184+
assert.deepStrictEqual(event['current_value'], "");
185+
assert.deepStrictEqual(event['old_value'], "display:none;");
186+
});
187+
188+
await driver.get('dynamic.html');
189+
await driver.findElement({id: 'reveal'}).click();
190+
let revealed = driver.findElement({id: 'revealed'});
191+
await driver.wait(until.elementIsVisible(revealed), 5000);
192+
await driver.quit();
193+
}catch (e){
194+
console.log(e)
195+
}
196+
}())
173197
{{< /tab >}}
174198
{{< tab header="Kotlin" >}}
175199
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.pt-br.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,31 @@ ensure
169169
end
170170
{{< /tab >}}
171171
{{< tab header="JavaScript" >}}
172-
# Please raise a PR to add code sample
172+
const {Builder, until} = require('selenium-webdriver');
173+
const assert = require("assert");
174+
175+
(async function example() {
176+
try {
177+
let driver = await new Builder()
178+
.forBrowser('chrome')
179+
.build();
180+
181+
const cdpConnection = await driver.createCDPConnection();
182+
await driver.logMutationEvents(cdpConnection, event => {
183+
assert.deepStrictEqual(event['attribute_name'], 'style');
184+
assert.deepStrictEqual(event['current_value'], "");
185+
assert.deepStrictEqual(event['old_value'], "display:none;");
186+
});
187+
188+
await driver.get('dynamic.html');
189+
await driver.findElement({id: 'reveal'}).click();
190+
let revealed = driver.findElement({id: 'revealed'});
191+
await driver.wait(until.elementIsVisible(revealed), 5000);
192+
await driver.quit();
193+
}catch (e){
194+
console.log(e)
195+
}
196+
}())
173197
{{< /tab >}}
174198
{{< tab header="Kotlin" >}}
175199
# Please raise a PR to add code sample

website_and_docs/content/documentation/webdriver/bidi_apis.zh-cn.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,31 @@ ensure
170170
end
171171
{{< /tab >}}
172172
{{< tab header="JavaScript" >}}
173-
# Please raise a PR to add code sample
173+
const {Builder, until} = require('selenium-webdriver');
174+
const assert = require("assert");
175+
176+
(async function example() {
177+
try {
178+
let driver = await new Builder()
179+
.forBrowser('chrome')
180+
.build();
181+
182+
const cdpConnection = await driver.createCDPConnection();
183+
await driver.logMutationEvents(cdpConnection, event => {
184+
assert.deepStrictEqual(event['attribute_name'], 'style');
185+
assert.deepStrictEqual(event['current_value'], "");
186+
assert.deepStrictEqual(event['old_value'], "display:none;");
187+
});
188+
189+
await driver.get('dynamic.html');
190+
await driver.findElement({id: 'reveal'}).click();
191+
let revealed = driver.findElement({id: 'revealed'});
192+
await driver.wait(until.elementIsVisible(revealed), 5000);
193+
await driver.quit();
194+
}catch (e){
195+
console.log(e)
196+
}
197+
}())
174198
{{< /tab >}}
175199
{{< tab header="Kotlin" >}}
176200
# Please raise a PR to add code sample

0 commit comments

Comments
 (0)