google_search_test.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // Licensed to the Software Freedom Conservancy (SFC) under one
  2. // or more contributor license agreements. See the NOTICE file
  3. // distributed with this work for additional information
  4. // regarding copyright ownership. The SFC licenses this file
  5. // to you under the Apache License, Version 2.0 (the
  6. // "License"); you may not use this file except in compliance
  7. // with the License. You may obtain a copy of the License at
  8. //
  9. // http://www.apache.org/licenses/LICENSE-2.0
  10. //
  11. // Unless required by applicable law or agreed to in writing,
  12. // software distributed under the License is distributed on an
  13. // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  14. // KIND, either express or implied. See the License for the
  15. // specific language governing permissions and limitations
  16. // under the License.
  17. /**
  18. * @fileoverview An example test that may be run using Mocha.
  19. *
  20. * Usage:
  21. *
  22. * mocha -t 10000 selenium-webdriver/example/google_search_test.js
  23. *
  24. * You can change which browser is started with the SELENIUM_BROWSER environment
  25. * variable:
  26. *
  27. * SELENIUM_BROWSER=chrome \
  28. * mocha -t 10000 selenium-webdriver/example/google_search_test.js
  29. */
  30. const {Builder, By, Key, until} = require('..');
  31. const test = require('../testing');
  32. test.describe('Google Search', function() {
  33. let driver;
  34. test.before(function *() {
  35. driver = yield new Builder().forBrowser('firefox').build();
  36. });
  37. // You can write tests either using traditional promises.
  38. it('works with promises', function() {
  39. return driver.get('http://www.google.com/ncr')
  40. .then(_ =>
  41. driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN))
  42. .then(_ => driver.wait(until.titleIs('webdriver - Google Search'), 1000));
  43. });
  44. // Or you can define the test as a generator function. The test will wait for
  45. // any yielded promises to resolve before invoking the next step in the
  46. // generator.
  47. test.it('works with generators', function*() {
  48. yield driver.get('http://www.google.com/ncr');
  49. yield driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN);
  50. yield driver.wait(until.titleIs('webdriver - Google Search'), 1000);
  51. });
  52. test.after(() => driver.quit());
  53. });