iOS swift UITest 基础入门(一)

本文介绍了iOS应用自动化测试的基础,包括如何创建UITest类、编写测试函数、录制代码和使用常用语句。通过实例演示了如何通过Swift进行UI测试,强调了测试的目的和setUp/tearDown函数的作用,以及如何通过XCUIApplication和XCUIElement进行控件交互。文章还提及了使用XCTestExpectation进行等待和断言的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目组内做UITest几个月了,输出才是真正的提高嘛,总结了一下,写出来做一个UITest的讲解.

首先说一下目的:UITest,可以模拟人的操作,当然还可以使用第三方用以模拟网络请求,再加上数据库操作等,实现完全的自动化全流程测试(大概是这么个词),在这个过程中可以设定网络返回的数据,设定数据库中的值等等来测试各种case. 下班的时候Command+U一下就可以跑所有的测试类测试case,早上来就可以收割问题了.

下面从建类开始讲.

1,UITest类的创建.

 

如图所示,在工程主文件夹的相应UITest文件夹下添加UITestCaseClass,选择swift建立类.类名在开发的时候,一般以viewController为单位建立相应的test类,类名一般取XXXViewControllerUITests,方便查找和跑相应的测试.

类建好后,样子如下图(注意当前UITest类的target是不是UITest,有些时候建完默认是UnitTest,要手动点回来,否则跑不起来):

当前测试类函数的调用顺序讲一下:

每一个testXXX测试函数,都会调用一次setUp()函数,然后运行自身,最后调用tearDown()函数.默认在setUp函数里要预制你的数据(数据库写入等等),调用.launch函数启动APP,在tearDown()函数里清除掉你的数据,关掉APP.

setUp里的.launch()函数是app启动.我一般都删掉这个,自定义一个启动函数放到各个test函数里,这样就可以在启动的时候在自己的测试函数里加载针对每个测试函数自己定义的数据库文件网络返回数据文件等等.另外,我司的项目中,测试数据都写在realm的内存数据库中,所以没有写清除数据的代码.这些先不关注,先来看看重点的testExample函数.

2,测试函数testXXX

testExample函数是苹果举的一个例子.所有测试函数都要类似testXXX,以test开头,这样测试函数才可以跑起来,函数前面才会有那个菱形的小框.很多时候系统反应慢,建完函数build一下就有了.

 

把光标放到函数里面,下面的红色就圆点就会变为深红色的可点击状态.点击这个就可以开始录制代码了.

3,录制代码

录制代码是UITest中比较简单获取页面控件和动作代码的方式,app启动,点击,翻页,滑动等等都可以转变成代码,但是在我熟悉了各种语法之后,只在起始阶段用它来录制基本流程代码,然后用我自己熟悉的代码改写.原因就在于录制的代码又臭又长,而且有时候跑不起来,最要命的是各个机种还有差异,一套代码跑不了几个机型.

XCode左上角目标设

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值