1

多くの JS コードを使用して非常に複雑なインターフェイスをテストしています。PyQT (およびその Webkit) を使用します。次のようなクリック イベントをシミュレートします。

evaluateJavaScript("var evObj = document.createEvent('MouseEvents');  vObj.initEvent('click', true, true); this.dispatchEvent(evObj);")

そして、フォームに次の情報を入力します。

evaluateJavaScript('this.value = "%s"' % value)

場合によっては (残念ながら、非常に頻繁に) これらのトリックの両方が失敗することがあります。理由はよくわかりません。無秩序でランダムなようです。これらのイベントは時々実行されないようです。ただし、次のイベントは正常に実行される場合があります。そのため、PyQT はいくつかのイベントを「ドロップ」して見逃しているようです。本当に面倒です。テストを実行できません。理由は何かわかる人いますか?または、少なくとも、イベントを実行し、実際に実行されたことを確認する方法は? 値属性を設定することは大したことではありません。値があるかどうかを簡単に確認できますが、「クリック」が成功したかどうかを追跡するにはどうすればよいでしょうか。

PS PhantomJS は使用しておらず、Flash のサポートがないため使用しません。それを元に戻し、テストを書き直すには時間がかかりすぎます。

君たちありがとう!

4

0 に答える 0