Airtest如何自动连接重启后的设备并继续执行自动化脚本呢?

1. 前言

最近有些小伙伴来问我们,能不能让设备运行一些自动化脚本后,给它执行重启操作,之后再自动连接上这台设备,继续执行一些自动化脚本。

答案当然是可以的,今天我们就从一个简单的小例子来看一下这个自动化场景吧。(PS:文末可以获得今天的练手脚本哦~)

2. 关于连接重启设备的实操案例

1)实操案例演示

这个实操例子,大致的流程是:

简单测试一下网易云音乐

让设备重启

自动连接重启后的设备

给设备解锁

再简单测试一下网易云音乐

Airtest如何自动连接重启后的设备并继续执行自动化脚本呢?_第1张图片

Airtest如何自动连接重启后的设备并继续执行自动化脚本呢?_第2张图片

我们从运行视频来看下这个脚本的真实效果:

Airtest如何自动连接重启后的设备并继续执行自动化脚本呢?_第3张图片

2)Airtest封装的shell接口

在上述脚本中,我们在执行重启操作的时候,用到了Airtest封装的 shell() 接口,实际上脚本里面的 dev.shell(“reboot”) ,就是执行我们熟知的ADB指令 adb shell -s 手机序列号 reboot 。

当然,Airtest还有很多常用的封装好的ADB接口,可以参考我们往期推文测试人员一定要懂的ADB操作,赶紧来看一看~。

3)设备重启后需要重新连接设备/初始化poco

另外,使用Airtest脚本让设备重启之后,Airtest并不会再主动连接上重启后的设备,所以我们需要在设备重启之后,再重新使用Airtest脚本去连接上这台设备,之后再执行相关的自动化操作。

另外要注意的是,如果我们的自动化操作里面,包含poco操作,那么设备重启之后,除了连接设备,还要重新初始化poco。

4)如何给重启后的设备解锁

设备重启之后,我们还有可能遇到设备锁屏的问题,为了保障后面自动化脚本的顺利执行,在进入自动化测试内容之前,我们需要给设备解锁屏幕。
大部分情况下,使用 Android.unlock() 即可,但是也有些设备,解锁后,需要增加一个从底部向上滑的动作,来进入到手机桌面,就像我们示例脚本所演示的那样。

3. 拓展-关于主动断开设备连接

上文说到如何主动连接重启后的设备,这里我们补充1个小知识点,就是如何主动断开连接的设备。

举个应用场景,假设,我们当前连接了多台设备进行测试,一段时间后,其中1台设备已经测试完毕,后面都用不上了,这时候我们可以用Airtest1.2.7新增的接口 dev.disconnect() 来主动断开这台设备的连接。

dev = connect_device("android:///")
dev.disconnect()

这个方式最大的好处,就是能帮助我们主动释放掉一些后面测试不会再用到的资源,比如一些adb连接等。

4. 小结

今天的内容,主要讲解了一个主动连接重启后设备的小案例,另外还拓展了下,如何主动释放设备连接。对今天练手脚本感兴趣的同学,可以给我们的公众号回复关键词“连接重启设备”,即可获得练手脚本。


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

你可能感兴趣的:(职场经验,IT,软件测试,自动化,android,adb,职场和发展,pytest)