一、环境搭建

  • 必备软件:

    • Windows或MacOS系统的电脑
    • python
    • pycharm
    • Android SDK(需要配置环境变量,网上有教程)
    • Appium客户端(需要配置Android SDK环境变量,网上有教程)
  • 安装jdk配置环境变量,参考博客:(21条消息) JAVA开发环境搭建_Krito.的博客-CSDN博客
  • 安装node.js
  • 执行命令:
    • pip install Appium-python-client
    • npm -g install appium
  • 安卓设备

二、使用安卓进行自动化测试

步骤:

  1. 安卓手机打开调试模式,连接至电脑
  2. 在cmd中命令:adb devices 查看连接的设备
  3. 打开appium启动服务并编辑配置信息
    • appPackage 需要服务启动的app的包名
    • appActivity 这个app的启动服务
    • platformName 固定参数“Android”
    • platfromVersion 系统版本
    • deviceName 手机名称
  4. 编辑完配置信息后,点击Start Session

    

  5. 连接成功,可查看到appium已和真机进行了连接

    

三、编写自动化脚本

Appium+Python UI自动化框架 - 彭哈哈 - 博客园 (cnblogs.com)

四、参考资料

在配置环境的过程中会遇到各种问题,我将我遇到过的问题抛出来大家可以一起讨论,不定时更新!!!

1)Appium 报错:Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS

解决方法:使用adb shell am start package/activity,如果可以启动app,那么需要检查手机,在开发者模式中打开“禁止权限监控”选项(小米:“USB调试(安全设置)”)

2)Appium 报错:failed to install settings_apk-debug.apk 或者 settings_apk-debug.apk

解决方法:手机开发者模式中,开启UBS安装

3)Appium 报错:Original error: Could not find 'apksigner.jar

解决方法:进入android sdk目录找到apksigner.jar, 复制到 platform-tools文件夹下

4)想要通过pip安装python依赖的任何模块库,只要提示超时均可以使用固定语句,指定国外源来下载

python -m pip install 模块名 -ihttp://pypi.douban.com/simple --trusted-host pypi.douban.com

  

    

    

      

  

Android自动化测试的更多相关文章

  1. 使用 flow.ci 实现 Android 自动化测试与持续集成

    在上篇文章--如何实现 Android 应用的持续部署中,我们使用的是 flow.ci + Github + fir.im 实现 Android 应用的持续部署.对于 Android 开发者,他们可能 ...

  2. Android自动化测试-Robotium(一)简介

    一.Robotium原理 Robotium是一款Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API ...

  3. 解放双手——Android自动化测试

    解放程序猿宝贵的右手(或者是左手) http://blog.csdn.net/eclipsexys/article/details/45622813 --Android自动化测试技巧 Google大神 ...

  4. Android自动化测试框架对比

    1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限:2.Rubotium:主要针对某一个APK进行自动化测试,AP ...

  5. 解放程序猿宝贵的右手(或者是左手) ——Android自动化测试技巧

    解放双手--Android自动化测试 - eclipse_xu - 博客频道 - CSDN.NET 解放程序猿宝贵的右手(或者是左手) --Android自动化测试技巧

  6. Android自动化测试基础知识——MONKEY测试工具(转的)

    本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 ...

  7. Android自动化测试学习路线

    最近在整理Android自动化测试的相关资料,大体上把一些知识点梳理了,这里做一个简单的分享! Android里面测试相关的工具和框架太多了.你应该从以下几个方面入手. 编程语言的选择 如果你要学习的 ...

  8. Android 自动化测试框架

    Android常用的自动化测试工具框架: Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk...... 但这些工具框架都是什么呢有 ...

  9. 133、 Android 自动化测试(转载)

    Android 自动化测试--要点概括http://blog.csdn.net/vshuang/article/details/40595233 A/B测试与灰度发布http://blog.csdn. ...

  10. Android自动化测试探索

    Android自动化测试探索 前言 通常来说,我们开发完成产品之后,都是由测试组或者是我们自己点一点,基本上没有问题了就开始上线.但是,随着时间的堆叠,一款产品的功能也越来越多.这时,我们为了保证产品 ...

随机推荐

  1. nestjs中swagger的基本使用

    nestjs中swagger的基本使用 安装 $ npm install --save @nestjs/swagger swagger-ui-express //如果使用fastify,则必须安装fa ...

  2. js 自定义可编辑table并获取输入值

    1.js加载table,tabid为abc. jsp: <table id="abc"></table> js:var tr_tr = "&quo ...

  3. gitlab+jenkins配置自动触发构建

    1.jenkins安装gitlab插件 2.启动gitlab容器 docker run -itd -v /opt/gitlab/etc:/etc/gitlab -v /opt/gitlab/log:/ ...

  4. h5py学习(一)核心概念

    因pandas的to_hdf5函数有bug TypeError: object of type 'int' has no len(),写dataframe数据出现了报错,遂决定直接使用h5py来写数据 ...

  5. css设置背景图(背景图太大导致图片显示不全)

    .bg{background:url('/back.png');filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizi ...

  6. 微信退款报错 400 the ssl certificatie error / no required SSL certificate was sent ; Guzzle json_encode Type is not supported;

    bug随笔 一 起因. 在做一个点餐类小程序,本地测试ok.上测试的时候,突然就报错,微信退款失败. 二 Debug. 1. Debug trace到页面直接显示的是 : Type is not su ...

  7. iOS SDK开发

    一款好用且设计充分的 SDK 必须要遵循以下 4 条基本原则,即: 1.SDK 安全,稳定2.统一的开发规范3.Library 小而精4.不依赖第三方 SDK安全,稳定:考虑到 SDK 是需要嵌入到 ...

  8. SAP BPC全面预算及合并解决方案.pdf 电子版

    SAP BPC全面预算及合并解决方案.pdf 电子版 有需要的联系 wx :erpworld

  9. 利用 fastjson 的 toJSONStringWithDateFormat 方法,将Date 格式化 为常见类型的时间

    利用 fastjson 的 toJSONStringWithDateFormat 方法,将Date 格式化 为常见类型的时间 JSON.toJSONStringWithDateFormat(nrcSt ...

  10. 【C++复习】5.7 多文件结构与编译预处理命令

    1.C++项目结构 C++程序的一般组织架构 类声明文件(.h文件) 类实现文件(.cpp文件) 类的使用文件(main()所在的.cpp文件) 用工程组合各文件 2.编译链接 编译链接过程 3.外部 ...