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

 更新时间:2022年07月29日 10:14:54   作者:美剧之神  
本文主要介绍了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真机移动端自动化脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现将字典(列表按列)存入csv文件

    Python实现将字典(列表按列)存入csv文件

    这篇文章主要介绍了Python实现将字典(列表按列)存入csv文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Django实现登录随机验证码的示例代码

    Django实现登录随机验证码的示例代码

    登录验证码是每个网站登录时的基本标配,这篇文章主要介绍了Django实现登录随机验证码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • python循环神经网络RNN函数tf.nn.dynamic_rnn使用

    python循环神经网络RNN函数tf.nn.dynamic_rnn使用

    这篇文章主要为大家介绍了python循环神经网络RNN的tf.nn.dynamic_rnn使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • PyCharm+Qt Designer+PyUIC安装配置教程详解

    PyCharm+Qt Designer+PyUIC安装配置教程详解

    这篇文章主要介绍了PyCharm+Qt Designer+PyUIC安装配置教程详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • 浅谈python常用程序算法

    浅谈python常用程序算法

    这篇文章主要介绍了python常用程序算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 使用 Django Highcharts 实现数据可视化过程解析

    使用 Django Highcharts 实现数据可视化过程解析

    这篇文章主要介绍了使用 Django Highcharts 实现数据可视化过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 在Python中使用zlib模块进行数据压缩的教程

    在Python中使用zlib模块进行数据压缩的教程

    这篇文章主要介绍了在Python中使用zlib模块进行数据压缩的教程,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • np.mean()和np.std()函数的具体使用

    np.mean()和np.std()函数的具体使用

    本文主要介绍了np.mean()和np.std()函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python虚拟机字节码教程之装饰器实现详解

    Python虚拟机字节码教程之装饰器实现详解

    在本篇文章当中主要给大家介绍在 cpython 当中一些比较常见的字节码,从根本上理解 python 程序的执行。在本文当中主要介绍一些 python 基本操作的字节码,并且将从字节码的角度分析函数装饰器的原理
    2023-04-04
  • Python实现过滤单个Android程序日志脚本分享

    Python实现过滤单个Android程序日志脚本分享

    这篇文章主要介绍了Python实现过滤单个Android程序日志脚本分享,本文讲解了原理、实现代码、使用方法、最新代码等内容,需要的朋友可以参考下
    2015-01-01

最新评论