3
A
回答
2
这个搞乱了一会儿后,我已将此添加到我的KIFTestStep.m
+ (id)stepToTakeScreenShotwithName:(NSString *)name;
{
NSString *description = [NSString stringWithFormat:@"Take a screenshot saved by the name %@", name];
return [self stepWithDescription:description executionBlock:^(KIFTestStep *step, NSError **error) {
NSString *outputPath = [NSString stringWithFormat:@"/Users/%@/ScreenShots", NSUserName()];
NSArray *windows = [[UIApplication sharedApplication] windows];
if (windows.count == 0) {
return KIFTestStepResultFailure;
}
UIGraphicsBeginImageContext([[windows objectAtIndex:0] bounds].size);
for (UIWindow *window in windows) {
[window.layer renderInContext:UIGraphicsGetCurrentContext()];
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
NSNumber *timeStampObj = [NSNumber numberWithDouble: timeStamp];
outputPath = [outputPath stringByExpandingTildeInPath];
outputPath = [outputPath stringByAppendingPathComponent:[name stringByReplacingOccurrencesOfString:@"/" withString:@"_"]];
outputPath = [outputPath stringByAppendingString:[timeStampObj stringValue]];
outputPath = [outputPath stringByAppendingPathExtension:@"png"];
[UIImagePNGRepresentation(image) writeToFile:outputPath atomically:YES];
return KIFTestStepResultSuccess;
}];
}
3
这在KIF 3.0.4添加。见here。
相关问题
- 1. 以当前屏幕的屏幕截图
- 2. 以整个屏幕的屏幕截图
- 3. SpriteKit屏幕截图的屏幕截图
- 4. 以当前屏幕截图
- 5. 以黄瓜为屏幕截图
- 6. 屏幕截图
- 7. 屏幕截图为黑色
- 8. C++截取屏幕截图
- 9. 截取屏幕截图
- 10. 以屏幕截图(以编程方式)
- 11. Webdriver屏幕截图
- 12. UIWebView屏幕截图
- 13. iPhone屏幕截图
- 14. Roku屏幕截图
- 15. C++屏幕截图
- 16. ASP.NET屏幕截图
- 17. iPhone:屏幕截图
- 18. android屏幕截图
- 19. UICollectionView屏幕截图
- 20. 屏幕截图未连接屏幕截图的软件(RDP)
- 21. 屏幕截图按住屏幕截图时卡住
- 22. 屏幕部分的屏幕截图
- 23. 屏幕截图到任何屏幕(Android Root,就像屏幕截图UX)
- 24. 以多个子视图为屏幕截图作为wkwebview
- 25. 以WebBrowser控件的屏幕截图
- 26. 以silverlight 5/xna拍摄屏幕截图
- 27. 以多屏幕截图硒和java
- 28. 以场景的屏幕截图或2.2
- 29. 以编程方式拍摄整个屏幕的屏幕截图
- 30. Media Projection api可以在棒棒糖主屏幕上截取屏幕截图吗?