iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – Xcode 7 UI测试后,如何重新设置每次测试后的应用程序数据?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

苹果在Xcode 7中引入了新的UI测试,但是每当测试启动应用程序时,我都会遇到困难,它以应用程序以前的数据开始。这意味着测试不能独立,可以受其他测试的影响。 由于运行测试的应用程序无法访问测试应用程序的捆绑包,因此无法访问用户默认值和其他数据。脚本也没有问题,因为它们可以在测试之前或之后运行。而没有办法在iOS上执行NSTask,以便在每个测试套件之前运行脚本。 有没有办法在每个测试套件之前重置
苹果在Xcode 7中引入了新的UI测试,但是每当测试启动应用程序时,我都会遇到困难,它以应用程序以前的数据开始。这意味着测试不能独立,可以受其他测试的影响。 @H_301_7@

@H_301_7@由于运行测试的应用程序无法访问测试应用程序的捆绑包,因此无法访问用户认值和其他数据。脚本也没有问题,因为它们可以在测试之前或之后运行。而没有办法在iOS上执行NSTask,以便在每个测试套件之前运行脚本。

@H_301_7@有没有办法在每个测试套件之前重置应用程序数据?

解决方法

不是直接的方式。但是有一些解决方法。 @H_301_7@

@H_301_7@XCUIApplication可以设置可以改变应用程序行为的命令行参数和环境变量。

@H_301_7@一个简单的main.m文件例:

@H_301_7@

int main(int argc,char * argv[]) {
#if DEBUG
    // Reset all data for UI TesTing
    @autoreleasepool {
        for (int i = 1; i < argc; ++i) {
            if (0 == strcmp("--reset-container",argv[i])) {
                NSArray *folders = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
                NSFileManager *fm = [[NSFileManager alloc] init];
                for (NSString *path in folders) {
                    [fm removeItemAtPath:path error:nil];
                }
                // Also remove documents folder if necessary...
            }
        }
    }
#endif
    @autoreleasepool {
        return UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class]));
    }
}
@H_301_7@在 – [XCTESTCase setUp]中添加

@H_301_7@

XCUIApplication *app = [[XCUIApplication alloc] init];
app.launchArguments = @[@"--reset-container"];
[app launch];
@H_674_38@

大佬总结

以上是大佬教程为你收集整理的ios – Xcode 7 UI测试后,如何重新设置每次测试后的应用程序数据?全部内容,希望文章能够帮你解决ios – Xcode 7 UI测试后,如何重新设置每次测试后的应用程序数据?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。