Skip to content

Commit 626b692

Browse files
harsha509diemol
andcommitted
Add: Adding fluent wait sample code for ruby and javascript (SeleniumHQ#168)
Signed-off-by: Sri Harsha <[email protected]> Co-authored-by: Diego Molina <[email protected]>
1 parent fa1921d commit 626b692

File tree

8 files changed

+160
-16
lines changed

8 files changed

+160
-16
lines changed

docs_source_files/content/webdriver/waits.de.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,10 +467,28 @@ using (var driver = new FirefoxDriver())
467467
}
468468
{{< / code-panel >}}
469469
{{< code-panel language="ruby" >}}
470-
# We don't have a Ruby code sample yet - Help us out and raise a PR
470+
require 'selenium-webdriver'
471+
driver = Selenium::WebDriver.for :firefox
472+
exception = Selenium::WebDriver::Error::NoSuchElementError
473+
474+
begin
475+
driver.get 'http://somedomain/url_that_delays_loading'
476+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
477+
foo = wait.until { driver.find_element(id: 'foo')}
478+
ensure
479+
driver.quit
480+
end
471481
{{< / code-panel >}}
472482
{{< code-panel language="javascript" >}}
473-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
483+
const {Builder, until} = require('selenium-webdriver');
484+
485+
(async function example() {
486+
let driver = await new Builder().forBrowser('firefox').build();
487+
await driver.get('http://somedomain/url_that_delays_loading');
488+
// Waiting 30 seconds for an element to be present on the page, checking
489+
// for its presence once every 5 seconds.
490+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
491+
})();
474492
{{< / code-panel >}}
475493
{{< code-panel language="kotlin" >}}
476494
val wait = FluentWait<WebDriver>(getWebDriver())

docs_source_files/content/webdriver/waits.en.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,10 +462,28 @@ using (var driver = new FirefoxDriver())
462462
}
463463
{{< / code-panel >}}
464464
{{< code-panel language="ruby" >}}
465-
# We don't have a Ruby code sample yet - Help us out and raise a PR
465+
require 'selenium-webdriver'
466+
driver = Selenium::WebDriver.for :firefox
467+
exception = Selenium::WebDriver::Error::NoSuchElementError
468+
469+
begin
470+
driver.get 'http://somedomain/url_that_delays_loading'
471+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
472+
foo = wait.until { driver.find_element(id: 'foo')}
473+
ensure
474+
driver.quit
475+
end
466476
{{< / code-panel >}}
467477
{{< code-panel language="javascript" >}}
468-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
478+
const {Builder, until} = require('selenium-webdriver');
479+
480+
(async function example() {
481+
let driver = await new Builder().forBrowser('firefox').build();
482+
await driver.get('http://somedomain/url_that_delays_loading');
483+
// Waiting 30 seconds for an element to be present on the page, checking
484+
// for its presence once every 5 seconds.
485+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
486+
})();
469487
{{< / code-panel >}}
470488
{{< code-panel language="kotlin" >}}
471489
val wait = FluentWait<WebDriver>(getWebDriver())

docs_source_files/content/webdriver/waits.es.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -468,10 +468,28 @@ using (var driver = new FirefoxDriver())
468468
}
469469
{{< / code-panel >}}
470470
{{< code-panel language="ruby" >}}
471-
# We don't have a Ruby code sample yet - Help us out and raise a PR
471+
require 'selenium-webdriver'
472+
driver = Selenium::WebDriver.for :firefox
473+
exception = Selenium::WebDriver::Error::NoSuchElementError
474+
475+
begin
476+
driver.get 'http://somedomain/url_that_delays_loading'
477+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
478+
foo = wait.until { driver.find_element(id: 'foo')}
479+
ensure
480+
driver.quit
481+
end
472482
{{< / code-panel >}}
473483
{{< code-panel language="javascript" >}}
474-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
484+
const {Builder, until} = require('selenium-webdriver');
485+
486+
(async function example() {
487+
let driver = await new Builder().forBrowser('firefox').build();
488+
await driver.get('http://somedomain/url_that_delays_loading');
489+
// Waiting 30 seconds for an element to be present on the page, checking
490+
// for its presence once every 5 seconds.
491+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
492+
})();
475493
{{< / code-panel >}}
476494
{{< code-panel language="kotlin" >}}
477495
val wait = FluentWait<WebDriver>(getWebDriver())

docs_source_files/content/webdriver/waits.fr.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,10 +467,28 @@ using (var driver = new FirefoxDriver())
467467
}
468468
{{< / code-panel >}}
469469
{{< code-panel language="ruby" >}}
470-
# We don't have a Ruby code sample yet - Help us out and raise a PR
470+
require 'selenium-webdriver'
471+
driver = Selenium::WebDriver.for :firefox
472+
exception = Selenium::WebDriver::Error::NoSuchElementError
473+
474+
begin
475+
driver.get 'http://somedomain/url_that_delays_loading'
476+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
477+
foo = wait.until { driver.find_element(id: 'foo')}
478+
ensure
479+
driver.quit
480+
end
471481
{{< / code-panel >}}
472482
{{< code-panel language="javascript" >}}
473-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
483+
const {Builder, until} = require('selenium-webdriver');
484+
485+
(async function example() {
486+
let driver = await new Builder().forBrowser('firefox').build();
487+
await driver.get('http://somedomain/url_that_delays_loading');
488+
// Waiting 30 seconds for an element to be present on the page, checking
489+
// for its presence once every 5 seconds.
490+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
491+
})();
474492
{{< / code-panel >}}
475493
{{< code-panel language="kotlin" >}}
476494
val wait = FluentWait<WebDriver>(getWebDriver())

docs_source_files/content/webdriver/waits.ja.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -466,10 +466,28 @@ using (var driver = new FirefoxDriver())
466466
}
467467
{{< / code-panel >}}
468468
{{< code-panel language="ruby" >}}
469-
# We don't have a Ruby code sample yet - Help us out and raise a PR
469+
require 'selenium-webdriver'
470+
driver = Selenium::WebDriver.for :firefox
471+
exception = Selenium::WebDriver::Error::NoSuchElementError
472+
473+
begin
474+
driver.get 'http://somedomain/url_that_delays_loading'
475+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
476+
foo = wait.until { driver.find_element(id: 'foo')}
477+
ensure
478+
driver.quit
479+
end
470480
{{< / code-panel >}}
471481
{{< code-panel language="javascript" >}}
472-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
482+
const {Builder, until} = require('selenium-webdriver');
483+
484+
(async function example() {
485+
let driver = await new Builder().forBrowser('firefox').build();
486+
await driver.get('http://somedomain/url_that_delays_loading');
487+
// Waiting 30 seconds for an element to be present on the page, checking
488+
// for its presence once every 5 seconds.
489+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
490+
})();
473491
{{< / code-panel >}}
474492
{{< code-panel language="kotlin" >}}
475493
val wait = FluentWait<WebDriver>(getWebDriver())

docs_source_files/content/webdriver/waits.ko.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -468,10 +468,28 @@ using (var driver = new FirefoxDriver())
468468
}
469469
{{< / code-panel >}}
470470
{{< code-panel language="ruby" >}}
471-
# We don't have a Ruby code sample yet - Help us out and raise a PR
471+
require 'selenium-webdriver'
472+
driver = Selenium::WebDriver.for :firefox
473+
exception = Selenium::WebDriver::Error::NoSuchElementError
474+
475+
begin
476+
driver.get 'http://somedomain/url_that_delays_loading'
477+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
478+
foo = wait.until { driver.find_element(id: 'foo')}
479+
ensure
480+
driver.quit
481+
end
472482
{{< / code-panel >}}
473483
{{< code-panel language="javascript" >}}
474-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
484+
const {Builder, until} = require('selenium-webdriver');
485+
486+
(async function example() {
487+
let driver = await new Builder().forBrowser('firefox').build();
488+
await driver.get('http://somedomain/url_that_delays_loading');
489+
// Waiting 30 seconds for an element to be present on the page, checking
490+
// for its presence once every 5 seconds.
491+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
492+
})();
475493
{{< / code-panel >}}
476494
{{< code-panel language="kotlin" >}}
477495
val wait = FluentWait<WebDriver>(getWebDriver())

docs_source_files/content/webdriver/waits.nl.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -465,10 +465,28 @@ using (var driver = new FirefoxDriver())
465465
var foo = wait.Until(drv => drv.FindElement(By.Id("foo")));
466466
} {{< / code-panel >}}
467467
{{< code-panel language="ruby" >}}
468-
# We don't have a Ruby code sample yet - Help us out and raise a PR
468+
require 'selenium-webdriver'
469+
driver = Selenium::WebDriver.for :firefox
470+
exception = Selenium::WebDriver::Error::NoSuchElementError
471+
472+
begin
473+
driver.get 'http://somedomain/url_that_delays_loading'
474+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
475+
foo = wait.until { driver.find_element(id: 'foo')}
476+
ensure
477+
driver.quit
478+
end
469479
{{< / code-panel >}}
470480
{{< code-panel language="javascript" >}}
471-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
481+
const {Builder, until} = require('selenium-webdriver');
482+
483+
(async function example() {
484+
let driver = await new Builder().forBrowser('firefox').build();
485+
await driver.get('http://somedomain/url_that_delays_loading');
486+
// Waiting 30 seconds for an element to be present on the page, checking
487+
// for its presence once every 5 seconds.
488+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
489+
})();
472490
{{< / code-panel >}}
473491
{{< code-panel language="kotlin" >}}
474492
val wait = FluentWait<WebDriver>(getWebDriver())

docs_source_files/content/webdriver/waits.zh-cn.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -465,10 +465,28 @@ using (var driver = new FirefoxDriver())
465465
var foo = wait.Until(drv => drv.FindElement(By.Id("foo")));
466466
} {{< / code-panel >}}
467467
{{< code-panel language="ruby" >}}
468-
# We don't have a Ruby code sample yet - Help us out and raise a PR
468+
require 'selenium-webdriver'
469+
driver = Selenium::WebDriver.for :firefox
470+
exception = Selenium::WebDriver::Error::NoSuchElementError
471+
472+
begin
473+
driver.get 'http://somedomain/url_that_delays_loading'
474+
wait = Selenium::WebDriver::Wait.new(timeout: 30, interval: 5, message: 'Timed out after 30 sec', ignore: exception)
475+
foo = wait.until { driver.find_element(id: 'foo')}
476+
ensure
477+
driver.quit
478+
end
469479
{{< / code-panel >}}
470480
{{< code-panel language="javascript" >}}
471-
// We don't have a JavaScript code sample yet - Help us out and raise a PR
481+
const {Builder, until} = require('selenium-webdriver');
482+
483+
(async function example() {
484+
let driver = await new Builder().forBrowser('firefox').build();
485+
await driver.get('http://somedomain/url_that_delays_loading');
486+
// Waiting 30 seconds for an element to be present on the page, checking
487+
// for its presence once every 5 seconds.
488+
let foo = await driver.wait(until.elementLocated(By.id('foo')), 30000, 'Timed out after 30 seconds', 5000);
489+
})();
472490
{{< / code-panel >}}
473491
{{< code-panel language="kotlin" >}}
474492
val wait = FluentWait<WebDriver>(getWebDriver())

0 commit comments

Comments
 (0)