基于airtest验证Android端app是否安装及自动化安装

1.检测app是否安装;

使用check_app方法检测是否安装;为什么需要在封装一层做断言呢?主要check_app方法安装成功会返回True,但是未检测到安装时直接报异常了,停止执行。无法直接进行断言安装成功还是失败;因此封装一层做断言验证。

直接上代码:

#检测app是否安装
def existsapp(app):
    dev = device()
    try:
        if dev.check_app(app):
            return True
        else:
            return False
    except Exception as e:
        print(e)
        print('检测异常安装')
        return False

2.自动安装的方法:

为啥不直接使用install呢?因为我们安装时,可能并不仅仅是install,如果已安装,我们可能需要下周安装,如果未安装我们需要安装,如果检测异常,我们可能还需要覆盖安装。因此作为安装方法封装。代码如下:

#安装pak包
def installpak(path ="apk path"):
    try:
        if existsapp(app) == True:
            print(existsapp(app),'app存在,卸载安装')#app为app包名,如:com.tencent.qqlivehuawei
            uninstall(app)
            install(path)
        else:
           print('app不存在,安装pak')
           install(path)
    except Exception as e:
       print(e)
       print('检测异常安装')
       install(path)
    if existsapp(app) == True:
        print('安装成功')
    else:
        print('安装失败')

 

 

 

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是使用Airtest解决App滑块验证码问题的简单示例代码,具体实现需要根据具体应用进行调整: ```python from airtest.core.api import * from airtest.cli.parser import cli_setup # 初始化Airtest if not cli_setup(): auto_setup(__file__) # 截取屏幕 screen = snapshot() # 根据图像识别找到滑块验证码的位置 slider = Template(r"slider.png").match_in(screen) # 计算滑块的起点和终点 slider_start = (slider[0] + 20, slider[1] + 20) slider_end = (slider[0] + 300, slider[1] + 20) # 模拟用户滑动操作 touch(slider_start) swipe(slider_start, slider_end, duration=1) # 等待滑块验证验证通过 wait(Template(r"success.png")) ``` 在这个示例代码中,我们首先使用`snapshot()`方法截取当前屏幕的图像,然后使用`Template()`方法创建一个用于匹配滑块验证码的模板,使用`match_in()`方法在屏幕图像中查找滑块验证码的位置。 接着,我们计算出滑块的起点和终点,然后使用`touch()`方法点击滑块的起点,使用`swipe()`方法模拟用户滑动操作,将滑块滑动到指定位置。 最后,我们使用`wait()`方法等待滑块验证验证通过,使用`Template()`方法创建一个用于匹配验证通过的模板,当这个模板出现在屏幕上时,表示滑块验证验证通过。 需要注意的是,这个示例代码只是一个简单的示例,实际应用中可能需要进行更多的调整和优化才能达到更好的效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值