检验appium环境是否正常:使用appium自动给手机安装app(注意:如果已存在该app,再执行会将原来的卸载再重装,需谨慎)
(注意:如果已存在该app,再执行会将原来的卸载再重装。泪的教训,我的微信被卸载重装了o(╥﹏╥)o,自动安装app这个步骤需谨慎操作)
hi,前面几篇已经讲了appium环境的搭建、设备的连接, 那么接下来需要验证appium环境是否正常。通过appium操作,自动给手机安装一个app。废话不多说,下面开始实操:
比如安装今日头条app:
先在网上下载今日头条apk文件,保存在本地电脑。
然后启动appium。打开appium,点击【start sever v1.7.2】。

启动后,我们可以看到这两行字,说明已经启动成功了。这个界面也可以算是日志。

接着,点击右上方的放大镜的图标,就会弹出以下图。(并且,我们可以看到appium的日志多了几行内容,说明appium是正常使用的)

然后,点击【+】,新增platformName、deviceName、app这三个参数。设置好后,点击【start session】,则会自动给模拟器安装app。
模拟器的系统和系统版本号可以在【系统信息】中查看。


但是执行失败了,报错:

这个原因是:ANDROID_HOME没配置。
所以解决方案就是:在我的电脑中新建环境变量ANDROID_HOME,值为sdk的安装目录。这里是在之前写的文章“appium环境搭建”中觉得没影响就没有新建环境变量ANDROID_HOME,所以这里需要补回来,还是要新建o(╥﹏╥)o

新建好环境变量后,再点击【start seesion】,发现报了另一个错误:

这个问题找了很多资料,搞不定,最后机缘巧合下,在Capabilities中新增了一个参数platformVersion,也就是系统版本号。

再点击【start session】,发现执行成功了,日志也没有报错。并且在结果中可看到模拟器的简略图。

最后,看下模拟器的桌面,可以看到桌面除了今日头条app,还多了2个工具appium setting和unlock。这两个是appium第一次启动安装时,自动生成的工具。要是不想生成这两个工具,那你也可以通过注释代码禁止这两个工具生成。我这边觉得没关系,就没禁止生成appium setting和unlock。
安装好后,会自动打开这个app,代码执行完成后,会自动退出app。

到这里就说明我们的appium环境是正常的,之后可以开始使用appium了。
注意事项:如果本身模拟器已经存在该app了,那么执行上面的代码,就会自动把这个app打开,并停留在主页面。
当然,我们也可以通过编辑器完成自动安装app的操作,我用的编辑器是sublime,代码如下:
前提:1.adb devices有已连接的模拟器/手机;2.设置appium serverr的地址,然后启动appium server。



到这里,就结束啦~
检验appium环境是否正常:使用appium自动给手机安装app(注意:如果已存在该app,再执行会将原来的卸载再重装,需谨慎)的更多相关文章
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- <自动化测试>之<自动获取手机短信验证码>
第一次写博,最近解决了做自动化测试短信验证码自动获取填入的方法减少了脚本的人工干预,并非拦截短信,所以不存在安全警报提醒,拿出来分享给大家,有感兴趣的大家可以加Q1856100 目前在职测试开发,,写 ...
- 微信中扫描二维码自动打开手机系统默认浏览器下载APP(APK)
很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可.下面给大家介绍这个功能 功能目的 生成微信跳转链接,实现微信内置浏览 ...
- python 自动获取手机短信验证码
需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try {long tim ...
- Appium python自动化测试系列之appium环境搭建(二)
2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...
- appium 环境搭建(不推荐安装此版本appium,推荐安装appium desktop)
一:安装node.js 1.双击这个软件 2.一键安装,全都下一步,不要私自更改安装路径 3.打开cmd,输入npm,出现如下截图表示成功 二:安装appium 1.双击appium-installe ...
- appium 环境搭建 java
1 安装node.js 1.1 安装node.js http://nodejs.cn/download/ 1.2.下载后直接点击exe,按照提示一步一步的安装 1.3 安装成功后,运行cmd,输入no ...
- appium 环境搭建2
以windows-x64为例安装的软件有JDK AndriodSDK Node.js Appium(界面化的可以不装) python Appium_Python_Client.安装的顺 ...
- appium环境搭建及项目实战
手机端自动化环境搭建比其他自动化环境搭建较为复杂,安装工具有点多,也会有很多坑,安装工具一定注意版本号对应问题. 一.我的电脑环境:win7 64位,安卓测试机4.4.2版本,Python3.6,a ...
随机推荐
- [1.6W字] 浏览器跨域请求限制的详细原理分析&寻找一种最简单的方式实现XHR跨域(9种方法, 附大招可以纯前端实现跨域!)
Title/ 浏览器跨域(CrossOrigin)请求的原理, 以及解决方案详细指南 #flight.Archives011 序: 最近看到又有一波新的创作活动了, 官方给出的话题中有一个" ...
- SQL 练习3
查询存在" 01 "课程,可能不存在" 02 "课程的情况(不存在时显示为 null ) SELECT * FROM (SELECT * FROM SC WHE ...
- NOIP 模拟 $30\; \rm 毛三琛$
题解 \(by\;zj\varphi\) 二分答案,考虑二分背包中的最大值是多少. 枚举 \(p\) 的值,在当前最优答案不优时,直接跳掉. 随机化一下 \(p\),这样复杂度会有保证. Code # ...
- SpringBoot监听redis过期key
开启过期监听 vim /etc/redis.conf 取消notify-keyspace-events Elg的注释 pom.xml 添加: <dependency> <groupI ...
- [转]C# 互操作性入门系列(四):在C# 中调用COM组件
传送门 C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列(二):使用平台调用调用Win32 函数 C# 互操作性入门系列(三):平台调用中的数据封送处理 ...
- spring-cloud-sleuth+zipkin追踪服务
1, 父Maven pom 文件 <parent> <groupId>org.springframework.boot</groupId> <artifact ...
- MySQL——分表,分库操作
说明 大数据量并且访问频繁的表,将其分为若干个表.如果不分的话,进行一次查询就会将表锁住,导致不能进行其他操作,故分表.表分割垂直分割应用场景:热数据放一个表里,冷数据放一个表里.冷数据使用MyIsa ...
- UWP App Data存储和获取
这篇博客介绍如何在UWP开发时,如何存储App Data和获取. App Data是指用户的一些设定,偏好等.例如,App的主题,是否接收推送,离线接收消息等.需要区分下App Data和User D ...
- [转]用C++实现插件体系结构
本文讨论一种简单却有效的插件体系结构,它使用C++,动态链接库,基于面向对象编程的思想.首先来看一下使用插件机制能给我们带来哪些方面的好处,从而在适当时候合理的选择使用. 1. 增强代码的透明度与一致 ...
- 二、vue组件化开发(轻松入门vue)
轻松入门vue系列 Vue组件化开发 五.组件化开发 1. 组件注册 组件命名规范 组件注册注意事项 全局组件注册 局部组件注册 2. Vue调试工具下载 3. 组件间数据交互 父组件向子组件传值 p ...