2016-12-21 33 views
0

私は終わりから終わりまでのテストにnightwatchjsを使用しています。私のテストはクロム、ファイアフォックス、すなわちエッジのために合格しますが、テストの1つはファントムズにとって失敗します。 URLのクリックイベントが失敗したようです。リンクのクリックイベントがphantomjsで機能していません

'do somethings' : function(browser) { 
     browser 
      .setValue('input[id=SearchInput]', '000') 
      .click('button[id=Button]') 
      .assert.containsText('label[id=nOutput]', '000') 
      .click('a[id=link]')// this click is not working 
      .pause(1000) 
      .assert.value('input[id=Input]', 'A') 
      .assert.value('input[id=InputB]', 'B') 

      //reset page 
      .click('button[id=__xmlview0--clearButton]') 
      .end() 
    }, 

ありがとうございました。

+0

phantomjsでテストが実行されていないことを意味しますか?また、どのようにあなたは、URLのナビゲーションが起こっていない知って来た? phantomjsは一見無しです – Priya

+0

私がコードで言及したものを除いて、すべてのテストが実行されます。 '.click( 'a [id = link]')'のように見えます。 – user557657

+0

面白いです。コンソールに表示されるエラーを投稿できますか? – Priya

答えて

0

セレンの問題のようです。

https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/5404

セレンは、最初のマウスクリックイベントを送信し、その後、要素の位置を取得します。要素が時間の間に移動した場合、要素はクリックされません。

これも発生しました。テストケースがAをクリックしようとしていますが、Bがクリックされました。まだ解決策を見つけようとしています。

別のプロジェクトで私はまた別の理由に遭遇しました。ページは応答可能です。ブラウザの幅がたとえば1000ピクセル未満の場合は、いくつかの要素がdisplay:noneになります。夜間監視でChromeまたはFirefoxが起動されると、ブラウザウィンドウはフルスクリーンサイズになりますが、ファントムのデフォルトのビューポートサイズが応答条件をトリガーします。だからセレンは私がクリックしたい要素を見つけることさえできません。

関連する問題