APP自动化二

本文介绍了Appium自动化测试的基础知识,包括启动Appium服务的方法、客户端和服务端的连接过程及常用ADB命令。此外,还详细讲解了不同类型的移动应用、UI定位技巧以及使用Python客户端进行自动化测试的具体步骤。
摘要由CSDN通过智能技术生成

appuim自动化的流程

首先要启动appuim的服务
服务端:
在这里插入图片描述
客户端:
在这里插入图片描述

发送post的请求:POST /wd/hub/session
携带这些参数
创建这些请求: Calling AppiumDriver.createSession() with args
在5037端口启动adb服务: Running ‘E:\Download\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe -P 5037 start-server’
adb的版本可以不填写,会处理默认的,如果填写必须写对。
后面的基本都是adb命令
在这里插入图片描述
在这里插入图片描述
建立端口转发:
在这里插入图片描述

PC端连接手机端、启动应用的原理:

在这里插入图片描述

2.Android应用基础知识

2.1App类型介绍

1.Native app 原生的 直接在操作系统上的、性能最强、交互最好、根据系统的底层所有的功能都能实现。缺点:开发成本高、不能跨平台、更新时比较慢、审核周期和维护成本比较高。
2.Hybrid&webview 混合应用 可跨平台 、开发成本 调试 成本低一些。
3.web app 手机浏览器 比如UC浏览器,就是一个网站 好维护。缺点:通知 提醒 动态效果都不能用、体验感差。
在这里插入图片描述
怎么分辨:
浏览器打开的肯定是web浏览器
能框住的都是原生的、不能框住的都是web浏览器的,之后会有工具直接判断
在这里插入图片描述

2.2包名&类名

packageName :app的唯一身份标识、如果遇到相同的包名 会提示是否覆盖。

activity: 简单来说就是一个页面

activityName 页面的名字 类名 .开头

2.3布局和控件

在这里插入图片描述
布局:
框架布局:
线性布局:LinearLayout
绝对布局: 采用坐标轴的
相对布局:
表格布局:

控件:
TextView -文本控件,展示文字
EditText - 编辑框 用于接收用户的输入
Button - 按钮
checkbox - 复选框
imageview- 图片控件 用来展示图片

控件上的属性
index 索引
text 文本属性
resource-id 控件的资源id 不唯一,有的没有
在这里插入图片描述

3定位调试工具

3.1 Ui Automator Viewer

这个工具的好处就是特别快 不浪费资源 就相当于获取截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 weditor

openatx的子项目
是通过浏览器打开

pip install weditor 安装

weditor 启动

启动后的画面:启动后在手机上安装了ATX应用
在这里插入图片描述
在这里插入图片描述
3.3 Appium Desktop的检查器会话
如果用weditor启动后 再回appuim启动时会报错、是因为ATX服务在启动中的状态,可以手动关了、也可以重启模拟器。

4.XML

安卓的每一个页面都是通过一个xml文档去表示的
xml 可扩展的标记语言(EXtensible markup language)

表示数据,用来传输,不用来显示数据

具有自我描述

xml:焦点是数据内容

html: 焦点显示数据,网页

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<?xml version="1.0" encoding="utf-8"?>
<person>
    <name name="name">心蓝</name>
    <age>18</age>
</person>

5. Appium-python-client

5.1 安装:
pip install appium-python-client
5.2 简单使用
1、创建一个客户端,并且要和服务连接
2、需要携带capabilities,创建一个会话
3、通过这个会话再去操作其他


from appium import webdriver

# 启动配置
desired_caps = {
    'platformName': 'Android',
    'deviceName': 'emulator-5554',
    'appPackage': 'com.lemon.lemonban',
    'appActivity': '.activity.MainActivity'
}

# 连接服务器并打开应用
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

在控制台打开不结束程序:
在这里插入图片描述

5.3 定位

id:
resource_id 它不唯一,需要验证
在这里插入图片描述

class name
类名
xpath
Accessibility ID

id com.lemon.lemonban:id/navigation_my

driver.find_element_by_id('com.lemon.lemonban:id/navigation_my').click()

class_name
driver.find_element_by_class_name('android.widget.ImageButton')

Accessibility ID
 driver.find_element_by_accessibility_id()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值