Я пытаюсь получить Xamarin Forms, работающий с UITest, и я не могу заставить свойство StyleId устанавливать в iOS (у меня нет лицензии для Android).Xamarin Forms не устанавливает StyleId для UITest
Я следовал всю документацию и эти шаги я взял до сих пор:
AppDelegate:
static readonly IntPtr setAccessibilityIdentifier_Handle = Selector.GetHandle("setAccessibilityIdentifier:");
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
Forms.Init();
Forms.ViewInitialized += (object sender, ViewInitializedEventArgs e) => {
// http://developer.xamarin.com/recipes/testcloud/set-accessibilityidentifier-ios/
if (null != e.View.StyleId) {
e.NativeView.AccessibilityIdentifier = e.View.StyleId;
Console.WriteLine("Set AccessibilityIdentifier: " + e.View.StyleId);
}
};
...
#if DEBUG
Xamarin.Calabash.Start();
#endif
...
}
XAML ContentPage:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Ignite.Abacus.Mobile.OptionsView"
Title="Options">
<ContentPage.Content>
<StackLayout>
<Label Text="Test" StyleId="Test" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
Теперь, вот кикер:
Если я отлажу приложение, я могу cl начало см. StyleId получает набор, потому что вызов Console.WriteLine
в обработчике Forms.ViewInitialized
в AppDelegate
записывает на выход приложения. Но если я отлаживаю модульный тест, который у меня есть и запрашивает его из REPL, он, похоже, не подключает свойство StyleId, потому что app.Query(c => c.Marked("Test"))
возвращает нулевые результаты.
Я хотел бы видеть консольный вывод приложения при его запуске в области проверки - но он, кажется, ничего не выводит ни в окно вывода приложения, ни в окно результатов теста (с включенным выходом) ...
Любые идеи относительно того, чего я не хватает?
Ба - это должен быть что-то с моим конкретным проектом - я могу получить UITest работать в новом проекте просто отлично, но у меня проблемы. Я просто перестрою файл проекта. –