aboutsummaryrefslogtreecommitdiff
path: root/node_modules/selenium-webdriver/test/firefox
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-11-16 01:59:39 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-11-16 02:00:31 +0100
commitbd65bb67e25a79b019d745b7262b2008ce2adb15 (patch)
tree89e1b032103a63737f1a703e6a943832ef261704 /node_modules/selenium-webdriver/test/firefox
parentf91466595b651721690133f58ab37f977539e95b (diff)
incrementally verify denoms
The denominations are not stored in a separate object store.
Diffstat (limited to 'node_modules/selenium-webdriver/test/firefox')
-rw-r--r--node_modules/selenium-webdriver/test/firefox/firefox_test.js124
-rw-r--r--node_modules/selenium-webdriver/test/firefox/profile_test.js1
2 files changed, 75 insertions, 50 deletions
diff --git a/node_modules/selenium-webdriver/test/firefox/firefox_test.js b/node_modules/selenium-webdriver/test/firefox/firefox_test.js
index 6f3f4b3d9..485964f91 100644
--- a/node_modules/selenium-webdriver/test/firefox/firefox_test.js
+++ b/node_modules/selenium-webdriver/test/firefox/firefox_test.js
@@ -44,11 +44,30 @@ test.suite(function(env) {
test.afterEach(function() {
if (driver) {
- driver.quit();
+ return driver.quit();
}
});
- test.it('can start Firefox with custom preferences', function() {
+ /**
+ * Runs a test that requires Firefox Developer Edition. The test will be
+ * skipped if dev cannot be found on the current system.
+ */
+ function runWithFirefoxDev(options, testFn) {
+ let binary = new firefox.Binary();
+ binary.useDevEdition();
+ return binary.locate().then(exe => {
+ options.setBinary(exe);
+ driver = env.builder()
+ .setFirefoxOptions(options)
+ .build();
+ return driver.call(testFn);
+ }, err => {
+ console.warn(
+ 'Skipping test: could not find Firefox Dev Edition: ' + err);
+ });
+ }
+
+ test.it('can start Firefox with custom preferences', function*() {
var profile = new firefox.Profile();
profile.setPreference('general.useragent.override', 'foo;bar');
@@ -58,68 +77,72 @@ test.suite(function(env) {
setFirefoxOptions(options).
build();
- driver.get('data:text/html,<html><div>content</div></html>');
+ yield driver.get('data:text/html,<html><div>content</div></html>');
- var userAgent = driver.executeScript(
+ var userAgent = yield driver.executeScript(
'return window.navigator.userAgent');
assert(userAgent).equalTo('foo;bar');
});
test.it('can start Firefox with a jetpack extension', function() {
- var profile = new firefox.Profile();
+ let profile = new firefox.Profile();
profile.addExtension(JETPACK_EXTENSION);
- var options = new firefox.Options().setProfile(profile);
+ let options = new firefox.Options().setProfile(profile);
- driver = env.builder().
- setFirefoxOptions(options).
- build();
+ return runWithFirefoxDev(options, function*() {
+ yield loadJetpackPage(driver,
+ 'data:text/html;charset=UTF-8,<html><div>content</div></html>');
- loadJetpackPage(driver,
- 'data:text/html;charset=UTF-8,<html><div>content</div></html>');
- assert(driver.findElement({id: 'jetpack-sample-banner'}).getText())
- .equalTo('Hello, world!');
+ let text =
+ yield driver.findElement({id: 'jetpack-sample-banner'}).getText();
+ assert(text).equalTo('Hello, world!');
+ });
});
test.it('can start Firefox with a normal extension', function() {
- var profile = new firefox.Profile();
+ let profile = new firefox.Profile();
profile.addExtension(NORMAL_EXTENSION);
- var options = new firefox.Options().setProfile(profile);
+ let options = new firefox.Options().setProfile(profile);
- driver = env.builder().
- setFirefoxOptions(options).
- build();
+ return runWithFirefoxDev(options, function*() {
+ yield driver.get('data:text/html,<html><div>content</div></html>');
- driver.get('data:text/html,<html><div>content</div></html>');
- assert(driver.findElement({id: 'sample-extension-footer'}).getText())
- .equalTo('Goodbye');
+ let footer =
+ yield driver.findElement({id: 'sample-extension-footer'});
+ let text = yield footer.getText();
+ assert(text).equalTo('Goodbye');
+ });
});
test.it('can start Firefox with multiple extensions', function() {
- var profile = new firefox.Profile();
+ let profile = new firefox.Profile();
profile.addExtension(JETPACK_EXTENSION);
profile.addExtension(NORMAL_EXTENSION);
- var options = new firefox.Options().setProfile(profile);
+ let options = new firefox.Options().setProfile(profile);
- driver = env.builder().
- setFirefoxOptions(options).
- build();
+ return runWithFirefoxDev(options, function*() {
+ yield loadJetpackPage(driver,
+ 'data:text/html;charset=UTF-8,<html><div>content</div></html>');
+
+ let banner =
+ yield driver.findElement({id: 'jetpack-sample-banner'}).getText();
+ assert(banner).equalTo('Hello, world!');
- loadJetpackPage(driver,
- 'data:text/html;charset=UTF-8,<html><div>content</div></html>');
- assert(driver.findElement({id: 'jetpack-sample-banner'}).getText())
- .equalTo('Hello, world!');
- assert(driver.findElement({id: 'sample-extension-footer'}).getText())
- .equalTo('Goodbye');
+ let footer =
+ yield driver.findElement({id: 'sample-extension-footer'})
+ .getText();
+ assert(footer).equalTo('Goodbye');
+ });
});
function loadJetpackPage(driver, url) {
// On linux the jetpack extension does not always run the first time
// we load a page. If this happens, just reload the page (a simple
// refresh doesn't appear to work).
- driver.wait(function() {
+ return driver.wait(function() {
driver.get(url);
return driver.findElements({id: 'jetpack-sample-banner'})
.then(found => found.length > 0);
@@ -131,21 +154,21 @@ test.suite(function(env) {
var driver1, driver2;
test.ignore(env.isRemote).
- it('can start multiple sessions with single binary instance', function() {
+ it('can start multiple sessions with single binary instance', function*() {
var options = new firefox.Options().setBinary(new firefox.Binary);
env.builder().setFirefoxOptions(options);
- driver1 = env.builder().build();
- driver2 = env.builder().build();
+ driver1 = yield env.builder().build();
+ driver2 = yield env.builder().build();
// Ok if this doesn't fail.
});
- test.afterEach(function() {
+ test.afterEach(function*() {
if (driver1) {
- driver1.quit();
+ yield driver1.quit();
}
if (driver2) {
- driver2.quit();
+ yield driver2.quit();
}
});
});
@@ -153,32 +176,35 @@ test.suite(function(env) {
describe('context switching', function() {
var driver;
- test.beforeEach(function() {
- driver = env.builder().build();
+ test.beforeEach(function*() {
+ driver = yield env.builder().build();
});
test.afterEach(function() {
if (driver) {
- driver.quit();
+ return driver.quit();
}
});
test.ignore(() => !env.isMarionette).
it('can get context', function() {
- assert(driver.getContext()).equalTo(Context.CONTENT);
+ return assert(driver.getContext()).equalTo(Context.CONTENT);
});
test.ignore(() => !env.isMarionette).
- it('can set context', function() {
- driver.setContext(Context.CHROME);
- assert(driver.getContext()).equalTo(Context.CHROME);
- driver.setContext(Context.CONTENT);
- assert(driver.getContext()).equalTo(Context.CONTENT);
+ it('can set context', function*() {
+ yield driver.setContext(Context.CHROME);
+ let ctxt = yield driver.getContext();
+ assert(ctxt).equalTo(Context.CHROME);
+
+ yield driver.setContext(Context.CONTENT);
+ ctxt = yield driver.getContext();
+ assert(ctxt).equalTo(Context.CONTENT);
});
test.ignore(() => !env.isMarionette).
it('throws on unknown context', function() {
- driver.setContext("foo").then(assert.fail, function(e) {
+ return driver.setContext("foo").then(assert.fail, function(e) {
assert(e).instanceOf(error.InvalidArgumentError);
});
});
diff --git a/node_modules/selenium-webdriver/test/firefox/profile_test.js b/node_modules/selenium-webdriver/test/firefox/profile_test.js
index 807c07b72..de61c26b5 100644
--- a/node_modules/selenium-webdriver/test/firefox/profile_test.js
+++ b/node_modules/selenium-webdriver/test/firefox/profile_test.js
@@ -52,7 +52,6 @@ describe('Profile', function() {
it('allows overriding mutable properties', function() {
var profile = new Profile();
- assert.equal('about:blank', profile.getPreference('browser.newtab.url'));
profile.setPreference('browser.newtab.url', 'http://www.example.com');
assert.equal('http://www.example.com',