Я пытаюсь создать пользовательский элемент управления в Xamarin.Forms, который имеет уникальный идентификатор для автоматизации. Итак, я установил свойство contentDescription для android рендерера. Итак, я могу получить свойство AppResult.Label для идентификации элемента управления. Но мои требования таковы, как получить свойство text элемента управления? Какое свойство я должен установить на уровне управления с соответствующим текстом, чтобы получить его в свойстве AppResult.Text .
[Test]
[Description("SampleTest")]
public void WelcomeTextIsDisplayed()
{
App.Repl();
AppResult[] results = App.WaitForElement("myControl");
Assert.IsTrue(results[0].Text == "My Control Text", results[0].Text + "\n" + results[0].Description + "\n" + results[0].Id + "\n" + results[0].Label);
}
Для получения дополнительной информации я подготовил простой пример, чтобы лучше объяснить о моем случае. Здесь я получил свой собственный элемент управления из Grid и ввел свойство Text. Когда я пытаюсь просмотреть элемент с помощью метода Repl (), он не показывает свойство Text, но показывает свойства текста для элементов управления Label & Entry.
<StackLayout >
<Label Text="Hello, Custom Renderer!" />
<local:MyEntry Text="In Shared Code" AutomationId="myEntry" />
<local1:CustomView Text="Sample" BackgroundColor="Red" HeightRequest="500" AutomationId="customControl" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"/>
</StackLayout>
public class CustomView : Grid
{
public CustomView()
{
}
public static readonly BindableProperty TextProperty = BindableProperty.Create("Text", typeof(string), typeof(string),string.Empty);
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
Результат при вызове App.Repl (),
![enter image description here](https://i.stack.imgur.com/nTGCi.png)