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

基于airtest验证Android端app是否安装及自动化安装的更多相关文章
- 【Android端 APP GPU过度绘制】GPU过度绘制及优化
一.Android端的卡顿 Android端APP在具体使用的过程中容易出现卡顿的情况,比如查看页面时出现一顿一顿的感受,切换tab之后响应很慢,或者具体滑动操作的时候也很慢. 二.卡顿的原因 卡顿的 ...
- 基于Html5的移动端APP开发框架
快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业AP ...
- 【Android端 APP 内存分析】使用工具进行APP的内存分析
Android端可以通过adb 命令直接获取内存信息,当然Android studio也提供了对内存的监控分析工具,并且后续可以结合MAT做分析 今天介绍的是通过Android studio和MAT工 ...
- 【Android端APP 安装包检查】安装包检查具体内容及实现方法
一.安装包检查的具体包含内容有哪些? 1.安装包检查的一般内容包括: 安装包基本信息检查: 文件大小: xx MB 包名: com.xx 名称: xx 本次安装包证书与外网证书对比一致性:是 版本号 ...
- 基于 fuzz 技术验证移动端 app 的健壮性
问题定义 app发布后经常容易出现各种诡异的crash, 这些crash固然可以通过各种崩溃分析服务去定位. 但是的确很影响用户体验. 在crash分类中有一类是后端接口引发的. 比如常见的引发app ...
- 【Android端 APP 启动时长获取】启动时长获取方案及具体实施
一.什么是启动时长? 1.启动时长一般包括三种场景,分别是:新装包的首次启动时长,冷启动时长.热启动时长 冷启动 和 热启动 : (1)冷启动:当启动应用时,后台没有该程序的进程,此时启动的话系统会分 ...
- C#服务端通过Socket推送数据到Android端App中
需求: 描述:实时在客户端上获取到哪些款需要补货. 要求: 后台需要使用c#,并且哪些需要补货的逻辑写在公司框架内,客户端采用PDA(即Android客户端 版本4.4) . 用户打开了补货通知页面时 ...
- kickstart自动化安装--tftp+nfs+dhcp
使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...
- kvm虚拟机管理 系统自动化安装
原创博文安装配置KVM http://www.cnblogs.com/elvi/p/7718574.htmlweb管理kvm http://www.cnblogs.com/elvi/p/7718582 ...
- Android Native App自动化测试实战讲解(上)(基于python)
1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动 ...
随机推荐
- Java8函数式编程(A)
将行为作为数据传递 函数编程的最直接的表现,莫过于将函数作为数据自由传递,结合泛型推导能力,使代码表达能力获得飞一般的提升. Java8怎么支持函数式编程? 主要有三个核心概念: 函数接口(Funct ...
- centos 绑定多ip
复制ifcfg-ens192 文件,为 ifcfg-ens192:0 修改ip 和 device 为 "ens192:0",其他不变,service network restart ...
- everything 基本功能是本地搜索 高级功能 可以建立 HTTP服务器
局域网,可以查看,播放,等操作
- 记D365开发的最佳实践
前端JS 不同的需求应该划分模块,以便日后修改,也是为了职责分离,模块分离,日后如果想分离到单独的JS文件里面也是比较方便: 对于公共的查询函数,应该做缓存,优先使用sessionStorage. 多 ...
- HELM的使用
一.helm的主要功能 1.创建新的chart 2.chart打包成tgz格式 3.上传chart到chart仓库或从仓库中下载chart 4.在kubernetes集群中安装或卸载chart 5.管 ...
- JS中有关闭包的相关内容及介绍
1 var obj = (function (arg) { 2 // 这里就是一个简单的闭包,将局部变量 test和函数fn1 return出去 3 // 这样obj就可以拿到函数内部定义的变量在函数 ...
- robots.txt详解[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君. 怎样查看robots文件? 浏览器输入 主域名/robots.txt robots.txt的作用 robots.txt 文件规定了搜索引擎抓取工具可以访问网站 ...
- Web Dynpro for ABAP(16):WDA Analysis Tools
3.21 Quality Assurance and Supportability WDA程序效能验证工具. Tests工具: eCATT and Web Dynpro ABAP Debugging工 ...
- 备份是个好习惯 bugku
题目描述: 解题思路: 1.查看网页源码只显示一行字符,有点像16进制,但经过解码并不是,也不是base64等编码 2.根据题目,应该和备份相关,默认页面一般都是 index.php或者index ...
- 服务器新建分支,vscode检测不到
执行 git remote update origin 命令,刷新远程分支