2017-01-09 24 views
0

私のHTML DOMはタグを含んでおり、srcの値は動的に生成されます。一例として、スクリーンショットの下に参照してください。nightwatchテストケースでiframe srcの値を動的に取得するにはどうすればよいですか?

enter image description here

私が選択したiframeタグの下にDOMをテストしたい:

私はフレームをロードし、中にアサートコードを配置する方法を下回る使用
<iframe class="ide-page-frame" ng-src="http://localhost:8080/che/wksp-rn6c?uid=514006" src="http://localhost:8080/che/wksp-rn6c?uid=514006"></iframe> 

コールバック関数しかし、それはどんなdomも見つけません。コードは次のようになります。

browser 
    .url('http://localhost:8080/dashboard/#/ide/che/wksp-rn6c') 
    .frame(".ide-page-frame",()=>{ 
     // it can't find any dom here 
    }) 
    }) 

私が直接、動的URL http://localhost:8080/che/wksp-rn6c?uid=514006をロードする場合、DOM要素を見つけることができます。だから私はテストケースのiframe srcからURLを取得する方法を知りたい。ナイトウォッチは$(.ide-page-frame).getAttribute('src')のようなものをサポートしていますか?

答えて

0

私は( "IDE-ページフレーム ")あなたの問題はbrowser.iframeであることを考える

  • ナイトウォッチはID =" IDE-ページフレーム" を有するのiFrameを探します。あなたのページに存在しない

フレームIDが見つからないかnullの場合、サーバは ページのデフォルトのコンテンツに切り替える必要があります。

私の命題:ID = "IDE-ページ枠" でクラス= "IDE-ページフレーム"を変更することにより、をあなたのiFrameの作成を変更する(またはあなただけIDを追加することができますし、してください

<iframe id="ide-page-frame" class="ide-page-frame" ng-src="http://localhost:8080/che/wksp-rn6c?uid=514006" src="http://localhost:8080/che/wksp-rn6c?uid=514006"></iframe> 

これはあなたの問題を解決しない)クラスを保ちますか?

+0

'.ide-page-frame'はクラスセレクタまたはidセレクタですか? –

+0

@ ZhaoYi