APPium+Python编写真机移动端自动化脚本的项目实践

目录
  • 前置条件
  • 连接设备
  • 脚本编写
    • 初始化设备参数
    • 操作命令
  • 脚本运行

前置条件

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

连接设备

手机打开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编写真机移动端自动化脚本的项目实践的文章就介绍到这了,更多相关APPium Python真机移动端自动化脚本内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Appium Python自动化测试之环境搭建的步骤

    Appium简介 Appium是一个自动化测试开源工具,支持IOS和Android平台上的移动原生应用.移动Web应用和混合应用.所谓的"移动原生应用"是指那些用IOS或者Android SDK写的应用:所谓的"移动Web应用"是指使用移动浏览器方位的应用(Appium支持IOS上的Safari和Android上的Chrome):所谓的"混合应用"是指原生代码封装网页视图(原生代码和Web内容交互).更重要的是,Appium是一个跨平台的工具,它

  • python利用appium实现手机APP自动化的示例

    写这个东西也是自己喜欢研究些自动化的东西,以下全是自己的经验所得,由于开源的软件对于各版本以及操作系统要求很高,会经常碰到一些不兼容的问题,这个都属于正常的,换版本就对了. 如果你感觉学不会?莫慌,小编推荐大家加入群, 前面548中间377后面875,群里有志同道合的小伙伴, 互帮互助,还可以拿到许多视频教程! 本人的环境搭建都是在win10 64位上搭建的 1.环境准备 1.jdk1.8.0 (64位) 2.android-sdk_r24.4.1-windows 3.python:2.7(3.

  • 详解基于Android的Appium+Python自动化脚本编写

    1.Appium Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序. 通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码. 下面开始Appium的配置. appPackage和APPActivity的获取 任意下载一个app 解压 但是解压出来的xml文件可能是乱码,所以我们需要反编译文件. 逆向AndroidMan

  • Appium+Python+pytest自动化测试框架的实战

    菜鸟一枚,写的不好勿喷,大家一起学习 先简单介绍一下目录,再贴一些代码,代码里有注释 Basic目录下写的是一些公共的方法,Data目录下写的是测试数据,image存的是测试失败截图,Log日志文件,Page测试的定位元素,report测试报告,Test测试用例,pytest.ini是pytest启动配置文件,requirements.txt需要安装的py模块,run.py运行文件 Basic/base.py 里面封装了 一些方法,元素的点击,输入,查找,还有一些自己需要的公共方法也封装在里面,

  • Python与Appium实现手机APP自动化测试的示例代码

    目录 1.什么是Appium 2.启动一个app自动化程序的步骤 3.appium服务介绍 4. appium客户端使用 5.adb的使用 6.Appium启动过程分析 1.什么是Appium appium是一个开源的测试自动化框架,可以与原生的.混合的和移动的web应用程序一直使用.它使用WebDriver协议驱动IOS(内置的测试引擎xcuitest).Android(uiautomator2,Espresso)和Windows应用程序 原生应用程序:安卓程序是用JAVA或kotlin开发出

  • python+appium+yaml移动端自动化测试框架实现详解

    结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下. 不想看文章得可以直接去Github,欢迎拍砖 大致结构如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图 logs 存放日志 testcase 存放测试用例runtest.py

  • Python脚本在Appium库上对移动应用实现自动化测试

    采用Appium进行自动化的功能性测试最酷的一点是,你可以使用具有最适合你的测试工具的任何一门语言来写你的测试代码.大家选择最多的一个测试编程语言就是Python. 使用Appium和Python为iOS和Android应用编写测试代码非常容易. 在这篇博文中我们将详细讲解使用Appium下的Python编写的测试的例子代码对一个iOS的样例应用进行测试所涉及的各个步骤,而对Android应用进行测试所需的步骤与此非常类似. 开始,先自https://github.com/appium/appi

  • Python+Appium实现自动化测试的使用步骤

    一.环境准备 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 然后点下

  • Python+Appium自动化测试的实战

    目录 一.环境准备 二.真机测试 一.环境准备 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

  • APPium+Python编写真机移动端自动化脚本的项目实践

    目录 前置条件 连接设备 脚本编写 初始化设备参数 操作命令 脚本运行 前置条件 完成软件和环境的安装后就可以开始移动端自动化脚本的编写了. 连接设备 手机打开USB调试模式,连接手机.此时去命令窗口查看自己的设备是否已经连接. 让后打开Appium Server,进行配置,设置Android与Java的环境地址. 启动服务器,即可. 脚本编写 初始化设备参数 首先对于手机的参数进行填写,对于要进行测试的APP的信息也进行获取. import time from appium import we

  • 使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

    前言:前段时间做了selenium的学习和实践,有点意犹未尽,所以自己就又学了下Appium的使用,因为这一套东西在16年已经停止维护了,不管实现还是设计上都不是很容易,也踩了很多坑,现在在此记录下大概过程.后续有时间再完善手册. 一.准备 安装SDK,配置环境变量 链接: https://pan.baidu.com/s/1g2QaWjdfg6Txa0gZf9kk3A 提取码: 8aaz windows配置环境SDK变量 我的电脑右键->属性 点击高级系统设置 点击环境变量 点击新建按钮,变量名

  • Python编写简单的HTML页面合并脚本

    最近写一个BootStrap页面...因为功能需要所以决定一个页面解决所有问题,然后用jQuery来动态显示功能....然而这样做的话页面会相当庞大,一堆隐藏模态窗口和功能div都堆在一起看起来挺难受的 然后想了下就用Python写了个小脚本用来支持<include>标签,用处是合并外部html文件,来强行分文件编写单个庞大的HTML页面 用了下感觉挺好用的,分享给大家 使用方法: HTML中使用<include src="">标签来导入其他HTML代码.支持嵌

  • vue中的H5移动端项目 真机测试配置方式

    目录 H5移动端项目 真机测试配置 vue cli2 vue cli4 vue h5 真机调试 H5移动端项目 真机测试配置 vue cli2 1.配置网段:(手机和电脑在同一局域网内) 2.在项目中重启命令行(或者cmd)运行 ipconfig 获取到项目在本机运行的ip地址 3.关闭防火墙 4.前端:config文件夹下index.js文件 修改host:为0.0.0.0 修改 axios.defaultsbaseURl = "http://172.20.10.9:8082" 5.

  • Appium+python自动化怎么查看程序所占端口号和IP

    简介 这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到 FQ工具 Lantern ,就算是给关注和支持的小伙伴们拓展一下眼界和知识面.而且好多人都阅读了上一篇没发现那个参考博客点不开吗?那是因为还没来的急,整理和编写,今天再试一下就可以. 一个软件可能占用多个端口拥有多个目标IP,下面以FQ工具 Lantern 为例,说明端口查看方法: 1.借助第三方软件查看 如果你电脑上安装了360等优化工具,可能会自带查看网络状况的插件如下图: 2.命令行窗口查看 在命令行窗口查看

  • Appium+python自动化之连接模拟器并启动淘宝APP(超详解)

    简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑版的虚拟手机),然后再安装一款APP-淘宝为例. 一.appium+pycharm+连接夜神模拟器并启动淘宝APP(推荐) 1.首先打开pycharm并写好代码,这里以淘宝APK作为测试Demo,淘宝APK我是放在电脑桌面(或者放置同代码同个目录下).如下图所示 其中|:driver = webdr

  • Appium+Python自动化测试之运行App程序示例

    在上一篇博客中,已经将环境搭建好了.现在,我们利用搭建的环境来运行一条测试脚本,脚本中启动一个计算器的应用,并实现加法的运算. 创建模拟器 在运行App之前,首先需要创建一个Android模拟器,也可以使用真机来运行,效果更佳. 进到Android SDK的目录,双击运行AVD Manager.exe 点击Create创建一个Android模拟器 输入一个模拟器名称,选择设备类型和API版本,点击进行创建.创建完成后会显示当前所有的设备,选择设备,点击Start启动 第一次启动的时候会有点慢,要

  • Appium+Python自动化环境搭建实例教程

    目录 前言 环境准备 jdk安装 android-sdk下载安装 android-sdk环境变量 adb环境 连接手机 前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python. 小编擅长Python,所以接下来的教程是appium+python的实例. 学习appium最大的难处在于环境的安装,从入门到真正的放弃,然后就没然后了,10%的人被环境折腾一周以上,只有剩下的10%人品好,可以顺利安装. 环境准备 小

随机推荐