2009-08-10 7 views
2

私はロボットテストブラウザの一種を探しています。 Seleniumと似ていますが、私たちのサイトの完全な統合テストに使用できるものです。 WebViewでWebページをロードし、プログラムでクリックイベントを送信するCocoaアプリケーションを作成することが可能かどうかは疑問だ。ココア自動WebView

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script 

をevenetsをクリックして、しかし、あなたはDOMElementsで自分自身にクリックイベントを送ることができれば、それは良いだろうJS送信するには:私はあなたが使用することができます実現しています。そうすれば、ファイルのアップロードやフラッシュのようなjavascriptでアクセスできない他の要素をテストすることができます。これが可能なら誰でも知っていますか?

答えて

2

あなたは、そのフレームのJavaScript documentメソッドを返すために、または任意のフレームの-DOMDocumentメソッド(JavaScriptのwindowオブジェクトに対応するWebScriptingObject*を返す)WebView-windowScriptObjectメソッドを使用して、JavaScriptのNodeオブジェクトに正確に対応するDOMNodeを*オブジェクトを取得することができます。

例:

DOMDocument* d = [[webView mainFrame] DOMDocument]; 
[[[d getElementsByTagName:@"a"] item:0] click]; 
0

Fakeは正確に何をしたいのように聞こえます。 WebKitベース、自動化、タブサポート、JavaScript、アサーション、変数、イベント、ループの評価などの便利な機能を備えた巨大なライブラリです。強くお勧めします。

+0

テストアップロードを処理できますか? – jpoz

+0

良い質問!私はこの単純なワークフローを問題なくテストしました:URLをロードし、HTML要素の値を設定し、HTMLフォームを送信してください。ファイルを期待どおりにサーバーにアップロードしました(ワークフローの[値]フィールドにファイルをドラッグ&ドロップすることもできます)。 –

関連する問題