IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Appium相关 -> 正文阅读

[开发测试]Appium相关

Appium

1、简介

支持多种类型的自动化、支持多平台、支持多种编程语言

自动化程序(Appium客户端库)

Appium Server:转发自动化指令给手机

设备:iOS、Android(要安装自动化代理程序)ios (XCUITest) android(UIAutomator)

检测手机是否连上:adb devices -1

2、前置准备

1、安装jdk

2、安装SDK

3、安装模拟器

查看服务是否启动:

adb devices
nox_adb.exe connect 127.0.0.1:62001

在这里插入图片描述

3、代码

`运行代码前要先运行Appium Desktop

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

desired_caps = {
  'platformName': 'Android', # 被测手机是安卓
  'platformVersion': '8', # 手机安卓版本
  'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
  'appPackage': 'tv.danmaku.bili', # 启动APP Package名称
  'appActivity': '.ui.splash.SplashActivity', # 启动Activity名称
  'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
  'resetKeyboard': True, # 执行完程序恢复原来输入法
  'noReset': True,       # 不要重置App
  'newCommandTimeout': 6000,
  'automationName' : 'UiAutomator2'
  # 'app': r'd:\apk\bili.apk',
}

# 连接Appium Server,初始化自动化环境
# 前面为Appium Server的服务端地址,固定的;desired_caps这个参数为主要信息
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()

`

4、查找应用Package和Activity

(1)没有apk:应用已经在手机上安装

? 步骤:进入到要操作的界面,执行:

?

adb shell dumpsys activity recents | find "intent={"

其中第一行就是当前的应用,‘/’前的为package名,’/'后的全部为Activity

(2)有apk

获取package:

d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find "package: name="

获取activity

d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find "launchable-activity"

5、Appium配置连接模拟器

1、使用 命令查看安卓版本

在这里插入图片描述

6、界面查看工具

Appium需要工具查看界面元素的特征。

常用查看工具:Android SDK包中的uiautomateviewer和Appium Desktop中的appium inspector

1、uiautomateviewer:在tools\bin目录中

2、appium inspector

定位元素的方法:

1、通过resource-id定位:但这个ID 可能不唯一

driver.find_element_by_id('id')

2、根据class name定位:根据元素的类型,通常不唯一

? 适用于:(1)如果确定要查找的界面元素类型在当前界面中只有一个就可以用class来选择;

? (2)要找了一个类型的多个时

driver.find_elements_by_class_name('')

3、根据ACCESSIBILITY ID:元素的content-desc属性

? 适用于:如果要查询的界面元素有content-desc属性,可以通过它来定位选择元素

driver.find_elemnet_by_accessibility_id('')

4、根据Xpath:可靠性和性能不佳;

driver.find_element_by_xpath(’//’)

7、UI Automator

UI Automator测试框架提供了一组API来构建UI测试,用于在 用户应用和系统应用中进行交互

可以实现打开“设置”菜单或应用启动器等

适合编写黑盒自动化测试,测试代码不依赖于目标应用的内部

8、报错解决

https://www.cnblogs.com/deliaries/p/12449071.html

查看模拟器的package和activity
请添加图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:24:47  更:2021-08-26 12:26:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:43:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码