目 录CONTENT

文章目录

Appium环境部署及自动化实现

懿曲折扇情
2022-06-05 / 0 评论 / 4 点赞 / 228 阅读 / 636 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-08-17,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告

一、Appium介绍

appium主要是一个移动 App (手机应用)自动化工具框架。

特点:
1.开源
2.跨平台
3.多语言

二、Appium工作原理

image-1654423126001

image-1654420181197

三、环境部署

1.安装jdk

安装配置环境变量

2.安装appium-python-client类库

pip install appium-python-client

3.安装Appium Server

安装地址:
https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4

image-1654420599457

4.安装 Android SDK

image-1654420619810

配置系统变量:

image-1654420662296

image-1654420706221

5.安装node.js

image-1654420738506

6.连接手机

打开开发者模式
打开usb调试
电脑弹出:
image-1654420866969
窗口执行:adb devices -l

image-1654420910414

到这里就是连接成功了。

四、第一个appium脚本

1.打开B站—搜索----获取标题—退出

代码如下:

# coding=utf-8
"""
    @Project :pachong-master 
    @File    :app_test.py
    @Author  :gaojs
    @Date    :2022/6/5 16:00
    @Blogs   : https://www.gaojs.com.cn
"""
from appium import webdriver
from selenium.webdriver.common.by import By
from appium.webdriver.extensions.android.nativekey import AndroidKey

desired_caps = {
    'platformName': 'Android', # 被测手机是安卓
    'platformVersion': '10', # 手机安卓版本
    'deviceName': 'gaojs_phone', # 设备名,安卓手机可以随意填写
    'appPackage': 'tv.danmaku.bili', # 启动APP Package名称
    'appActivity': '.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('白月黑羽')
# 输入回车键,确定搜索
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()

五、元素定位

uiautomatorviewer元素定位工具

元素定位和selenium基本是一个套路
image-1654421115917

六、ADB命令使用

查看连接设备状态:
adb devices -l
adb shell 后面加linux常用命令

adb shell ll
adb shell rm 
adb shell netstat
等等,其实和linux实质差不多
4

评论区