本篇内容主要讲解“Appium框架的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Appium框架的知识点有哪些”吧!测试对象Appium是一个开源工具,用于自动化iOS、Andro
本篇内容主要讲解“Appium框架的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Appium框架的知识点有哪些”吧!
测试对象
Appium是一个开源工具,用于自动化iOS、Android设备和windows桌面平台上的原生、移动WEB和混合应用。
"原生应用"指那些用ioS、Android或者WindowsSDK编写的应用。
"移动web应用"是用移动端浏览器访问的应用(Appium支持iOS上的Safari、Chrome和Android上的内置浏览器)。
"混合应用"带有一个"webview"的包装器——用来和Web内容交互的原生控件。
重要的是:Appium是跨平台的:它允许你用同样的api对多平台写测试,做到在iOS、Android和Windows测试套件之间复用代码。
支持平台及语言
● appium是跨平台的,支持OSX,Windows以及linux系统。它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性
● appium支持多语言,采用C/S设计模式,只要满足client能够发送Http请求给server即可
工作原理
APPIUM IOS端工作原理
下面我们通过一张图来看下IOS端APPIUM全过程工作原理:
APPIUM Android端工作原理
下面我们通过一张图来看下android端APPIUM全过程工作原理:
解释:
整个箭头指向为一个完成的指令循环
webdriver script需要自动化测试人员自己编写对应的测试脚本
建议大家去了解下JSON wire protocol、instruments、UiAutomator
安装工具
● 测试语言,如python
● appium客户端
● appium服务端
● 移动设备,若使用虚拟机则需进行安装
环境搭建
(一)安装Android SDK
Android SDK(Software Development Kit,软件开发工具包)提供了 Android API 库和开发工具构建,测试和调试应用程序,可以看做用于开发和运行Android应用的一个软件
提供小工具,比如adb、aapt、uiautomatorview
测试设备使用安卓模拟器,这一步决不能跳过
(二)安装 appium Server
appium官网:https://pium.app/downloads/
下载appium安装包(AppiumForWindows.zip,appium.dmg)
安装,并配置appium环境变量
(三)安装 Python-client
先安装编程语言,比如python语言
安装Appium-Client,python的话可使用pip安装:pip install Appium-Python-Client
应用及操作
①调用appium过程
配置手机设备参数,告诉server端我想调起的是哪一台手机设备
抓取手机上应用的控件,指定对应的控件来进行操作
对抓取到的控件进行操作,比如点击、填写参数等
第一步,配置手机设备参数
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/ 目录下)
id定位
使用方法:
driver.find_element_by_id('com.android.contacts:id/three')
name定位
使用方法:
el = self.driver.find_element_by_name('未接来电') el = self.driver.find_elements_by_name('未接来电')
class name 定位
使用方法:
els = self.driver.find_element_by_class_name('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')
Accessibility ID定位
使用方法:
el = self.driver.find_element_by_accessibility_id('三') el = self.driver.find_elements_by_accessibility_id('三')
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)')
第三步,操作控件
scroll
scroll(self, origin_el, destination_el):
从元素origin_el滚动至元素destination_el
举例:driver.scroll(el1, el2)
用法:driver.scroll(el1,el2)
tap
tap(self, positions, duration=None):
模拟手指点击(最多五个手指),可设置按住时间长度(毫秒)
举例:driver.tap([(100, 20), (100, 60), (100, 100)], 500)
用法:driver.tap([(x,y),(x1,y1)],500)
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)
keyevent
keyevent(self, keycode, metastate=None):
发送按键码(安卓仅有),按键码可以上网址中找到
用法:driver.keyevent('4')
press_keycode
press_keycode(self, keycode, metastate=None):
发送按键码(安卓仅有),按键码可以上网址中找到
用法:driver.press_ keycode('4')
text
text(self):
返回元素的文本值
用法:element.text
click
click(self):
点击元素
用法:element.click()
get_attribute
get_attribute(self, name):
获取某元素的相关值
用法:element.get_attribute("name")
size
size(self):
获取元素的大小(高和宽)
用法 driver.element.size
page_source
page_source(self):
获取当前页面的源
用法:driver.page_source
quit
quit(self):
退出脚本运行并关闭每个相关的窗口连接
举例:driver.quit()
执行结果判断
在用例执行完毕,需要判断是否通过时,需要和你预期的结果进行对比,一般可以选择断言查找某个标志位是否出现,或者某个元素的text值是否和预期相等,还可以截图后跟参照图片做对比等等。
到此,相信大家对“Appium框架的知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
--结束END--
本文标题: Appium框架的知识点有哪些
本文链接: https://lsjlt.com/news/240652.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0