一、环境准备

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 Python from appium import webdriver caps = {}
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"] = True driver = 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模拟点击,两个都要打开,此时再重新运行,即可解决

最新文章

  1. Django 发布时间格式化
  2. Linux环境下使用gcc编译,gdb反汇编C语言程序
  3. BZOJ3282: Tree
  4. 客户端缓存 HTML + 远程数据 JS 的思路。
  5. mysql 行锁一则
  6. ZOJ 3430 Detect the Virus
  7. 济南学习 Day 5 T1 pm
  8. MySQL学习笔记之数据存储类型
  9. 【iOS程序启动与运转】- RunLoop个人小结
  10. 不安装oracle客户端,连接到服务器的oracle (注:针对 odp.net)
  11. 07.15 first与first-child的区别
  12. 用WSDL4J解析types标签中的内容
  13. VS Code使用 Vue工程配置 eslint
  14. qt不能调试
  15. Oracle数据库备份策略:全备与增量备份
  16. 在浏览器中输入url回车之后会发生什么
  17. readv writev示例程序
  18. delphi XE的字符串处理
  19. linux基础(2)-基础命令和基础特性
  20. 如何去掉iview里面的input,button等一系列标签自带的蓝色边框

热门文章

  1. java操作telnet远程登录
  2. Vue错误信息解决
  3. –IDEA+Maven+JavaWeb+tomcat项目搭建(图文并茂,详细)
  4. S07
  5. Allenmind's Blog
  6. 关于PHPExcel的一些资料
  7. 【HI AI:人机协同 赋能未来系列】计算机是最好的左脑
  8. 笔记: SpringBoot + VUE实现数据字典展示功能
  9. linux tc流量控制
  10. 初学Qt——vs2012开发环境下的窗体跳转