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


    1. 前言

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

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

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

    1)实操案例演示

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

    简单测试一下网易云音乐

    让设备重启

    自动连接重启后的设备

    给设备解锁

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

    图片

    图片

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

    在这里插入图片描述

    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()
    
    • 1
    • 2

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

    4. 小结

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


    资源分享

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

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    TypeScript基础语法
    Flutter快学快用11 多样式导航栏:掌握所有 Flutter 导航栏的设计
    戳气球00
    Python Flask框架-开发简单博客-定义和操作数据库
    【WEBRTC】PC: RtpTransceiver管理sender receiver 的proxy对象并关联到channel
    PAT 1045 Favorite Color Stripe(DP)
    链表(2)——带头双向循环链表
    Pyside6 安装和简单界面开发
    嵌入式软硬分工与职业发展
    【Unity每日一记】WheelColider组件汽车游戏的关键
  • 原文地址:https://blog.csdn.net/m0_67695717/article/details/127651084