当前位置: 首页 > news >正文

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,官网地址 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模拟点击,两个都要打开,此时再重新运行,即可解决

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

   视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关文章:

  • 计算机网络——网络层(3)
  • 贝锐蒲公英全新网页认证,保障企业访客无线网络安全
  • 2024 高级前端面试题之 移动端多端开发 「精选篇」
  • transformer_正余弦位置编码代码笔记
  • 服务器为什么老是被攻击?被攻击了怎么办?
  • 十一、常用API——练习
  • 《HTML 简易速速上手小册》第8章:HTML 表单高级技术(2024 最新版)
  • 【云上建站】快速在云上构建个人网站3——网站选型和搭建
  • 用ASM HEMT模型提取GaN器件的参数
  • VUE!!!必看
  • ElementUI Form:Input 输入框
  • 消息中间件(MQ)对比:RabbitMQ、Kafka、ActiveMQ 和 RocketMQ
  • 本地socket通信
  • linux ping 某台服务的端口
  • C#中的WebApi响应Accept头,自动返回xml或者json
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【RocksDB】TransactionDB源码分析
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Akka系列(七):Actor持久化之Akka persistence
  • python大佬养成计划----difflib模块
  • 多线程事务回滚
  • 漂亮刷新控件-iOS
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 让你的分享飞起来——极光推出社会化分享组件
  • 《码出高效》学习笔记与书中错误记录
  • Semaphore
  • #if #elif #endif
  • (1)SpringCloud 整合Python
  • (Java数据结构)ArrayList
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (三)模仿学习-Action数据的模仿
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)Java算法:二分查找
  • (一)SpringBoot3---尚硅谷总结
  • (转)关于pipe()的详细解析
  • (转载)Linux网络编程入门
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • /3GB和/USERVA开关
  • @Autowired @Resource @Qualifier的区别
  • [Android]Tool-Systrace
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [codevs 1515]跳 【解题报告】
  • [codevs1288] 埃及分数
  • [java基础揉碎]方法的重写/覆盖
  • [LeetCode] Sort List
  • [Linux]创建新用户并授予root权限