最新版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\用户\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 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:\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站视频的标题

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vatebur

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值