2016-09-28 10 views
0

Я автоматизирую тестовые примеры приложений IOS с помощью Appium. У меня есть сценарий, в котором я должен определить .. Я на каком экране, чтобы я мог закрыть экранКак определить имя экрана или контроллер просмотра в приложении IOS

В более широком представлении у нас есть уведомление inapp в нашем приложении, которое открывается открытым способом.

Так что я могу справиться с этими условиями, если бы смог идентифицировать текущий экран. я обрабатывать то же самое в Android, используя метод driver.currentActivity

Мне нужна какая-то же метода для IOS приложений

+0

Смотрите эту ссылку может помочь вам - http://stackoverflow.com/questions/22882078/how-to-get-visible-viewcontroller-from-app-delegate-when-using-storyboard –

ответ

0

вы получите самый верхний вид контроллера с помощью метода ниже

+ (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]; 

}

+0

I я использую java для своих сценариев автоматизации. Пожалуйста, дайте мне знать, как я могу запустить ваш фрагмент кода в среде java, – argneshu

 Смежные вопросы

  • Нет связанных вопросов^_^