相关链接(感谢白月黑羽)

白月黑羽网站  白月黑羽b站教程视频

实验平台

Windows11

JAVA JDK11

Python IDE “PyCharm”

Python Anaconda3(Python 3.8.8)

Appium Server GUI

Appium Inspector(新版Appium 将Inspector被分离出来作为一个独立的软件 )

Android Studio (Android SDK)

nodejs

实验步骤

1.配置环境

(1)安装PyCharm

(2)安装Anaconda3(python3.8.8)直接安装python也行

(3)在Anaconda3的控制台安装” appium-python-client”.

python需要appium-python-client调用 Appium Server 进行通信

(4)配置PyCharm的python(Anaconda3)环境

(5)安装 Android SDK 。

我手机是安卓11,为了保证SDK对安卓11的支持。这里我是下载了Android Studio再用Android Studio下载android 11的SKD。

也可以直接下载androidsdk解压。这样占用存储空间会小一点

(5.1)配置SDK环境变量

在系统变量里添加 “ANDROID_HOME”,Android Studio的SKD默认保存在

C:\Users\用户\AppData\Local\Android\Sdk。

并在path里加上platform-tools地址

配置完以后到cmd里输入adb查看是否配置正确

(6)连接手机 打开手机开发者模式并进入,打开USB调试。(不同品牌开发者模式位置不同)

(6.1)连接好以后,打开命令行窗口(cmd), 执行命令

adb devices

来列出连接在电脑上的安卓设备。

显示device即可

(7)安装JAVA JDK11

到JAVA 官网找到JAK11的安装包,进行安装,并配置环境变量

(此处略,网上有很多jdk安装教程)

(8)安装Appium Server GUI和Appium Inspector(可以不用下,走个形式)

(新版本的Appium将功能分离了要额外安装Inspector)

俩个软件可以官网和GitHub上下载。(可能需要梯子)

(8.1)配置Appium Server GUI环境

打开Appium Server GUI,点击编辑配置(Appium启动比较慢)

填写Java JDK和Android SDK目录保存并重启

2.编写自动化测试程序

(1)获取要测试应用的Package 和 Activity

手机打开要测试的应用(这里我选择哔哩哔哩)

在CMD输入

adb shell dumpsys window w |grep \\/ |grep name=

根据不同的设备命令可能会不同

这里附上其他命令

adb shell dumpsys window w |findstr \/ |findstr name=
adb shell dumpsys activity recents | find "intent={"

找到哔哩哔哩的Package 和 Activity

根据运行结果可以得知现在哔哩哔哩(6.47.0)的Package 和 Activity分别是

tv.danmaku.bili

tv.danmaku.bili.MainActivityV2

(2)查看要测试应用的相关信息

打开Appium Server GUI启动服务

打开Appium Inspector(可以不用做,走个形式),并填写相关配置,填写远程主机,端口号和路径

{"platformName": "Android", "platformVersion": "11",  //安卓版本号"deviceName": "MI 9",     //设备名,可自定义"appPackage": "tv.danmaku.bili",    //哔哩哔哩的Package"appActivity": "tv.danmaku.bili.MainActivityV2", //哔哩哔哩首页的Activity"unicodeKeyboard": "True",          //使用自带输入法,输入中文时填True"resetKeyboard": "True",               //执行完程序恢复原来输入法"noReset": "True",                        //不要重置App"newCommandTimeout": "6000","automationName": "UiAutomator2"}

填完后点击右下角的Start Session,用选择器捕获需要的按钮。

(4)用PyCharm编写自动化测试代码

from appium import webdriverfrom appium.webdriver.extensions.android.nativekey import AndroidKeydesired_caps = {'platformName': 'Android', # 被测手机是安卓'platformVersion': '11', # 手机安卓版本'deviceName': 'MI 9', # 设备名,安卓手机可以随意填写'appPackage': 'tv.danmaku.bili', # 启动APP Package名称'appActivity': 'tv.danmaku.bili.MainActivityV2', # 启动Activity名称'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True'resetKeyboard': True, # 执行完程序恢复原来输入法'noReset': True,       # 不要重置App'newCommandTimeout': 6000,'automationName' : 'UiAutomator2'# 'app': r'd:\apk\bili.apk',
}# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)# 设置缺省等待时间
driver.implicitly_wait(5)# 如果有`青少年保护`界面,点击`我知道了`
iknow = driver.find_elements_by_id("text3")
if iknow:iknow.click()# 根据id定位搜索位置框,点击
driver.find_element_by_id("expand_search").click()# 根据id定位搜索输入框,点击
sbox = driver.find_element_by_id('search_src_text')
sbox.send_keys('微凉丶VATE')
# 输入回车键,确定搜索
driver.press_keycode(AndroidKey.ENTER)# 选择(定位)所有视频标题
eles = driver.find_elements_by_id("title")for ele in eles:# 打印标题print(ele.text)input('**** Press to quit..')
driver.quit()

编写好后运行程序,同意usb的安装。可以看到程序成功执行,顺利的抓取到了b站视频的标题

最新版Appium自动化测试 JDK11相关推荐

  1. Appium - 自动化测试框架 - 工作原理、环境搭建

    前言 Appium是移动端的UI自动化测试框架,基于C/S模式,特点是支持跨平台(安卓,ios),支持多语言(对java,python都有支持的API).本文系博主对于该框架的部分学习记录. 一.什么 ...

  2. 全网最全appium工作原理以及appium自动化测试环境搭建教程

    目录:导读 一.前言 二.Appium简介 三.搭建Appium+Python自动化测试环境 1.安装JDK并配置JDK的环境变量. 2.安装SDK并配置SDK的环境变量. 3.安装夜神模拟器并在模拟 ...

  3. 虫师python appium自动化测试书_Appium移动自动化测试(一)--安装Appium

    这套教程年久失修,问题的人也比较多,于是,我重新整理了一套appium入门教程. ---------2017.11.16 更新----------------------- Appium 自动化测试是 ...

  4. appium 驱动 对应9.0 系统_以后做Appium自动化测试,再也不会踩这些坑了!

    一.前言 APP的 webview 自动化是依赖于 chromedriver 的,并且每个APP的 webview 版本号都不太一样,这就导致了每次都需要重新去下载对应的chromedriver 版本 ...

  5. python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...

    基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...

  6. appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...

    资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...

  7. pythonapp自动化_移动App Appium自动化测试教程Appium+Python 【2018年新】

    资源介绍 资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 ...

  8. Python Appium自动化测试框架 综合实践案例(中)

    Time will tell. 本篇章紧接上一篇继续来分享关于 Appium 自动化测试框架综合实践案例代码.框架所需要的代码实现都已基本完成. data数据封装 1.使用背景 在实际项目过程中,我们 ...

  9. Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...

最新文章

  1. 分类模型的ROC曲线、AUC值、GINI系数、Lift、Gain、KS指标分别是什么?计算公式是什么?有什么意义?
  2. 用Delphi设计能携带附件的EMail
  3. 物联网协议之CoAP协议开发学习笔记之术语解释
  4. 英语语法---形容词性从句详解
  5. android Java BASE64编码和解码二:图片的编码和解码
  6. 目标检测基本概念理解之IoU(交并比)以及Python代码实现
  7. 如何轻松将上亿的数据玩弄于股掌之中?
  8. “约见”面试官系列之常见面试题第十七篇之实现深拷贝(建议收藏)
  9. -bash: locate: command not found
  10. 数据结构java版 大学_数据结构(Java版)
  11. python-12:怎么在爬虫代码中伪装header
  12. Angular移动工具集要让Web应用有原生的感觉
  13. 如何更新linux系统时间
  14. 1、CSS Float(浮动),2、CSS 布局 - 水平 垂直对齐,3、CSS 伪类(Pseudo-classes),4、导航栏
  15. 超强PCB布线设计经验
  16. 第1篇:熊猫烧香之手动查杀
  17. 佳能打印机手机显示未连接服务器,佳能打印机出现服务器设置密码
  18. 阿里云邮推定制版 首创按量计费模式
  19. 有功,无功,视在功率的关系公式和图
  20. 如何解决地图已加载却不能渲染的问题?

热门文章

  1. 5G NR 频率范围和工作频段
  2. SQL Server 2008 R2 新特性之一
  3. 广州这个小区率先坐上无人驾驶通勤车!未来已来?
  4. mysql if is not null_MySQL IS NULL判断值是否为NULL及优化详解
  5. html语言的使用的实验报告,html程序设计实验报告.doc
  6. 如何对手机网页底部悬浮广告代码做翻转效果,这样做就好了
  7. 字体图标网站 (fontawesome)
  8. 洗地机哪个牌子比较好?家用洗地机推荐
  9. 5G PDU会话建立流程
  10. 2008-03-08 好高兴啊,体验了准妈妈的感觉