栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

最新版Appium自动化测试 JDK11

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

最新版Appium自动化测试 JDK11

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

白月黑羽网站  白月黑羽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用户AppDataLocalAndroidSdk。

并在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 webdriver

from appium.webdriver.extensions.android.nativekey import AndroidKey

desired_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:apkbili.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站视频的标题

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号