我对量角器v~5.3.0有疑问。我试图从此网站拖放一个元素:https://www.html5rocks.com/en/tutorials/dnd/basics/
在底部,我们可以拖放四个方格。但通过量角器,我只能拖动元素,但不能放下它。这是我写的代码。请让我知道我做错了什么。提前致谢。
describe('germi App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
browser.waitForAngularEnabled(false);
});
it('should drag and drop with JavaScript', async () => {
await page.navigate2();
const element1 = element(by.xpath('//*[@id="columns-full"]/div[1]'));
const element2 = element(by.xpath('//*[@id="columns-full"]/div[2]'));
browser.sleep(10000);
/* browser
.actions()
.dragAndDrop(element1, element2)
.perform();
browser.sleep(5000); */
browser.actions().
mouseDown(element1).
mouseMove(element2).
mouseUp().
perform();
browser.sleep(5000);
});
});
如果你想检查我的navigate2功能。
navigate2() {
return browser.get("https://www.html5rocks.com/en/tutorials/dnd/basics/");
}
答案 0 :(得分:0)
我有同样的问题。
最后我能够使用 browser.driver 来解决它。
在需要时间同步的AngularJS应用程序上效果更好。在许多情况下,browser.driver更可靠。
retrofit.newBuilder()
.client(anotherOkHttpClientWithOtherAttributes.build())
.build()
希望这会对你有所帮助!
答案 1 :(得分:0)
当前的网络驱动程序不支持HTML5元素的拖放功能。您必须使用一些JavaScript触发dragenter,dragover和drop事件。
<强>解决方案:强>
在测试中,您可以使用
执行拖动选项params
有关其他信息,请参阅http://elementalselenium.com/tips/39-drag-and-drop。希望这对你有帮助!
答案 2 :(得分:0)
请尝试以下代码
*/
我所做的更改是此行,因为 dragAndDrop()方法将webElement作为输入参数。
.dragAndDrop(等待element1.getWebElement(),等待element2.getWebElement())