Python+Appium实现自动化测试

🍅 视频学习:文末有免费的配套视频可观看

🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快

一、环境准备

1.脚本语言:Python3.x    IDE:安装Pycharm

2.安装Java JDK 、Android SDK

3.adb环境,path添加E:\Software\Android_SDK\platform-tools

4.安装Appium for windows,官网地址 Redirecting

点击下载按钮会到GitHub的下载页面,选择对应平台下载

安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK   

然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到

二、真机测试

1.连接手机

打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试

测试是否连接成功,可执行命令adb devices

出现上图就证明手机和电脑连接成功。。。

2.点击Start Inspector Session,

按如下配置Desired Capabilities

platformName :声明是ios还是Android系统

platformVersion : Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看

deviceName :连接的设备名称,通过命令adb devices -l中model查看

appPackage :apk的包名

appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr “mResume”查看(需先打开手机应用)

注意:Android 8.1之前应使用adb shell dumpsys activity | findstr “mFocus”

3.运行Start Session,选择元素

右侧 Selected Element 区域有三个按钮

  • Tap:执行选中元素的点击事件
  • Send Keys:为文本框等对象传值
  • 如果是文本输入元素,就清除文本

4.录制脚本

录制生成的python代码如下:

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Pythonfrom appium import webdrivercaps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "9.0.0"
caps["deviceName"] = "Mi_Note_3"
caps["appPackage"] = "com.antfortune.wealth"
caps["appActivity"] = "com.alipay.mobile.quinox.LauncherActivity"
caps["resetKeyboard"] = True
caps["unicodeKeyboard"] = Truedriver = webdriver.Remote("http://localhost:4723/wd/hub", caps)el1 = driver.find_element_by_id("com.antfortune.wealth.login:id/login_main_button")
el1.click()
el2 = driver.find_element_by_id("com.alipay.mobile.accountauthbiz:id/auth_login_btn")
el2.click()driver.quit()

5.在pycharm中建立项目将代码粘入,在运行之前,还需通过pip命令安装pip install Appium-Python-Client依赖包

最后,记一个我在这些过程中遇到的问题(现已解决)

在Appium-desktop中运行Start Session时,出现

解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决。

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

2024花15天学完自动化测试全套教程,简单易上手,允许白嫖,拿走不谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac安装flutter环境

好记性不如烂笔头,之前出现文章用的后面再访问就没了,不如自己保存备份一份,哈哈 MAC电脑安装flutter环境 一,获取Flutter SDK 去flutter官网下载其最新可用的安装包 地址:https://flutter.dev/docs/development/tools/sdk/releases?tabmacos#macos …

如何使用Vite创建vue项目中配置别名和扩展名

在vite.config.js中,resolve 用于配置模块解析规则,如设置别名、扩展名等。 import {defineConfig} from vite import vue from vitejs/plugin-vue import path from path;export default defineConfig({resolve: {// 别名配置alias: {// 将 指向根目录…

C++ set、map

文章目录 关联式容器键值对树形结构的关联式容器setset的介绍set的使用 multisetmapmap的介绍map的使用 multimap 关联式容器 CSTL包含了序列式容器和关联式容器: 序列式容器:vector/list/deque关联式容器:set/map等 关联式容器也是用来存…

Java基础:设计模式之抽象工厂模式

一、模式定义与目的 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它为创建一组相关或相互依赖的对象提供了接口,而无需指定这些对象的具体类。这种模式允许客户端使用抽象接口来创建家族内的产品对象&#xff0…

Yolov5 export.py实现onnx模型的导出

查了很多资料,很多用python代码写的,只需要这个库那个库的,最后都没成功。 不如直接使用Yolov5里面的 export.py实现模型的转换。 一:安装依赖 因为yolov5里面的requirments.txt是将这些转换模型的都注释掉了 所以需要解除注释…

SAP如何批量标记生产订单的TECO状态

声明:本文仅代表作者观点和立场,不代表任何公司!仅用于SAP软件应用学习参考。 SAP/ERP系统生产订单完工后,在进行结算之前,需要进行技术性完成操作,即将生产订单批量标记TECO,标记上TECO表示生…

独立站运营教程:站外引流如何做?

在当今全球化的商业环境中,跨境电商已经成为一个蓬勃发展的行业。对于跨境电商独立站来说,站外引流是非常关键的一环,它可以帮助独立站吸引更多潜在客户,提升品牌知名度,促进销售增长。本文将深入探讨如何实现跨境电商…

eNSP学习——静态路由及默认路由基本配置

目录 知识背景 实验目的 实验步骤 实验内容 实验拓扑 实验编址 实验前期准备 实验步骤 1、基本配置(按照实验编址设置好对应的IP地址) 2、是实现主机之间的通信 3、实现全网全通来增强网络的可靠性 4、使用默认路由实现简单的网络优化 需要各…

【静态分析】静态分析笔记07 - 指针分析基础

参考: 【课程笔记】南大软件分析课程7——指针分析基础(课时9/10) - 简书 -------------------------------------------------------------- 1. 指针分析规则 规则:采用推导形式,横线上面是条件,横线下…

MySQL--表的操作

目录 创建表 查看表结构 修改表 新增列 修改列类型 修改列名 修改表名: 删除列 删除表 创建表 语法: CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引…

【论文阅读】Self-DC:何时检索,何时生成?

对于RAG来说,什么时候利用外部检索,什么时候使用大模型产生已知的知识,以回答当前的问题?这是一个非常有趣的话题。 《Self-DC: When to retrieve and When to generate? Self Divide-and-Conquer for Compositional Unknown Questions》这…

【设计模式】12、observer 观察者模式

文章目录 十二、observer 观察者模式12.1 subscriber12.1.1 broker_test.go12.2.2 broker.go12.2.3 client.go 十二、observer 观察者模式 https://refactoringguru.cn/design-patterns/observer 发布订阅模式, client 都可以向 broker 注册, broker 管理所有 connection, 当…

MySQL尾部空格处理与哪些设置有关? 字符集PAD SPACE与NO PAD属性的区别、MySQL字段尾部有空格为什么也能查询出来?

文章目录 一、问题背景二、字符集PAD_ATTRIBUTE属性(补齐属性)2.2、PAD SPACE与NO PAD的具体意义 三、CHAR类型尾部空格的处理四、其他问题4.1、在PAD SPACE属性时如何实现精准查询 五、总结 以下内容基于MySQL8.0进行讲解 一、问题背景 一次查询中发现…

Threejs加载字体加载FontLoader与TTFLoader

在 Three.js 中使用自定义字体进行 3D 文本渲染。它最初是以 JSON 格式加载字体,现在Three.js已经有一个 TTFLoader 类,可用于加载 TTF 字体文件并将它们用作 TextGeometry ! 1、最初使用FontLoader加载json字体方法如下 const loader new…

NVIDIA CUDA Toolkit

NVIDIA CUDA Toolkit CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developer CUDA Toolkit是用于CUDA开发的软件包,主要包括CUDA编译器、运行时库、GPU驱动程序和开发工具等。它允许开发者使用通用编程语言(如C、C)来利用NVIDIA GPU进行…

ZDOCK linux 下载(无需安装)、配置、使用

ZDOCK 下载 使用 1. 下载1)教育邮箱提交申请,会收到下载密码2)选择相应的版本3)解压 2. 使用方法Step 1:将pdb文件处理为ZDOCK可接受格式Step 2:DockingStep 3:创建所有预测结构 1. 下载 1&…

2023平航杯——介质取证部分复现

闻早起的电脑 教徒“闻早起”所使用的笔记本电脑使用何种加密程式? VeraCrypt 教徒“闻早起”所使用的笔记本电脑中安装了一款还原软件,其版本号为?【标准格式:1.2.3.4】 8.71.020.5734 教徒“闻早起”所使用的笔记本电脑中登…

.gitignore语法及配置问题

语法及配置 前言.gitignore语法Git 忽略规则优先级gitignore规则不生效Java项目中常用的.gitignore文件c项目中常用的.gitignore注意事项 前言 在工程中,并不是所有文件都需要保存到版本库中,例如“target”目录及目录下的文件就可以忽略。在Git工作区的…

CSS中的 5 类常见伪元素详解!

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

使用python setup.py报错:Upload failed (403) / Upload failed (400)

当前报错的环境 Python 3.9.19twine1.15.0 本地~/.pypirc已正确配置了用户名和密码,用在pypi.org注册: [pypi]username skylerhupassword ${password}执行 python setup.py sdist upload -r pypi 打包上传到仓库报错。 在不久之前同样的环境&#…