Appiumを使用してIOSアプリケーションのテストケースを自動化しています。私は識別する必要があるシナリオを持っています。私は画面を閉じることができるようにどの画面にあるのですか?IOSアプリケーションで画面名やコントローラを確認する方法
より広い視野では、私たちはアプリケーション内でランダムな方法で開くinapp通知を持っています。
私は現在の画面を識別できる場合、私はこれらの条件を処理することができます。 は、私は、IOSのために同じ方法のいくつかの種類が
Appiumを使用してIOSアプリケーションのテストケースを自動化しています。私は識別する必要があるシナリオを持っています。私は画面を閉じることができるようにどの画面にあるのですか?IOSアプリケーションで画面名やコントローラを確認する方法
より広い視野では、私たちはアプリケーション内でランダムな方法で開くinapp通知を持っています。
私は現在の画面を識別できる場合、私はこれらの条件を処理することができます。 は、私は、IOSのために同じ方法のいくつかの種類が
あなたは法の下に使用して最上位のビューコントローラを取得するアプリ必要driver.currentActivity方法
を使ってAndroidの中で同じことを扱う
+ (UIViewController*) topMostController
{
UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
while (topController.presentedViewController) {
topController = topController.presentedViewController;
}
return topController;
}
ナビゲーションまたはUIabbarコントローラがある場合は、以下の方法を使用して表示コントローラを表示します
- (void)applicationWillResignActive:(UIApplication *)application
{
UIViewController *vc = [self visibleViewController:[UIApplication sharedApplication].keyWindow.rootViewController];
}
- (UIViewController *)visibleViewController:(UIViewController *)rootViewController
{
if (rootViewController.presentedViewController == nil)
{
return rootViewController;
}
if ([rootViewController.presentedViewController isKindOfClass:[UINavigationController class]])
{
UINavigationController *navigationController = (UINavigationController *)rootViewController.presentedViewController;
UIViewController *lastViewController = [[navigationController viewControllers] lastObject];
return [self visibleViewController:lastViewController];
}
if ([rootViewController.presentedViewController isKindOfClass:[UITabBarController class]])
{
UITabBarController *tabBarController = (UITabBarController *)rootViewController.presentedViewController;
UIViewController *selectedViewController = tabBarController.selectedViewController;
return [self visibleViewController:selectedViewController];
}
UIViewController *presentedViewController = (UIViewController *)rootViewController.presentedViewController;
return [self visibleViewController:presentedViewController];
}
I私の自動化スクリプトのためにJavaを使用しています。私はどのようにJava環境でコードの一部を実行することができます私に教えてください、 – argneshu
このリンクはあなたを助けるかもしれない参照してください - http://stackoverflow.com/questions/22882078/how-to-get-visible-viewcontroller-from-app-delegate-when-using-storyboard –