Monkey通过一系列随机的输入来测试程序的稳定性。但是在实际的app中,对于某些场景需要有一定的逻辑,比如登陆界面。Monkey通过结合逻辑脚本的方式,对于某些特殊的场景,会有更好的效果。随身版Monkey已经支持脚本功能。如下图所示:
表示在LoginVC
页面下会执行LoginScript
。
LoginScript
脚本如下所示
#import "LoginScript.h"
#import "Actions.h"
@implementation LoginScript
-(void)run{
//UI 操作需要在主线程中执行
if([[NSThread currentThread] isMainThread]){
//输入账号
NSString* identifier = @"TBUIAutoTest_Property_UITextField_account" ;
[UITextFieldActions clearTextFromAndThenEnterTextWithAccessibilityIdentifier:identifier text:@"Email"] ;
//输入密码
identifier = @"TBUIAutoTest_Property_UITextField_password" ;
[UITextFieldActions clearTextFromAndThenEnterTextWithAccessibilityIdentifier:identifier text:@"Password"] ;
//点击登录按钮
identifier = @"TBUIAutoTest_Property_UIButton_loginButton" ;
[UIButtonActions tapButtonWithAccessibilityIdentifier:identifier] ;
};
}
@end
脚本逻辑很简单,输入账号->输入密码->点击登录按钮
实际效果如下所示:
每次到LoginVC
界面都会执行LoginScript
的脚本逻辑进行登录