iOS自动化测试XCTest探索

2022-12-05 12:16:01 浏览数 (1)

XCTest是什么?

XCTest是iOS的单元测试框架,有objective-c和swift两种语言可以选择。Xcuitest是iOS的UI测试框架。

XCTest框架类似于python中的unittest框架,声明一个测试case继承XCTestCase和测试方法,测试方法以test开头。

XCTest官方文档地址:https://developer.apple.com/documentation/xctest

写一个iOSDemo

为了能演示XCTest如何使用,需要一个iOS应用编写XCTest用例。所以,我们需要学习下如何写一个iOS简单应用。

写一个简单的登录页面,需要帐号 & 密码两个输入框、登录按钮,效果如下图:

1、在ViewController层可以编写业务逻辑,给控件增加触发事件。

2、在Main.storyboar添加控件 Main.storyboar有点像Android中的activity中的布局文件,添加用户名和密码两个便签和输入框增加一个登录按钮。

输入用户名和密码,点击登录按钮弹出alert弹框,判断用户名和密码的正确性。

3、给控件绑定事件

登录按钮绑定事件在ViewController.h里面,定义userLogin方法:

代码语言:javascript复制
@interface ViewController : UIViewController
- (IBAction) userLogin:(id)obj;
@end

userLogin方法方法进行绑定

4、输入框绑定事件

在再ViewController.h里面添加字段,并相应设置字段的属性。

代码语言:javascript复制
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{
    UITextField *tfUserName;
    UITextField *tfPWD;
}
@property (nonatomic, retain) IBOutlet UITextField *tfUserName;
@property (nonatomic, retain) IBOutlet UITextField *tfPWD;
- (IBAction) userLogin:(id)obj;

@end

再回到【Main.storyboard】,选择用户名的文本框,点击【右键】

鼠标移到【New Referencing Outlet】后面的小圆圈上,此时会出现一个加号,然后点击加号,拖动到【View Controller】然后放开鼠标,就会看到我们刚才定义的两个属性了。

5、LaunchScreen.storyboard

app启动页布局文件,可以随便加点文案或者启动图啥的,苹果规定上架APP的启动页必须使用LaunchScreen.storyboard。

测试用例录制

Xcode可以使用XCTest框架自带case录制功能,点击小红点按钮进行录制。

创建项目后或生成一个iOSDemoUItest的项目里边有个.m文件。

测试用例运行

点击test方法名有个播放按钮,点击播放按钮,先build一个被测app,然后build一个测试用的app,这个app没有任何页面,启动后执行测试case。

0 人点赞