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('安装失败')

基于airtest验证Android端app是否安装及自动化安装的更多相关文章

  1. 【Android端 APP GPU过度绘制】GPU过度绘制及优化

    一.Android端的卡顿 Android端APP在具体使用的过程中容易出现卡顿的情况,比如查看页面时出现一顿一顿的感受,切换tab之后响应很慢,或者具体滑动操作的时候也很慢. 二.卡顿的原因 卡顿的 ...

  2. 基于Html5的移动端APP开发框架

    快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业AP ...

  3. 【Android端 APP 内存分析】使用工具进行APP的内存分析

    Android端可以通过adb 命令直接获取内存信息,当然Android studio也提供了对内存的监控分析工具,并且后续可以结合MAT做分析 今天介绍的是通过Android studio和MAT工 ...

  4. 【Android端APP 安装包检查】安装包检查具体内容及实现方法

    一.安装包检查的具体包含内容有哪些? 1.安装包检查的一般内容包括: 安装包基本信息检查: 文件大小: xx MB 包名: com.xx 名称:  xx 本次安装包证书与外网证书对比一致性:是 版本号 ...

  5. 基于 fuzz 技术验证移动端 app 的健壮性

    问题定义 app发布后经常容易出现各种诡异的crash, 这些crash固然可以通过各种崩溃分析服务去定位. 但是的确很影响用户体验. 在crash分类中有一类是后端接口引发的. 比如常见的引发app ...

  6. 【Android端 APP 启动时长获取】启动时长获取方案及具体实施

    一.什么是启动时长? 1.启动时长一般包括三种场景,分别是:新装包的首次启动时长,冷启动时长.热启动时长 冷启动 和 热启动 : (1)冷启动:当启动应用时,后台没有该程序的进程,此时启动的话系统会分 ...

  7. C#服务端通过Socket推送数据到Android端App中

    需求: 描述:实时在客户端上获取到哪些款需要补货. 要求: 后台需要使用c#,并且哪些需要补货的逻辑写在公司框架内,客户端采用PDA(即Android客户端 版本4.4) . 用户打开了补货通知页面时 ...

  8. kickstart自动化安装--tftp+nfs+dhcp

    使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...

  9. kvm虚拟机管理 系统自动化安装

    原创博文安装配置KVM http://www.cnblogs.com/elvi/p/7718574.htmlweb管理kvm http://www.cnblogs.com/elvi/p/7718582 ...

  10. Android Native App自动化测试实战讲解(上)(基于python)

    1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动 ...

随机推荐

  1. centos8修改更新迁徙到Stream方法

    迁徙到Stream 此方案比较简单,输入以下命令即可: wget 'http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages ...

  2. 常用软件版本记录 lisoaring

    操作系统 windows XP(2014年4月8日) windows 7(2020年1月14日终止支持) wiindows 10 Internet Explorer 1995-20220507 Fla ...

  3. Vue 局部过滤器和全局过滤器

    Vue 过滤器总结: 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理) 语法: 1.注册过滤器: Vue.filter(name,callback) 或 new Vue{filt ...

  4. vue 祖孙传值

  5. vue-quill-editor 图片上传处理

    <template> <div class="quill-editor"> <!-- 图片上传组件辅助--> <el-upload cla ...

  6. Word09 会计电算化节节高升office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  7. PAT-basic-1025 反转链表 java c++

    一.题目 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4, ...

  8. Mysql Dao

    1 package dao; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sq ...

  9. python日期时间、时间戳互相转换

    日期时间格式字符串转时间戳: 1 import time 2 3 def produce_ctime(stringTime): 4 """ 5 日期时间格式字符串 -&g ...

  10. 打开part文件夹

    1 #include <uf.h> 2 #include <uf_ui.h> 3 #include <uf_part.h> 4 #include <atlst ...