我目前正在使用Webdriver IO,Chimp JS和Cucumber JS,而且我很难将一个元素拖到iframe内部的另一个元素上。我已经能够找到我要移动的元素,以及使用client.frame(0);
后iframe中的元素但是我还没有找到点击元素的方法,切换到iframe找到我要移动的元素,然后移动元素。
为了方便起见,这是一张照片。我想将元素1移动到元素2.但元素2在iframe中:
Looking through the docs,我看到很多可能有用的操作,例如hold,release ext。但我正在桌面上工作,所以我不能使用任何移动操作。
有了这个限制,看起来我可用的唯一拖放功能是dragAndDrop,但似乎没有办法将对象拖放到iframe中的元素中Webdriver的javascript版本。我在想这个是正确的吗?有没有办法单独使用Cucumber JS?我觉得我在这里遗漏了一些巨大的东西,但我似乎无法弄明白:\
答案 0 :(得分:0)
我使用的selenium独立驱动程序是selenium-server-standalone-2.50.0.jar(selenium-release.storage.googleapis.com/index.html?path=2.50/),我使用的chrome驱动程序是ChromeDriver 2.29( https://sites.google.com/a/chromium.org/chromedriver/downloads)
var webdriverio = require('webdriverio'),
dragAndDrop = require('html-dnd').codeForSelectors,
should = require('should');
// a test script block or suite
describe('Title Test for Web Driver IO - Tutorial Test Page Website', function() {
// set timeout to 10 seconds
this.timeout(10000);
var driver = {};
// hook to run before tests
before( function () {
// load the driver for browser
driver = webdriverio.remote({ desiredCapabilities: {browserName: 'chrome'} });
return driver.init();
});
// a test spec - "specification"
it('should be load correct page and title', function () {
var sectionId = "";
// load page, then call function()
return driver
.url('http://localhost:9000') //your url
.pause(7000)
.moveToObject('#element1')
.buttonDown()
.moveToObject('#element2')
.buttonUp()
.pause(2000)
.end()
});
// a "hook" to run after all tests in this block
after(function() {
return driver.end();
});
});