一、前言
二、打开、关闭、切换App以及清除App进程如何实现
2.1 打开App:start_app()
poco("手机管家").click()
start_app("com.ss.android.article.news")
2.2 关闭App:stop_app()
keyevent("BACK")
stop_app("com.taobao.taobao")
2.3 切换App
shell("monkey -p com.taobao.taobao -c android.intent.category.LAUNCHER 1")
start_app("应用A")
stop_app("应用A")
start_app("应用B")
stop_app("应用B")
2.4 清除后台
dev = device()
#一般Android设备可以从底部向上滑动唤出设备窗
dev.swipe_along([(500, 2295),(500,1500),(500,1000), (500, 100)])
#唤出设备窗后,当出现了“关闭所有最近打开的应用”控件,点击即可全部清除所有app后台
if poco("com.huawei.android.launcher:id/clear_all_recents_image_button").exists():
poco("com.huawei.android.launcher:id/clear_all_recents_image_button").click()
#在部分机型或版本上,该辅助触控小圆点无法使用poco识别,所以使用图片识别比较稳妥
touch(Template(r"tpl1715678885473.png", threshold=0.6999999999999997, record_pos=(0.403, 0.008), resolution=(1170, 2532)))
#在进入APP切换器后,可以判断目前设备上打开了多少窗口,并通过滑动关闭
while poco("AppSwitcherContentView").exists() and times > 0:
swipe([0.5,0.8],[0.5,0.1])
times -= 1
三、在Android设备上实操案例
# -*- encoding=utf8 -*-
__author__ = "Airtest"
from airtest.core.api import *
auto_setup(__file__)
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
#清理后台
def clean_app():
dev = device()
#一般Android设备可以从底部向上滑动唤出设备窗
dev.swipe_along([(500, 2295),(500,1500),(500,1000), (500, 100)])
#唤出设备窗后,当出现了“关闭所有最近打开的应用”控件,点击即可全部清除所有app后台
if poco("com.huawei.android.launcher:id/clear_all_recents_image_button").exists():
poco("com.huawei.android.launcher:id/clear_all_recents_image_button").click()
if __name__ == "__main__":
#打开今日头条
start_app("com.ss.android.article.news")
sleep(3.0)
#滑动今日头条界面
for i in range(5):
swipe((500,2100),(500,500))
sleep(1.0)
#通过ADB的方式,直接切换应用界面
shell("monkey -p com.taobao.taobao -c android.intent.category.LAUNCHER 1")
sleep(2.0)
#滑动淘宝界面
swipe((500,2100),(500,500))
sleep(1.0)
#关闭淘宝应用
stop_app("com.taobao.taobao")
sleep(1.0)
#清除App后台
clean_app()
四、在iOS设备上的实操案例
# -*- encoding=utf8 -*-
__author__ = "Airtest"
'''
前置条件(十分重要):
请提前按下面的操作设置好
辅助功能-触控-辅助触控(打开)- 单点(App切换器)
将辅助触控的小圆球透明度设置为100%
'''
from airtest.core.api import *
from poco.drivers.ios import iosPoco
poco = iosPoco()
import random
#清理后台
def ios_clear_app(times=100):
#在部分机型或版本上,该辅助触控小圆点无法使用poco识别,所以使用图片识别比较稳妥
touch(Template(r"tpl1715678885473.png", threshold=0.6999999999999997, record_pos=(0.403, 0.008), resolution=(1170, 2532)))
#在进入APP切换器后,可以判断目前设备上打开了多少窗口,并通过滑动关闭
while poco("AppSwitcherContentView").exists() and times > 0:
swipe([0.5,0.8],[0.5,0.1])
times -= 1
home()
if __name__ == "__main__":
#打开库乐队
start_app("com.apple.mobilegarageband")
sleep(3.0)
#随机点击五个坐标点
for i in range(5):
random_x = random.randint(1000,2500)
random_y = random.randint(200,900)
touch((random_x,random_y))
sleep(3.0)
#关闭库乐队
stop_app("com.apple.mobilegarageband")
sleep(3.0)
#切换到iMovie
start_app("com.apple.iMovie")
sleep(3.0)
home()
sleep(3.0)
#开始清理后台
ios_clear_app()
五、小结
1、打开App:start_app()
2、关闭App:stop_app()
3、切换App:shell("monkey -p com.taobao.taobao -c android.intent.category.LAUNCHER 1")