千家信息网

Appium框架的知识点有哪些

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"Appium框架的知识点有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Appium框架的知识点有哪些"吧!1、测试对象Appium
千家信息网最后更新 2026年10月31日Appium框架的知识点有哪些

本篇内容主要讲解"Appium框架的知识点有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Appium框架的知识点有哪些"吧!

1、测试对象

Appium是一个开源工具,用于自动化iOS、Android设备和Windows桌面平台上的原生、移动Web和混合应用。

"原生应用"指那些用iOS、Android或者WindowsSDK编写的应用。

"移动web应用"是用移动端浏览器访问的应用(Appium支持iOS上的Safari、Chrome和Android上的内置浏览器)。

"混合应用"带有一个"webview"的包装器--用来和Web内容交互的原生控件。

重要的是:Appium是跨平台的:它允许你用同样的API对多平台写测试,做到在iOS、Android和Windows测试套件之间复用代码。

2、支持平台及语言

● appium是跨平台的,支持OSX,Windows以及Linux系统。它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性

● appium支持多语言,采用C/S设计模式,只要满足client能够发送http请求给server即可

3、工作原理

APPIUM IOS端工作原理

下面我们通过一张图来看下IOS端APPIUM全过程工作原理:

APPIUM Android端工作原理

下面我们通过一张图来看下android端APPIUM全过程工作原理:

解释:

整个箭头指向为一个完成的指令循环

webdriver script需要自动化测试人员自己编写对应的测试脚本

建议大家去了解下JSON wire protocol、instruments、UiAutomator

4、安装工具

● 测试语言,如python

● appium客户端

● appium服务端

● 移动设备,若使用虚拟机则需进行安装

5、环境搭建

(一)安装Android SDK

1、Android SDK(Software Development Kit,软件开发工具包)提供了 Android API 库和开发工具构建,测试和调试应用程序,可以看做用于开发和运行Android应用的一个软件

2、提供小工具,比如adb、aapt、uiautomatorview

3、测试设备使用安卓模拟器,这一步决不能跳过

(二)安装 appium Server

1、appium官网:https://pium.app/downloads/

2、下载appium安装包(AppiumForWindows.zip,appium.dmg)

3、安装,并配置appium环境变量

(三)安装 python-client

1、先安装编程语言,比如python语言

2、安装Appium-Client,python的话可使用pip安装:pip install Appium-Python-Client

6、应用及操作

①调用appium过程

1、配置手机设备参数,告诉server端我想调起的是哪一台手机设备

2、抓取手机上应用的控件,指定对应的控件来进行操作

3、对抓取到的控件进行操作,比如点击、填写参数等

第一步,配置手机设备参数

Appium 的 Desired Capabilities 基本配置如下:

#Android environment

import unittest

from appium import webdriver

desired_caps = {}

desired_caps['platformName'] = 'Android'

desired_caps['platformVersion'] = '4.2'

desired_caps['deviceName'] = 'Android Emulator'

desired_caps['app'] = PATH('../../../apps/selendroid-test-app.apk')

desired_caps['appPackage'] = package

desired_caps['appActivity'] = activity

self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

常见参数解释:

● deviceName:指定启动设备,比如Android Emulator、iPhone Simulator等

● automationName:指定自动化引擎,默认appium

● platformName:指定移动平台,Android或者iOS

● platformVersion:指定平台的系统版本。例如指定Android系统版本为4.2

● appActivity:待测试app的Activity,注意,原生app的话要在activity前加个"."

● appPackage:待测试app的包名(package)信息

第二步,抓取手机上应用的控件

通过Android SDK内置工具uiautomatorviewer.bat来查看手机应用的控件参数(该工具位于 /tools/bin/ 目录下)

1、id定位

使用方法:

driver.find_element_by_id('com.android.contacts:id/three')

2、name定位

使用方法:

el = self.driver.find_element_by_name('未接来电') el = self.driver.find_elements_by_name('未接来电')

3、class name 定位

使用方法:

els = self.driver.find_element_by_class_name('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')

4、Accessibility ID定位

使用方法:

el = self.driver.find_element_by_accessibility_id('三') el = self.driver.find_elements_by_accessibility_id('三')

5、android uiautomator定位

使用方法:

el=self.driver.find_element_by_android_uiautomator('new UiSelector().description(星形符号")')

els=self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(false)')

第三步,操作控件

1.scroll

scroll(self, origin_el, destination_el):

从元素origin_el滚动至元素destination_el

举例:driver.scroll(el1, el2)

用法:driver.scroll(el1,el2)

2.tap

tap(self, positions, duration=None):

模拟手指点击(最多五个手指),可设置按住时间长度(毫秒)

举例:driver.tap([(100, 20), (100, 60), (100, 100)], 500)

用法:driver.tap([(x,y),(x1,y1)],500)

3. swipe

swipe(self, start_x, start_y, end_x, end_y, duration=None):

从A点滑动至B点,滑动时间为毫秒

举例:driver.swipe(100, 100, 100, 400)

用法:driver.swipe(x1,y1,x2,y2,500)

4. keyevent

keyevent(self, keycode, metastate=None):

发送按键码(安卓仅有),按键码可以上网址中找到

用法:driver.keyevent('4')

5. press_keycode

press_keycode(self, keycode, metastate=None):

发送按键码(安卓仅有),按键码可以上网址中找到

用法:driver.press_ keycode('4')

6.text

text(self):

返回元素的文本值

用法:element.text

7.click

click(self):

点击元素

用法:element.click()

8.get_attribute

get_attribute(self, name):

获取某元素的相关值

用法:element.get_attribute("name")

9.size

size(self):

获取元素的大小(高和宽)

用法 driver.element.size

10. page_source

page_source(self):

获取当前页面的源

用法:driver.page_source

11.quit

quit(self):

退出脚本运行并关闭每个相关的窗口连接

举例:driver.quit()

执行结果判断

在用例执行完毕,需要判断是否通过时,需要和你预期的结果进行对比,一般可以选择断言查找某个标志位是否出现,或者某个元素的text值是否和预期相等,还可以截图后跟参照图片做对比等等。

到此,相信大家对"Appium框架的知识点有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

测试 应用 元素 工具 控件 设备 平台 手机 方法 使用方法 原理 参数 定位 工作 移动 按键 语言 支持 自动化 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 广州大一互联网络科技有限公司 新华互联网科技学校 科技与互联网 鑫亿盛互联网科技 九亚互联网科技 互联网科技的未来发展 互联网科技大会案例 科技伦理 互联网公司 哈尔滨秒房互联网科技有限公司 茂名市互联网科技产业园 互联网公司科技股 重庆互联网医院沙龙医盟信息科技 乌苏新华互联网科技做什么的 济南有互联网科技公司吗 滨湖区互联网智能科技产品有哪些 银行科技岗属于互联网吗 济南小医互联网科技有限公司招聘 珠海东科互联网科技有限公司 科技互联网专业工作会议发言稿 科技平台互联网 迪茉互联网科技 互联网 科技服务平台 互联网科技素材视频竖屏 速维有品互联网信息科技(苏州)有限公司 互联网科技的全部知识 长沙互联网科技 互联网科技实习生岗位 西安左小互联网科技有限公司 上海旺乐尼互联网科技有限公司
0