モバイルアプリの自動テストフレームワークとBDD(Behavior-Driven Development)とは何ですか?モバイルアプリ(BDD)の自動テストフレームワーク
Xamarin.IOSモバイルアプリ用に独自の自動化フレームワークを開発するにはどうすればよいですか?
モバイルアプリの自動テストフレームワークとBDD(Behavior-Driven Development)とは何ですか?モバイルアプリ(BDD)の自動テストフレームワーク
Xamarin.IOSモバイルアプリ用に独自の自動化フレームワークを開発するにはどうすればよいですか?
独自のフレームワークを作成する必要はありません - UITestとSpecFlowを使用してあなたのためにすべての苦労をしました。
自動テスト:
XamarinはすでにiOSとUITestと呼ばれるAndroidアプリ上で動作自動化フレームワークを持っています。あなたはテストフレームワークとしてNUnit(ただし最大2.6.4まで、NUnit 3はまだサポートされていません)を使ってC#を使ってテストを書いて、あなたのアプリケーションと直接対話したり、ビジュアルツリーを照会したり、テキストを入力したり、ボタンをタップしたり、どのコントロールが表示されているかチェックし、バックドアにアクセスすることもできます(テキストの目的でアプリケーションのコード)。クラスのメソッドを呼び出します(ビジュアルツリーにない値をチェックするのに便利です)。 UIテストをしたら、シミュレータや物理デバイス上で実行することも、テストクラウドで充分に豊かな、クラウド内の何千もの物理デバイスを感じることができます。あなたは自分の開発者向けサイトで、この上で詳細を読むことができます
:
https://developer.xamarin.com/guides/testcloud/uitest/intro-to-uitest/
BDD
あなたがUITestを使用していたら、それはSpecFlowを使用してBDDを開始することはとても簡単です。これを可能にするVisual Studio拡張機能とXamarin Studioアドインがあります。本質的に、BDDシナリオを記述して、舞台裏でNUnitテストを作成します。それはNUnitなので、あなたのシナリオがあなたのアプリで起こっている事を自動化するように、UITestを簡単に使うことができます。
あなたは私は非常にグレッグ足かせから良いガイド(画面オブジェクトパターンにされるまで読んで書くためにあなたのテストを容易にするためにhttp://www.specflow.org
画面オブジェクトパターン
でSpecFlowの詳細を読むことができますここに:http://gregshackles.com/testing-xamarin-apps-screen-object-pattern/)。このパターンでは、各画面を抽象化することができます。そのため、UIが変更された場合は、画面定義クラスを更新するだけです。次に、画面クラスを参照する各画面のBDDステップを含むステップ・クラスを作成し、シナリオではこれらのステップを使用できます。
その他のリソース
ます場合はポッドキャストのように私は非常に前述のグレッグ足かせが主催最近ゴーンモバイルのエピソードを(お勧めします!)ここで、彼らはこの議論:Xamarin大学からhttp://gonemobile.io/blog/e0035.mobile.testing.with.alexandra.marin/
ロブGibbensもこの上の偉大なブログの記事があります。http://arteksoftware.com/bdd-tests-with-xamarin-uitest-and-specflow/
我々は仕事で怒りにこれを使用する - 私たちは、すべてのプル要求のためのUIテストの小さなスイートを実行します幅広いデバイス上のすべてを覆う巨大な夜間走行などがあります。すべての単一のテストは、画面オブジェクトパターンを使用して一連のSpecFlowシナリオとして記述されます。社内サーバーに接続する必要があるため、さまざまな物理デバイスでローカルにテストを行いますが、テストクラウドを使用して特定のデバイスでのみ発生する問題を調査することがあります。
自動テストフレームワークでは、繰り返しの作業を最小限に抑えるテスト手順がいくつかあります。テストケースは、異なるデータセットで画面上で実行されます。 BDDは、サンプル・データ・セットが開発中にすでに生成され使用され、実装が正しいことを確認する技術です。
ありがとうMohamaad。 しかし、私はBDDの新機能です。 あなたは私に例を教えてくれますか?私は傷から始めることができますか 私自身のフレームワークを作成できますか? – manoj
@manoj appiumでの作業を始めるには、YouTubeでの検索がたくさんありますが、私はそれを解読することができます:まずあなたの電話を接続してadbで接続し、appiumサーバーを起動してからappium、任意の言語を使用できますが、私はネットAPIを使用しています。 – mohammad
C#で自分のオートメーションテストを書いてもいいですか? – manoj