1

夜間監視とセレンを使用して、システムテスト中にノックアウトドラッグ可能なドラッグ&ドロップを試みています。手動で使用しながら100%動作します。Nightwatch + Seleniumでドラッグアンドドロップが機能しない

this.moveToElement('@box', 0, 0); 
c.mouseButtonDown(0); 
this.moveToElement('@box2', 0, 40); 
c.mouseButtonUp(0); 
this

クライアントされているページ(ここで、XPathの要素である)とcである:これは、ドラッグ可能なボックスをドラッグアンドドロップすることになっているシステムテストからのコードです。

しかし、これは2番目のボックス(約40ピクセル高い)の下にボックスを移動することさえできないようです。はい、私は異なった数を試しました、そして、箱をどこにでもドラッグしません。 Firefoxで完了しました。

はい、@box@box2の両方が動作するxpathです。私はしばらくの間、それらを他のテストのために使用してきました。

+0

私はこのライブラリを使用しようとしていました:https://github.com/Kuniwak/html-dnd しかし、それは私のために働いていないようです、あなたのプロジェクトでこれを試すことができます – Hikaryu

答えて

1

いかが私はこの問題のcustomCommandを作っc.mouseButtonDown(0);this.moveToElement('@box2', 0, 40);

0

間の休止を入れました。それは問題なく動作しています。

module.exports.command = function (LocatorFrom, LocatorTo, callback) { 

    var self = this; 

    this 
    .getLocation(LocatorTo, function (result) { 
     let xto = result.value.x; 
     let yto = result.value.y; 

     this.moveToElement(LocatorFrom, 10, 10) 
     .mouseButtonDown(0) 
     .pause(2000) 
     .moveToElement(LocatorTo, xto, yto) 
     .pause(2000) 
     .mouseButtonUp(0); 
     return this; 
    }); 



    return this; 
}; 
0

皆さんはこれを試してみる必要があり、Chrome、Firefox、IEでは正常に動作します。

ちょうどあなたがNPMを使用して "HTML-DND" をインストールする必要があり、同様に、これはリンクです -
https://www.npmjs.com/package/html-dnd

あなただけのこのコマンドを実行する必要がインストールした後:については
browser.execute(dragAndDrop, ['#draggable', '#droppable']);

を例:
browser.execute(dragAndDrop,['#elemendId1', '#elemendId2']).pause(2000);

これはテストケースでうまくいくと思っています。

関連する問題