Javascript 将元素拖放到特定位置-Selenium、WebDriverJS
我正在尝试使用Javascript 将元素拖放到特定位置-Selenium、WebDriverJS,javascript,selenium,webdriver,jasmine,Javascript,Selenium,Webdriver,Jasmine,我正在尝试使用Selenium、WebDriverJS和Jasmine创建一个测试,以验证无论何时通过拖放选择将li元素向右移动,都不应再显示它。这是我的代码片段: it('should make the card disappear when the UI is swiped right', function() { var card1 = driver.findElement(webdriver.By.css('.slide:nth-last-child(1)')); var
Selenium
、WebDriverJS
和Jasmine
创建一个测试,以验证无论何时通过拖放选择将li
元素向右移动,都不应再显示它。这是我的代码片段:
it('should make the card disappear when the UI is swiped right', function() {
var card1 = driver.findElement(webdriver.By.css('.slide:nth-last-child(1)'));
var card1Move = driver.executeScript('arguments[0].setAttribute("style", "right:250px")', card1);
driver.actions()
.mouseMove(card1)
.mouseDown()
.mouseMove(card1Move)
.mouseUp()
.perform();
driver.findElement(webdriver.By.css('.slide:nth-last-child(1)')).isDisplayed()
.then(function(elem) {
expect(elem).toBe(false);
});
})
该函数似乎正在工作,但出现以下错误:
Failures:
1) Swiping method should make the card disappear when the UI is swiped right
Message:
TypeError: location.getRawId is not a function
Stack:
TypeError: location.getRawId is not a function
at webdriver.ActionSequence.mouseMove (/Users/.../node_modules/selenium-webdriver/lib/webdriver/actionsequence.js:108:46)
at Object.<anonymous> (/Users/.../tests/index.js:27:14)
故障:
1) 当用户界面正确刷卡时,刷卡方法应使卡消失
信息:
TypeError:location.getRawId不是函数
堆栈:
TypeError:location.getRawId不是函数
在webdriver.ActionSequence.mouseMove(/Users/../node\u modules/selenium webdriver/lib/webdriver/ActionSequence.js:108:46)
反对。(/Users/../tests/index.js:27:14)
根据测试,错误在.mouseMove(card1Move)
方法中。
你知道是什么导致了这个问题,以及解决这个问题的可能方法吗?提前感谢您的回复 将mouseMove(card1Move)
替换为mouseMove({x:offsetFromCenter,y:offsetFromCenter})
e、 g.
mouseMove({x:100,y:0})
将移动100px到card1中心的右侧。当前您也可以这样做
.dragAndDrop(card1, { x: 100, y: 0 })
它正是这样做的-mouseDown(元素).mouseMove(位置).mouseUp()
请参见我在量角器中遇到了相同的错误“失败:location.getRawId不是函数”-我的问题是找不到我正在搜索的元素。它是否在不同的浏览器中复制?您是否也可以发布完整的错误回溯?谢谢,就在Firefox里。当然我刚刚为您更新了它。如何使用php webdriver实现?没错,这里也是