前置条件

完成软件和环境的安装后就可以开始移动端自动化脚本的编写了。

连接设备

手机打开USB调试模式,连接手机。此时去命令窗口查看自己的设备是否已经连接。

让后打开Appium Server,进行配置,设置Android与Java的环境地址。

启动服务器,即可。

脚本编写

初始化设备参数

首先对于手机的参数进行填写,对于要进行测试的APP的信息也进行获取。

import time
from appium import webdriver# 初始化参数
desired_caps = {'platformName': 'Android',  # 被测手机是安卓'platformVersion': '11',  # 手机安卓版本'deviceName': 'ncaa',  # 设备名,安卓手机可以随意填写'appPackage': 'com.cainiao.wireless',  # 启动APP的包名'appActivity': '.homepage.view.activity.WelcomeActivity',  # 启动的Activity名称'noReset': True,  # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了'newCommandTimeout': 6000,  # 命令的时间间隔'unicodeKeyboard': True,  # 绕过手机键盘操作,unicodeKeyboard是使用unicode编码方式发送字符串,即中文'resetKeyboard': True,  # 绕过手机键盘操作,resetKeyboard是将键盘隐藏起来
}

以微信为例,我们在命令窗口中输入该手机的所有的第三方软件,获取手机上所需包名。

在获取该APP登录的活动。首先在手机上打开微信,并在CMD中进行操作。从而获取到了微信的包名与登录的活动名。

# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
time.sleep(5)

之后进行APPium的连接,手机就会自动打开微信了。

操作命令

下一步,我们打开Android UI分析器。获取到了目前手机页面的信息。根据我们的目的,找到自己所需的组件即可。根据其ID我们就可以在上手机上定位它,从而完成我们相要的操作。

脚本运行

具体代码与实现效果如下:

import time
from appium import webdriver# 初始化参数
desired_caps = {'platformName': 'Android',  # 被测手机是安卓'platformVersion': '11',  # 手机安卓版本'deviceName': 'ncaa',  # 设备名,安卓手机可以随意填写'appPackage': 'com.tencent.mm',  # 启动APP的包名'appActivity': '.ui.LauncherUI',  # 启动的Activity名称'noReset': True,  # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了'newCommandTimeout': 6000,  # 命令的时间间隔# 'unicodeKeyboard': True,  # 绕过手机键盘操作,unicodeKeyboard是使用unicode编码方式发送字符串,即中文'resetKeyboard': True,  # 绕过手机键盘操作,resetKeyboard是将键盘隐藏起来
}# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# time.sleep(5)# 每个操作的等待时间
driver.implicitly_wait(5)driver.find_element_by_id('com.tencent.mm:id/fzg').click()driver.find_element_by_id('com.tencent.mm:id/auj').send_keys('川北野生小熊猫')driver.find_element_by_id('com.tencent.mm:id/ay5').click()print("      done        ")
time.sleep(600)driver.quit()

APPium+Python编写真机移动端自动化脚本相关推荐

  1. 手机调试python的软件_Appium+Python(ios真机移动端App H5混合自动化实战测试)

    一.环境搭建篇 (一)安装JDK 大家自行安装 (二)安装Appium 1.appium desktop 2.appium server > brew install node # get no ...

  2. Appium+Python连接真机、跳过登录页、Unexpected error while obtaining UI hierarchy问题

    Appium连接真机 使用数据线连接电脑,然后选择文件传输方式 打开手机设置拉至底部,点击关于手机,连续点击7次版本号打开开发者模式 点击设置中的系统与更新,找到开发者选项----> 打开USB ...

  3. Appium 实现iPhone真机自动化-常见问题

    摘要: 首先 Appium 支持 iPhone 真机,以下4个条件必须满足: 1. 苹果开发者账号和开发者证书 2. 苹果设备,确保这个设备已经被配置为开发机器.怎么配置? 3. 签名过的 .ipa ...

  4. 【干货】通过真机实现页面自动化适配(含直播回放)

    本文根据4月15日淘系技术前端团队出品的「阿里淘系用户体验优化前端实战系列直播」--<通过真机实现页面自动化适配>整理而成. (直播回放) ‍ 引言 作为前端大家是否遇到过在项目快上线的时 ...

  5. 使用Appium连接iOS真机和Xcode中的iOS模拟器

    目录 一.使用Xcode运行WebDriverAgent 二.创建模拟器上可运行的安装包(Runner.app) 三.使用Appium连接iOS模拟器 四.使用Appium连接iOS真机 一.使用Xc ...

  6. 【已解决】Appium+Java控制真机(小米12X),运行Appium Inspector或Java测试脚本时报错Error executing adbExec

    参考: appium无法控制真机问题,Error executing adbExec appium启动start session报错记录Error executing adbExec 1. 设置背景及 ...

  7. python appium连接安卓真机测试

    Mac已配好Appium环境 (安装Appium Desktop 和安装python appium测试库Appium-python-client) 1.安卓真机 (1)用usb线将安卓设备连接电脑,在 ...

  8. Appium+Python+Pycharm如何创建并运行自动化测试脚本【真机运行】

    一.将测试机连接电脑,手机上会有一些提示,总之都允许就可以了,开始USB调试模式,之后打开cmd,输入adb devices,查看手机是否成功连接,如下图所示: 上图中可以看到,有一台设备已经成功连接 ...

  9. Appium自动化测试-iOS真机运行

    在使用iOS真机运行之前,需要配置好WDA,如果没有安装配置好WDA,可以参考文章:https://blog.csdn.net/dou_being/article/details/107745463 ...

最新文章

  1. BJUI使用ajax异步表单提交时后台action要加@ResponseBody
  2. SD卡读写,首选项,共享首选项
  3. jQuery获取元素
  4. win7 32位 安装opencv-python后,运行时提示 from .cv2 import *: DLL load failed: 找不到指定的模块 的解决办法...
  5. Mysql探究与学习大纲--主要是为了自己复习方便
  6. Java JDBC Druid
  7. JSpider(4):Tasks,EventsVisitors
  8. 机器学习之密度聚类(DBSCAN)
  9. 信号与系统(3.1)- RLC 串联电路的零输入响应
  10. java中的耦合_Java中的耦合
  11. 在自己电脑上调试微信公众号后台程序:附工具
  12. 围观知乎真福利话题,放松一下。
  13. 编辑器将光标横线变成竖线
  14. 深入理解Linux网路技术内幕学习笔记第四章:通知链
  15. STM32L0系列之ADC采集
  16. 华为Mate book D 2018加装内存条
  17. 一些计时软件,生产力工具
  18. Redis集群方案:redis-cluste原理与搭建
  19. 在线预览PDF文件功能实现
  20. 阿里云服务器数据从一个账号转移到另一个账号(跨号迁移)

热门文章

  1. 旋转矩阵、欧拉角、万向锁详解
  2. 胖胡斐的“魅力属性”
  3. CQBZOJ 避开怪兽
  4. matlab定义双精度型变量_matlab里,怎样定义变量类型
  5. 日本最受欢迎人工智能竟是女子高中生
  6. centos7图形界面与命令界面的切换
  7. diskgenius创建efi分区_Windows重建EFI引导启动分区(esp分区)
  8. 动态一时爽,重构火葬场?
  9. 斯坦福大学计算机科学的研究成果,美国斯坦福大学Leonidas Guibas教授做客青岛校区作学术报告...
  10. 蝴蝶落在窗户上的悲哀