一、环境准备

1.脚本语言:Python3.x    IDE:安装Pycharm

2.安装Java JDK 、Android SDK

3.adb环境,path添加E:\Software\Android_SDK\platform-tools

4.安装Appium for windows,官网地址 http://appium.io/

点击下载按钮会到GitHub的下载页面,选择对应平台下载

安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK

然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到

二、真机测试

1.连接手机

打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试

测试是否连接成功,可执行命令adb devices

出现上图就证明手机和电脑连接成功。。。

2.点击Start Inspector Session,

按如下配置Desired Capabilities

 platformName :声明是ios还是Android系统

platformVersion : Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看

 deviceName :连接的设备名称,通过命令adb devices -l中model查看

appPackage :apk的包名

 appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr “mResume”查看(需先打开手机应用)

注意:Android 8.1之前应使用adb shell dumpsys activity | findstr “mFocus”

3.运行Start Session,选择元素

右侧 Selected Element 区域有三个按钮

  • Tap:执行选中元素的点击事件
  • Send Keys:为文本框等对象传值
  • 如果是文本输入元素,就清除文本

4.录制脚本

录制生成的python代码如下:

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Pythonfrom appium import webdrivercaps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "9.0.0"
caps["deviceName"] = "Mi_Note_3"
caps["appPackage"] = "com.antfortune.wealth"
caps["appActivity"] = "com.alipay.mobile.quinox.LauncherActivity"
caps["resetKeyboard"] = True
caps["unicodeKeyboard"] = Truedriver = webdriver.Remote("http://localhost:4723/wd/hub", caps)el1 = driver.find_element_by_id("com.antfortune.wealth.login:id/login_main_button")
el1.click()
el2 = driver.find_element_by_id("com.alipay.mobile.accountauthbiz:id/auth_login_btn")
el2.click()driver.quit()

5.在pycharm中建立项目将代码粘入,在运行之前,还需通过pip命令安装pip install Appium-Python-Client依赖包

最后,记一个我在这些过程中遇到的问题(现已解决)

在Appium-desktop中运行Start Session时,出现

解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决

Python+Appium实现APP自动化测试相关推荐

  1. Python +Appium 实现app自动化测试

    Python +Appium 实现app自动化测试 一.Appium简介 Appium是一款开源工具,用于自动化iOS.Android和Windows桌面平台上的本地.移动web和混合应用程序.原生应 ...

  2. python+Appium 实现app自动化测试详细讲解

    一.环境准备        1.脚本语言:python   安装:pycharm         2.安装 Java jdk  .Android sdk 3.安装appium 二.首先,双击电脑中已经 ...

  3. Linux下Appium+Python+headless移动APP自动化测试实战

    Linux下Appium+Python+Headless移动APP自动化测试实战 文章目录 Linux下Appium+Python+Headless移动APP自动化测试实战 1. 环境准备 1.1 安 ...

  4. 使用appium进行app自动化测试时遇到AppActivity设置正确但报Connect Appium Server Fail.A new session could not be created

    appium 部分服务关键字如下: PlatformName=Android PlatformVersion=4.4.4 AppPackage=com.xxxxx.xxxx AppActivity=. ...

  5. 【Python+Appium】开展自动化测试(十二)通过坐标定位元素

             目录 前言 1,通过绝对坐标定位(不推荐) 2,通过相对坐标定位(推荐) 写在最后 前言 在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能 ...

  6. 基于Appium的APP自动化测试基础--美团APP的实例

    前段时间用一种流行语言,一个主流工具,一个实用框架,写了一个美团app自动化测试的Demo,利用appium+python+unittest+uiautomatorviewer,编写了测试用例,并通过 ...

  7. 【Python+Appium】开展自动化测试(七)截图方法

             目录 一,selenium模块的两种截图方法 二, snapshot(*args, **kwargs) 三,使用adb截图 总结 一,selenium模块的两种截图方法 get_sc ...

  8. python 手游自动化测试_Python+Appium实现APP自动化测试

    一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SD ...

  9. python手机自动化测试脚本语言_Python+Appium实现APP自动化测试

    一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SD ...

最新文章

  1. 如何创建和获取正则对象?
  2. 2021年4月自动驾驶领域重要动态速览
  3. 二值化每个特征,微软用1350亿参数稀疏神经网络改进搜索结果
  4. 2003 r2 64 iis php mysql_关于在win2003中,iis+php+mysql 配置的问题
  5. 请使用recaptcha_如何在30分钟内使用ReCaptcha和PHP构建Bootstrap电子邮件表单
  6. (转)小波的分解和重构
  7. python dataframe转置_Dataframe数据的增删改查,对齐(相加),转置,按值(索引)排序
  8. mysql workbench查询快捷_mysql workbench快捷键
  9. 手机听筒被灰尘堵塞了如何清洗?
  10. 实践案例 | 数据可视化报表应用
  11. python基础系列教程——python基础语法全解
  12. java jre安装_JRE安装与配置图文教程
  13. 未来世界的幸存者 -- 阮一峰
  14. R语言连续变量正态性检验
  15. UA用Mode-Driven的使用笔记
  16. 深度测评 | 五大主流多端开发框架全面对比
  17. 计算机专业选什么笔记本cpu,笔记本电脑什么配置好?来看看这款硬核办公本
  18. windows10关闭系统更新方法总结
  19. 微信SDK开发学习第一课
  20. 信噪比SNR和EbN0

热门文章

  1. Vmware16一打开虚拟机就蓝屏
  2. 商桥物流完成达晨创投领投2.5亿元A+轮融资,创建立体化零担物流网络
  3. 胡斌、张礼礤会摧毁我们的信任
  4. android gridview 按钮事件处理,Android TV gridview 的按键事件响应巧变 事件分发机制...
  5. 《[深入浅出 C#] (第3版)》 - 学习笔记
  6. MySQL报错 Packet for query is too large,server向mysql发送的数据包大小超过mysql限制
  7. JavaScript数组拼接、对象拼接
  8. 【C语言】用指针作为形参完成数据的升序排列
  9. Upload-Labs(1-5)
  10. Visual Studio 2017版本15.9现在可用