脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - APPium+Python编写真机移动端自动化脚本的项目实践

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

2022-07-29 13:13美剧之神 Python

本文主要介绍了APPium+Python编写真机移动端自动化脚本的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前置条件

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

连接设备

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

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

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

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

启动服务器,即可。

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

脚本编写

初始化设备参数

首先对于手机的参数进行填写,对于要进行测试的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是将键盘隐藏起来
}

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

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

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

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

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

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

操作命令

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

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

脚本运行

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

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

原文地址:https://blog.csdn.net/M1170780140/article/details/123342797

延伸 · 阅读

精彩推荐