2016-05-16 6 views
0

C#でXamrain UI Test FWK(Xamarin Test Cloud)を使用してテストケースを自動化しています。Xamarin UIテストを使用してカスタム属性を持つ要素を見つける方法FWK

私は以下のような要素を持っている:

<Button gen-id="1234">....</Button> 

私は、「ID」と「クラス」というの属性を持っていない上のボタンをタップします。 私は以下のコードを試しましたが、それは私のために働いていません。

Xamarin.UITest.Android.AndroidApp.Tap(c => c.Property("gen-id", "1234")); 

いずれか、この問題について助けてください。

+0

コントロールをサブクラス化せずにXAMLを拡張する際に例外を発生させないカスタムカスタム属性の追加方法を教えてください。 – SushiHangover

+0

これは既に存在するアプリケーションであり、Xamarinを使用して開発されたものではなく、通常のHTML5を使用して開発されたハイブリッドアプリケーションです。 HTMLファイルでこのカスタム属性を初期化しました。今私はXamarin UI Test FWKを使って、このアプリケーションのオートメーションテストケースを開発しています。 – Avinash

答えて

0

あなたは、以下のようなカスタムインターフェイスからそれを継承しようとし、次にボタンの前のコードを編集することが許可されている場合は、次の

interface CustomAttribute 
{ 
    string gen_id{get;set;} 
} 

は今継承されたボタンクラスを使用してgen_idタグを設定します。 .droidプロジェクトのMainActivityで は、次の行を追加します。

Xamarin.Forms.Forms.ViewInitialized += (object sender, Xamarin.Forms.ViewInitializedEventArgs e) => 
{ 
     (e.View is CustomAttribute && !string.IsNullOrWhiteSpace((e.View as CustomAttribute).gen_id)) 
      { 
       e.NativeView.SetTag ("gen-id", (e.View as CustomAttribute).gen_id); 
      } 
}; 

今、あなたはテストプロジェクトにGEN-IDを見つけることができるはずです。 (私はこのコードをテストして実行していません)

+0

こんにちはVishnu、あなたが提供したコードは、ビューにカスタム属性を追加することです。しかし私はすでに私の見解ではカスタム属性の要素を持っています。私の質問は、Xamarin UI Test FWKのカスタム属性(gen-id)を持つボタンを探したいのです。 – Avinash

+0

[全要素](https://developer.xamarin.com/api/type/Xamarin.UITest.Queries.AppQuery/)とそのプロパティ(または各要素のRaw文字列)を印刷して、属性「gen- id "が出現していますか?そうでない場合は、上記のコードを使用して要素の「gen-id」をプロパティとして取得し、Propertyのクエリが機能するようにします。 – Vishnu

+0

私はすべての要素をコードapp.Query(c => c.All())を使用して印刷できます。私はDOMで "gen-id"を見ることができますが、Xamarin Test FWKを使って "gen-id = 1234"という要素を問い合わせる必要があります。どうやってやるの? – Avinash

関連する問題