在实际的app自动化测试过程中,通常是ui自动化、逻辑自动化(白盒测试)、压力测试(monkey)、Fuzzy测试(mock)、性能测试。NewLLDebugTool已经集成了monkey、mock和性能测试,还差最后两个板块:逻辑自动化和UI自动化。其实这两种自动化方式是相辅相成的,逻辑自动化一方面可以对业务逻辑,比如模型和类方法进行单独测试,也可以为ui自动化提供一些准备好的环境。而ui自动化故名思义,就是从ui层面做的自动化。不论是ui自动化,还是狭义的逻辑自动化,这里统一都归成为逻辑自动化(泛单测)。
效果
如上图所示,进入到逻辑自动化
页面,点击右上角的run
按钮即可运行测试用例,运行完测试用例后,自动返回逻辑自动化
页面,查看运行结果。上面有两条测试用例,test1
和test3
,测试用例如下所示:
- (void)test1{
//UI 操作需要在主线程中执行
for(int i=0;i<4;i++){
dispatch_sync(dispatch_get_main_queue(), ^{
NSString* identifier = @"TBUIAutoTest_Property_UITableView_tableView" ;
[UITableViewCellActions tapTableViewCellWithAccessibilityIdentifier:identifier section:i row:0] ;
[BackActions back] ;
});
}
}
- (void)test3{
[NSThread sleepForTimeInterval:5] ;
}
test1
主要是做UI自动化,循环点击前4个cell。test3
就是简单睡眠5秒钟。
通过该逻辑自动化框架,在ios上即可脱机运行测试用例。