2

私はXamarinを使用してVisual Studio 2013のcross-platformアプリケーションの自動化に取り組んでいます。そして、私は現在、ページ上のテキストフィールドから値を読み取るのに苦労しています。これを行うために使用できる方法はありますか?要素のXamarin UIテストのテキストフィールドから値を読み取るREPL

REPLから属性:

Id => "app_url", 
Label => "ApplicationUrlEntryField", 
Text => "https://myurladdress.com", 
Class => "android.widget.AutoCompleteTextView", 
Enabled => true 

今、私は=>https://myurladdress.com

おかげでテキスト値を必要としています。

[EDIT]

実際にそれを解決:

app.Query(x => x.Marked("ApplicationUrlEntryField").Invoke("getText")); - そのID

+2

あなたはREPLを起動した後、あなたは[ 'tree'コマンド](https://developer.xamarin.com/guides/testcloud/uitest/working-with/repl/#Discovering_Views_With_the_tree_Command)を実行することができます。これにより、画面に表示されるビューのリストとその 'text'プロパティが表示されます。 – Demitrian

答えて

5

によってテキストの値を取得あなたは値を取得するためにapp.QueryからTextプロパティを使用することができます。

また、何か理由でapp.Queryが失敗した場合は、ヌルチェックを含めてstring.Emptyを返すのが好きです。

string GetApplicationUrlEntryFieldText() 
{ 
    System.Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery> applicationUrlEntryField = x => x.Marked("ApplicationUrlEntryField"); 

    app.WaitForElement(applicationUrlEntryField); 

    var applicationUrlEntryFieldQuery = app.Query(applicationUrlEntryField); 

    return applicationUrlEntryFieldQuery?.FirstOrDefault()?.Text ?? string.Empty; 
} 
+1

ありがとう、これは私を助けてくれました。 – miskegm

関連する問題