Download - User Scenario based UI testing with KIF

Transcript
Page 1: User Scenario based UI testing with KIF

KIFScenario based testing for iOStrippiece Inc. @kitauske

Page 2: User Scenario based UI testing with KIF
Page 3: User Scenario based UI testing with KIF

What's UI testing?

Page 4: User Scenario based UI testing with KIF

Use case scenarionot jsut for a screen

Page 5: User Scenario based UI testing with KIF

What's use case scenario?

Page 6: User Scenario based UI testing with KIF

Home → Detail → Buy

Page 7: User Scenario based UI testing with KIF

User Interface Flow Testing

Page 8: User Scenario based UI testing with KIF

Main use case scenariosin trippiece

- Home → Detail → Note → Fav

- Home → Favs → Detail → Comment → Note

- Detail → Others Profile → Others favs → Join

Page 9: User Scenario based UI testing with KIF

Introduction to KIF

target 'Acceptance Tests', :exclusive => true do pod 'KIF', '~> 3.0', :configurations => ['Debug']end

Page 10: User Scenario based UI testing with KIF

How to use

Page 11: User Scenario based UI testing with KIF

1.Set AccessibilityLabel

2.Run Action

#import <KIF/KIF.h>

@interface HomeTests: KIFTestCase@end

@implementation HomeTests

- (void)testHome{ [tester tapViewWithAccessibilityLabel:@"HomeTableView"];}

@end

Page 12: User Scenario based UI testing with KIF

DEMO

Page 13: User Scenario based UI testing with KIF

Screenshot- (void)capture{ UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; UIGraphicsBeginImageContextWithOptions(keyWindow.bounds.size, NO, 0); CGContextRef context = UIGraphicsGetCurrentContext(); NSArray *windows = [[UIApplication sharedApplication] windows]; [windows enumerateObjectsUsingBlock:^(UIWindow *window, NSUInteger idx, BOOL *stop) { [window.layer renderInContext:context]; }];

UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [UIImagePNGRepresentation(image) writeToFile:@"hoge.png" atomically:YES];}

Page 14: User Scenario based UI testing with KIF

GIFImageMagick

convert -delay 100 -loop 1 *.png movie.gif

Page 15: User Scenario based UI testing with KIF

Work In Progress

- Send screenshots or GIF to S3