1

一連のコード化されたUIテストの一部として、メニューがクリックされます。ただし、メニュー(Javascriptを使用)はメニューオプションの読み込みに失敗します。テストを手動で実行すると、メニューは正常に機能します。テストの実行中にページを更新すると(またはブラウザを再起動すると)、メニューオプションが読み込まれます。

しかし、さらに奇妙なのは、これはリモートテスト環境でのみ発生することです。自分のマシンでローカルにテストを実行すると、コード化されたUIテストがテストを実行している場合でもメニューが機能します。

メニューの読み込みに失敗する理由は、私にはまったく意味がありません。コード化されたUIテストは、Javascriptの実行を停止する可能性がありますか(メニューオプションをロードするため)?しかし、ページを更新するとなぜ機能するのですか?

自分の環境とテスト環境を比較すると、違いはわかりません。まったく同じWebアプリケーションに対してテストしています(URLは同じWebサーバーを指しています)。これはInternetExplorerの同じバージョンであり、すべての設定が同じであることがわかります。同じオペレーティングシステム(Windows 7)。

何か案は?

注意すべき点の1つは、テストはIE7ドキュメントモードで正常に機能したことです。ただし、Javascriptの動作はここではおそらく異なる可能性があります。現在、IE9ドキュメントモードでWebアプリケーションに対してテストを実行しています。ドキュメントモードをQuirksモードに変更すると、一部の状況でテストが機能するようになりましたが、一部のテストのみでした。

4

2 に答える 2

1

この理由は、IE9互換モードとIE9ドキュメントモードでテストを記録しているためです。IE9ドキュメントモードは、VS2010でのアクション記録ではサポートされていません。

ただし、リモート環境でのテスト再生中にドキュメントモードをIE8ドキュメントモードに切り替えても、ブラウザのダイアログが失敗します。

したがって、この問題に対する実際の解決策はありません。

さらに、この理由から、コード化されたUIテストはIE9と互換性がある(VS2010 SP1でも)というMicrosoftの主張に異議を唱えます。

そのため、ブラウザーダイアログまたはJavaScriptメニューを備えたWebページをテストする前に、VS2012コード化UIテストツール(おそらくIE9を完全にサポートする)まで待つしかありません。

于 2012-08-22T17:37:06.157 に答える
0

私は同様の問題に遭遇しました-テストエージェントによって実行されたコード化されたUIテストがそれを操作しようとすると、私のページの高度なJavaScriptの一部が単に失敗します(VS2010、IE9標準)。

互換性モード(IE9 compat / IE7 docモード)に切り替えると、解決したばかりの別の問題が発生しました。コントロールの内部テキストが大幅に変更され、検索/フィルターのプロパティが破損していました。

これらのプロパティを更新すると、VMの互換モード、または私のマシンのIE9標準でテストが正しく機能するようになりました。

于 2012-09-24T21:25:42.987 に答える