ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:35.21KB ,
资源ID:9027865      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9027865.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(XCTestAPI文档.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

XCTestAPI文档.docx

1、XCTestAPI文档XCTest准备工作对于新项目,在新建项目界面勾选上UI Tests;对于旧项目,在项目界面点击菜单栏中的FileNewTargetiOSTestiOS UITesting Bundle。sleepForTimeInterval:线程休眠NSTread sleepForTimeInterval:1.0f;也可以使用sleep(3),OC兼容C语言。定义测试用例XCTestCase+ (void)setUp;在类中的第一个测试方法调用之前调用,区别于-(void)setUp:在每个测试方法调用之前都调用。+ (void)tearDown;在类中的最后一个测试方法完成后调用。

2、区别于-(void) tearDown:在每个测试方法调用后都调用。异步测试表达式-(XCTestExpectation *)expectationWithDescription:(NSString *)description;指定时间内满足测试条件则测试通过,超时则输出description。-(void)testAsynExample XCTestExpectation *exp =self expectationWithDescription:这里可以是操作出错的原因描述。;NSOperationQueue *queue =NSOperationQueue allocinit;queue

3、 addOperationWithBlock:/模拟这个异步操作需要2秒后才能获取结果,比如一个异步网络请求 sleep(2);/模拟获取的异步操作后,获取结果,判断异步方法的结果是否正确 XCTAssertEqual(a,a);/如果断言没问题,就调用fulfill宣布测试满足exp fulfill;/设置延迟多少秒后,如果没有满足测试条件就报错self waitForExpectationsWithTimeout:3 handler:(NSError * _Nullable error)if(error) NSLog(Timeout Error: %, error);-(XCTestExp

4、ectation *)expectationForPredicate:(NSPredicate *)predicate evaluatedWithObject:(id)object handler:(XCPredicateExpectationHandler)handler;利用谓词计算,如果限定时间内满足条件则通过测试-(void)testThatBackgroundImageChanges XCTAssertNil(self.button backgroundImageForState:UIControlStateNormal); NSPredicate *predicate =NSPre

5、dicate predicateWithBlock:BOOL(UIButton * _Nonnull button, NSDictionary* _Nullable bindings)returnbutton backgroundImageForState:UIControlStateNormal!=nil;self expectationForPredicate:predicate evaluatedWithObject:self.button handler:nil;self waitForExpectationsWithTimeout:20 handler:nil;-(XCTestExp

6、ectation *)expectationForNotification:(NSString *)notificationName object:(id)objectToObserve handler:(XCNotificationExpectationHandler)handler;监听一个通知,如果在规定时间内正确收到通知则测试通过。-(void)testAsynExample1 self expectationForNotification:(监听通知的名称xxx) object:nil handler:nil;NSNotificationCenter defaultCenterpos

7、tNotificationName:监听通知的名称xxx object:nil;/设置延迟多少秒后,如果没有满足测试条件就报错self waitForExpectationsWithTimeout:3 handler:nil;-(XCTestExpectation *)keyValueObservingExpectationForObject:(id)objectToObserve keyPath:(NSString *)keyPath expectedValue:(id)expectedValue;创建一个KVO观察模式-(XCTestExpectation *)keyValueObserv

8、ingExpectationForObject:(id)objectToObserve keyPath:(NSString *)keyPath handler:(XCKeyValueObservingExpectationHandler)handler;创建一个KVO观察模式-(void)waitForExpectationsWithTimeout:(NSTimeInterval)timeout handler:(XCWaitCompletionHandler)handler;设定等待时间,等待时间内满足所有条件则测试通过,成功或超时都会执行handler block(optional)typ

9、edef BOOL (XCPredicateExpectationHandler)(void);如果未提供Handle,第一次测试通过即满足条件,如果提供了Handle,它能覆盖原有的行为和条件,那么将重新判定是否满足条件。typedefBOOL(XCNotificationExpectationHandler)(NSNotification *notification);获得符合期望的通知时将被调用,满足条件为Yestypedef BOOL (XCKeyValueObservingExpectationHandler)(id observedObject, NSDictionary *cha

10、nge);当KVO监视的值反正改变是调用,满足条件为Yestypedefvoid(XCWaitCompletionHandler)(NSError *error);当测试成功或超时时调用,需要指定error类型,否则error = nil;property BOOL continueAfterFailure;默认为Yes,当case中某条测试语句失败时会继续向下执行,实测只向下执行了一步,待验证。-(void)measureBlock:(void()(void)block;测试块中代码的性能。-(void)measureMetrics:(NSArray*)metrics automatical

11、lyStartMeasuring:(BOOL)automaticallyStartMeasuring forBlock:(void()(void)block;measureBlock的拓展版,当需要自定义测量的开始点和结束点时,又或者要测量多个指标时调用此方法。Metrics:是测量标准数组;automaticallyStartMeasuring为真时,自动开始测试,为假则需要startMeasuring作为启动点。注意在一个代码块中开始点和结束点只能各有一个,出现一下情况时测试将会失败:automaticallyStartMeasuring = YES且代码块中调用了startMeasuri

12、ng方法;automaticalltStattMeasuring = NO 且代码块中没调用或多次调用了startMeasuring方法;在代码块中多次调用了stopMeasuring方法。-(void)startMeasuring;在measureBlock中调用此方法来标记一个测量起点。-(void)stopMeasuring;在measureBlock中调用此方法来标记一个结束点。+(NSArray*)defaultPerformanceMetrics;这是调用measureBlock时默认使用的测量标准数组。-(id)addUIInterruptionMonitorWithDescri

13、ption:(NSString *)handlerDescription handler:(BOOL()(XCUIElement *interruptingElement)handler;在当前上下文中添加一个HandlehandlerDescription:用于阐述这个Handle的作用和行为,主要被用来Debug和分析异步测试XCTestExpectation使用以下XCTestCase方法来创建XCTestExpectation实例:expectationWithDescription:expectationForPredicate:evaluatedWithObject:handler

14、:expectationForNotification:object:handler:keyValueObservingExpectationForObject:keyPath:expectedValue:keyValueObservingExpectationForObject:keyPath:handler:-(void)fulfill;为满足条件的表达式做标记布尔值检测XCTAssert / XCTAssertTrue断言表达式为真,XCTAssert(expression, format.)当expression求值为TRUE时通过;XCTAssert(image exists);XC

15、TAssertTrue(expression, format.)当expression求值为TRUE时通过;XCTAssertTure(image exists);XCTAssertFalse表达式为假,XCTAssertFalse(expression, format.)当expression求值为False时通过;XCTAssertFalse(!image exists);空值检测XCTAssertNil表达式的值为空,XCTAssertNil(a1, format.)为空判断,a1为空时通过,反之不通过;NSArray *array =nil;XCTAssertNil(array);XC

16、TAssertNotNil表达式的值非空,XCTAssertNotNil(a1, format)不为空判断,a1不为空时通过,反之不通过;NSArray *array =NSArray array;XCTAssertNotNil(array);等式检测XCTAssertEqualXCTAssertEqual(a1, a2, format.)判断相等(当a1和a2是 C语言标量、结构体或联合体时使用, 判断的是变量的地址,如果地址相同则返回TRUE,否则返回NO);XCTAssertEqual(array,array2,失败时输出);XCTAssertEqualObjectsXCTAssertE

17、qualObjects(a1, a2, format.)判断相等,a1 isEqual:a2值为TRUE时通过,其中一个不为空时,不通过;XCTAssertEqualObjects(array,array2,失败时输出);XCTAssertEqualWithAccuracyXCTAssertEqualWithAccuracy(a1, a2, accuracy, format.)判断相等,(double或float类型)提供一个误差范围,当在误差范围(+/-accuracy)以内相等时通过测试;XCTAssertEquallWithAccuracy(array,array2,失败时输出);不等式

18、检测XCTAssertNotEqualXCTAssertNotEqual(a1, a2, format.)判断不等(当a1和a2是 C语言标量、结构体或联合体时使用);XCTAssertNotEqual(array,array2,失败时输出);XCTAssertNotEqualObjectsXCTAssertNotEqualObjects(a1, a2, format.)判断不等,a1 isEqual:a2值为False时通过;XCTAssertNotEqualObjects(array,array2,失败时输出);XCTAssertNotEqualWithAccuracyXCTAssertN

19、otEqualWithAccuracy(a1, a2, accuracy, format.) 判断不等,(double或float类型)提供一个误差范围,当在误差范围以内不等时通过测试;XCTAssertNotEquallWithAccuracy(array,array2,失败时输出);相对值检测XCTAssertGreaterThan:A BXCTAssertGreaterThan(floatB,floatA,Fail Output);XCTAssertGreaterThanOrEqual:A BXCTAssertGreaterThanOrEqual(floatB,floatA,Fail O

20、utput);XCTAssertLessThan:A1为放大,velocity为捏合速度windows pinchWithScale:0.2 velocity:-0.05;当0scale1时,velocity必须大于0,time(s) = scale/velocity。img pinchWithScale:0.5 velocity:0.2;rotate:withVelocity:旋转手势rotate:要旋转的弧度withVelocity:每秒要旋转的弧度Rotate和Velocity必须同号 顺时针为正向。img rotate:2 withVelocity:0.4;normalizedSlid

21、erPosition只读属性,返回滑块控件中滑块的位置(01)adjustToNormalizedSliderPosition:尽可能让滑块移动到指定的位置(0-1)adjustToPickerWheelValue:输入字符串让选择器显示对应内容,如果没有对应内容,返回FailcoordinateWithNormalizedOffset:根据控件的原点坐标和偏移量来确定一个新坐标element coordinateWithNormalizedOffset:CGVectorMake(10,10);XCUIApplication APIXCTest新加的类,用于做UI测试,代表被测应用,父类为XC

22、UIElementlaunch启动应用。如果目标应用已运行,首先终止应用,然后再次启动应用。applaunch;terminate关闭应用。app terminate;launchArguments数组对象,保存启动参数。NSArray*args=applaunchArguments;for(inti=0;iargscount;i+)NSLog(arg : %,argsobjectAtIndex:i);launchEnvironment字典对象,保存启动环境变量 NSDictionary *env =app launchEnvironment;for(id key in env) NSStri

23、ng *object=env objectForKey:key; NSLog(env : %,object);XCUIElementAttributesAPI协议类,XCUIElement遵守的协议identifier字符串类型 Accessibility IDNSString *identifier =app identifier;.frame控件的矩形区域 CGRect frame =app frame;Value获取元素的原值id value =app value;placeholderValue返回元素的占位值title标题,String类型 NSString *title =app title;label标签值,String类型 NSString *label =app label;elementType控件类型 XCUIElementType *elementType =app elementType;enabled是否可用,BOOL类型BOOL*isEnabled =app isEnabled;hasFocus是否具有UI焦点

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1