python利用Appium实现自动控制移动设备并提取数据功能

yizhihongxing

Python利用Appium实现自动控制移动设备并提取数据功能

什么是Appium?

Appium 是一个开源的自动化测试框架,用于测试移动应用程序,可以支持多种移动操作系统和编程语言,包括 iOS、Android、Windows等系统和Java、Python等编程语言。

实现自动化控制移动设备需要准备的工具

  1. 安装 Appium Server
  2. 安装 Python
  3. 安装 Appium Python 客户端库 — Appium-Python-Client
  4. 安装移动设备厂商提供的驱动及 SDK(如 Android SDK )

示例1: Appium-Python-Client 实现 App 启动和元素识别

  1. 导入 appium Python Client 包
from appium import webdriver
  1. 设定配置文件参数
config = {
        'platformName': 'Android',#平台名称Android/iOS
        'deviceName': '模拟器名称',
        'appPackage': 'com.tencent.mm',#App包名
        'appActivity': '.ui.LauncherUI',#打开的Activity名称
        'noReset': 'True',#防止清空缓存启动
        'unicodeKeyboard': 'True',  # 使用unicode编码方式发送字符
        'resetKeyboard': 'True',  # 隐藏键盘
        'chromeOptions': {'androidProcess': 'com.tencent.mm:tools'},#设置chrome调试端口
        'automationName': 'UiAutomator2'
    }
  1. 连接 Appium Server
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', config)
  1. 查找 App 页面元素
    el1 = driver.find_element_by_id("com.tencent.mm:id/ged")
    el2 = driver.find_element_by_id("com.tencent.mm:id/gb7")
    el3 = driver.find_element_by_id("com.tencent.mm:id/kh")

示例2: Appium-Python-Client 实现模拟用户操作获取数据

  1. 连接 Appium Server
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', config)
  1. 模拟用户操作 — 在搜索框输入内容并搜索
    el = driver.find_element_by_id("com.tencent.mm:id/ged")
    el.click()  # 点击搜索框
    el.send_keys("python自动化测试")  # 在搜索框输入内容
    driver.press_keycode(66)  # 发送 Enter 键
  1. 获取搜索结果
    els = driver.find_elements_by_id("com.tencent.mm:id/fromUserNick")
    for el in els:
        print(el.text)  # 循环输出搜索结果的标题

总结

通过使用 Appium-Python-Client 可方便地完成自动化测试的任务,自动化控制移动设备进行模拟用户操作后,我们可以方便地获取数据。

以上内容是 Python利用Appium实现自动控制移动设备并提取数据功能 的一个完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python利用Appium实现自动控制移动设备并提取数据功能 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • python判断一个对象是否可迭代的例子

    判断一个对象是否可迭代是Python中常见的一个问题,下面来详细说明如何判断一个对象是否可迭代。 能否使用 for 循环遍历 使用 for 循环可以遍历一个可迭代对象,所以判断一个对象是否可迭代,可以尝试使用 for 循环来遍历这个对象。如果能够正常遍历,就说明这个对象可迭代。 下面是一个示例代码: items = [2, 4, 6] for item in…

    python 2023年6月3日
    00
  • Python中判断input()输入的数据的类型

    首先我们可以使用type()函数来判断input()输入的数据类型: data = input("请输入数据:") data_type = type(data) print("你输入的数据类型是:", data_type) 这里我们先定义了一个变量data来接收input()输入的数据,然后使用type()函数来得到输…

    python 2023年6月3日
    00
  • php判断终端是手机还是电脑访问网站的思路及代码

    要判断终端是手机还是电脑访问网站,我们可以通过判断HTTP请求头中的User-Agent信息来实现。不同终端的User-Agent信息是有区别的,我们可以根据这个信息来判断。 以下是实现的思路和代码: 1. 获取HTTP请求头中的User-Agent信息 在PHP中,可以通过$_SERVER[‘HTTP_USER_AGENT’]来获取HTTP请求头中的Use…

    python 2023年5月23日
    00
  • 详解用Pytest+Allure生成漂亮的HTML图形化测试报告

    Pytest是一个流行的Python测试框架,可以用于编写和运行各种类型的测试。Allure是一个开源的测试报告框架,可以生成漂亮的HTML图形化测试报告。以下是详解用Pytest+Allure生成漂亮的HTML图形化测试报告的完整攻略,包含两个示例。 示例1:使用Pytest+Allure生成测试报告 以下是一个示例,可以使用Pytest+Allure生成…

    python 2023年5月15日
    00
  • Python爬虫实例_利用百度地图API批量获取城市所有的POI点

    确认项目需求 在准备进行Python爬虫的实现之前,我们首先需要明确项目的需求,即我们要爬取的数据是什么,爬取的方式是什么。 本示例中,项目需求是要利用百度地图API获取指定城市的所有POI点,POI点包括名称、经纬度信息等。而爬取的方式是利用Python程序来通过百度地图API实现。 准备工作 在进行爬虫实现之前,我们需要进行一些准备工作,包括: 注册百度…

    python 2023年5月14日
    00
  • python 中raise用法

    当Python执行期间发生某些异常错误,可以使用raise语句来引发异常。通过raise语句抛出的异常必须是某个已定义异常类的实例,或是某个继承自Exception类的实例。这里是关于Python中raise用法的详细攻略。 什么是Python中的raise? raise语句通常用于抛出一个异常。当出现某种错误时,可以使用raise语句抛出异常并终止程序,可…

    python 2023年5月13日
    00
  • python正则表达式实例代码

    当我们需要对文本进行匹配、查找、替换、分割等操作时,正则表达式是一种非常强大的工具。在Python中,我们可以使用re模块来处理正则表达式。本文将详细讲解Python正则表达式实例代码的完整攻略,包括正则表达式的基本语法、常用函数和两个示例说明。 正则表达式的基本语法 正则表达式是由普通字符和元字符组成的字符串,用来描述文本模式。下面是一些常用的正则表达式元…

    python 2023年5月14日
    00
  • 分享python机器学习中应用所产生的聚类数据集方法

    下面我来详细讲解如何分享Python机器学习中应用所产生的聚类数据集方法。 背景 在Python机器学习中,聚类(cluster)是基本的无监督学习方法之一。其目的是将它们分为不同的组,使得组内的数据点更加相似,而其间的相异性则最小化。在聚类分析的过程中,我们需要让机器自动学习数据间的相似性,因此我们需要提供一些已经分好类的数据,作为聚类算法的输入。 在这里…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部