Xamarin Forms を UITest で動作させようとしていますが、iOS で StyleId プロパティを設定できないようです (Android のライセンスがありません)。
すべてのドキュメントに従いました。これまでに行った手順は次のとおりです。
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 コンテンツ ページ:
<?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>
さて、キッカーは次のとおりです。
アプリケーションをデバッグすると、ハンドラーの呼び出しがアプリケーション出力に書き込んでいるため、StyleId が設定されていることがはっきりとわかります。しかし、私が持っている単体テストをデバッグし、REPL からクエリを実行すると、ゼロの結果が返されるため、StyleId プロパティが配線されているようには見えません。Console.WriteLine
Forms.ViewInitialized
AppDelegate
app.Query(c => c.Marked("Test"))
テスト スコープでアプリケーションを実行するときのアプリケーションのコンソール出力を確認したいのですが、[アプリケーション出力] ウィンドウまたは [テスト結果] ウィンドウ (出力をオンに切り替えた状態) に何も出力されないようです...
私が欠けているものに関するアイデアはありますか?