actions_test.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. 'use strict';
  18. var Browser = require('..').Browser,
  19. By = require('..').By,
  20. until = require('..').until,
  21. test = require('../lib/test'),
  22. fileServer = require('../lib/test/fileserver');
  23. test.suite(function(env) {
  24. var driver;
  25. test.beforeEach(function*() { driver = yield env.builder().build(); });
  26. test.afterEach(function() { return driver.quit(); });
  27. test.ignore(
  28. env.browsers(Browser.FIREFOX, Browser.PHANTOM_JS, Browser.SAFARI)).
  29. describe('WebDriver.actions()', function() {
  30. test.it('can move to and click element in an iframe', function*() {
  31. yield driver.get(fileServer.whereIs('click_tests/click_in_iframe.html'));
  32. yield driver.wait(until.elementLocated(By.id('ifr')), 5000)
  33. .then(frame => driver.switchTo().frame(frame));
  34. let link = yield driver.findElement(By.id('link'));
  35. yield driver.actions()
  36. .mouseMove(link)
  37. .click()
  38. .perform();
  39. return driver.wait(until.titleIs('Submitted Successfully!'), 5000);
  40. });
  41. });
  42. });