商城建站报价方案,交换链接营销的经典案例,麻章手机网站建设,烟台城发建设集团网站目录
前言#xff1a;
一、简单介绍
#xff08;一#xff09;测试对象
#xff08;二#xff09;支持平台及语言
#xff08;三#xff09;工作原理
#xff08;四#xff09;安装工具
二、环境搭建
#xff08;一#xff09;安装 Android SDK
#xff0…目录
前言
一、简单介绍
一测试对象
二支持平台及语言
三工作原理
四安装工具
二、环境搭建
一安装 Android SDK
二安装 appium Server
三安装 python-client
三、应用及操作
一调用 appium 过程
二第一步配置手机设备参数
三第二步抓取手机上应用的控件
四第三步操作控件
四、总结 前言
Appium的主要特点之一是它是一个跨平台的工具可以在不同的操作系统上运行。这意味着您可以使用同一套测试脚本在不同的移动平台上运行测试从而节省了时间和资源。
一、简单介绍
一测试对象
appium 是一个自动化测试开源工具支持 iOS 和 Android 平台上的原生应用web 应用和混合应用。 ● 移动原生应用单纯用 ios 或者 android 开发语言编写的、针对具体某类移动设备、可直接被安装到设备里的应用一般可通过应用商店获取比如某个游戏 app ● 移动 web 应用使用移动浏览器访问的应用appium 支持 iOS 上的 Safari 和 Android 上的 Chrome不需要下载到设备上而是通过浏览器直接访问比如 H5 九曲封神游戏 ● 混合应用同时使用网页语言与程序语言开发通过应用商店区分移动操作系统分发用户需要安装使用的移动应用比如手机上的淘宝客户端
二支持平台及语言
● appium 是跨平台的支持 OSXWindows 以及 Linux 系统。它允许测试人员在不同的平台iOSAndroid使用同一套 API 来写自动化测试脚本这样大大增加了 iOS 和 Android 测试套件间代码的复用性 ● appium 支持多语言采用 C/S 设计模式只要满足 client 能够发送 http 请求给 server 即可
三工作原理
以下图片引用网址http://www.testclass.net/appium/appium-base-summary/ 如图所示appium 主要分为三个点client 端server 端及测试移动设备 ● client 端用各类语言写的测试脚本 ● server 端我们安装 appium 工具的那部分专门用来监听并接收来自 client 端的请求转发请求并控制移动设备执行测试默认开启并监听 4723 接口 ● 移动设备支持三类设备我们的最终目的在设备上自动执行指定的操作 整个过程 第一在某台服务器上安装 appium 工具server 端开启进程默认 4723 接口进行监听 第二编写测试脚本放置到服务器上执行该测试脚本相当于发送命令给 server 端 第三移动设备接收到 server 端发送过来的命令执行指定的操作
四安装工具
● 测试语言如 python ● appium 客户端 ● appium 服务端 ● 移动设备若使用虚拟机则需进行安装
二、环境搭建
一安装 Android SDK
1、Android SDKSoftware Development Kit软件开发工具包提供了 Android API 库和开发工具构建测试和调试应用程序可以看做用于开发和运行 Android 应用的一个软件 2、提供小工具比如 adb、aapt、uiautomatorview 3、测试设备使用安卓模拟器这一步决不能跳过
二安装 appium Server
1、下载 appium 安装包 2、安装并配置 appium 环境变量
三安装 python-client
1、先安装编程语言比如 python 语言 2、安装 Appium-Clientpython 的话可使用 pip 安装pip install Appium-Python-Client
三、应用及操作
一调用 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] activityself.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, durationNone):
模拟手指点击最多五个手指可设置按住时间长度毫秒
举例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, durationNone):
从A点滑动至B点滑动时间为毫秒
举例driver.swipe(100, 100, 100, 400)
用法driver.swipe(x1,y1,x2,y2,500)4. keyevent
keyevent(self, keycode, metastateNone):
发送按键码安卓仅有按键码可以上网址中找到
用法driver.keyevent(‘4’)5. press_keycode
press_keycode(self, keycode, metastateNone):
发送按键码安卓仅有按键码可以上网址中找到
用法:driver.press_ keycode(‘4’)6.text
text(self):
返回元素的文本值
用法:element.text7.click
click(self):
点击元素
用法:element.click()8.get_attribute
get_attribute(self, name):
获取某元素的相关值
用法element.get_attribute(“name”)9.size
size(self):
获取元素的大小高和宽
用法 driver.element.size10. page_source
page_source(self):
获取当前页面的源
用法driver.page_source11.quit
quit(self):
退出脚本运行并关闭每个相关的窗口连接
举例driver.quit()四、总结
1、Appium 跨平台支持 Android 和 IOS 自动化测试。 2、Appium 支持多语言如 java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure 等等 3、支持原生应用web 应用和混合应用 4、仅仅支持 UI 测试 作为一位过来人也是希望大家少走一些弯路
在这里我给大家分享一些自动化测试前进之路的必须品希望能对你带来帮助。
软件测试相关资料自动化测试相关资料技术问题答疑等等
相信能使你更好的进步
点击下方小卡片