Instrumentation
Instrumentation原理是什么
直接调用被测APP的类,来实现
要求与被测APP在同一个进程
Instrumentation测试什么
功能性测试
activity生命周期的测试
模拟数据库操作的测试和兼容性测试
什么情况使用Instrumentation
使用Java Junit框架
需要进行拔河测试时
需要使用Mock技术模拟系统对象时
UIAutomator、UIAutomatorViewer
UIAutomator原理是什么?
UIAutomator是Android UI自动化测试工具
不需要源码,基于Java开发语言
UIDevice,UISelector,UIScrollable,UIObject,UICollection
UIAutomator可以测试什么?
APP UI层的交互操作
不需要源码,可以模拟跨进程过程
基于java Junit框架,黑盒UI自动化
如何识别APP视图内的元素?
UIAutomatorViewer
可以识别元素的id、classname、bounds等
Selendroid、Robotium(依赖源码)
selendroid的原理是什么
selendroid四大组件:
selendroid client : WebDriver + 移动特性的实现
selendroid server : 一个Instrumentation APK
AndroidDriver-APP: 一个WebViewActivity,即浏览器
selendroid-Standalone:大总管,负责准备环境
Robotium的原理是什么
基于Instrumentation进行封装,实现的Android测试框架
封装了一个Solo类库,提供自动化测试API
由于是基于Instrumentation,测试时需要源码
appium
什么是appium
一个开源的移动端UI自动化测试框架
appium的理念是什么
不需要APP源码
不局限于语言或者框架
接口统一,不需要重复开发
必须是开源的
appium相关的概念都有哪些
C/S架构,appium核心是一个web服务器
session,客户端初始化session与服务端交互
Desired Capabilites,初始化时的键值对组合
appium server,操作与驱动手机的
appium client,支持多语言调用
appium环境都包括哪些内容
Android SDK,JDK,appium
pycharm、Python环境
库:selenium、appium-python-client
appium都支持哪些开发语言
java,JavaScript、PHP、Python
Ruby、C#、Perl、object C
appium初始化时需要配置哪些内容
platformName,目标设备平台Android/iOS
platformVersion,目标设备的平台版本
deviceName,目标设备名称
APPPackage,APP包名(Android)
AppActivity,App activity名称(Android)
automationName,自动化驱动类型Selendroid/appium
unicodeKeyboard,是否使用appium输入法
resetKeyboard,是否恢复默认键盘
appium测试Native APP的原理是什么
appium测试Hybrid APP 的原理是什么
appium测试iOS APP的原理是什么
如何自动化测试Native APP
元素的定位、识别工具
第一个选择、使用UIAutomatorViewer
第二个选择,使用appium的Inspector
定位元素的API都有哪些
find_element_by_accessibility_id
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_class_name
find_elements_by_accessibility_id
find_elements_by_id
find_elements_by_name
find_elements_by_xpath
find_elements_by_class_name
脚本的编写规则
LOVE规则
L:Locate 定位
O: Operate操作
V:Verify验证
E:Exception异常的处理
初始化注意事项
不需要指定App的包路径
默认使用appium驱动
如果需要输入中文,需要添加输入法相关的配置
如何自动化测试Hybrid APP
元素的定位、识别工具
Native部分,UIAutomator或者Appium Inspector
WebView部分,Chrome浏览器的调试模式
定位元素的API都有哪些
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_tag_name
find_element_by_class_name
find_elements_by_id
find_elements_by_name
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_tag_name
find_elements_by_class_name
脚本的编写规则
S-LOVE规则
S:Switch
L:Locate 定位
O: Operate操作
V:Verify验证
E:Exception异常的处理
初始化注意事项
需要明确指定驱动名称为:Selendroid(基于instrumentation)
需要明确指定App的路径,因为需要重签名
如何使用selenium测试web页面
都需要准备哪些环境
工具:pycharm、Chrome
包:selenium、Python
webDriver :Chrome driver/ Firefox driver/ie driver等
元素识别的工具是什么
Firefox或者Chrome的调试工具
元素定位的方法都有哪些
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_tag_name
find_element_by_class_name
find_elements_by_id
find_elements_by_name
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_tag_name
find_elements_by_class_name
如何使用Appium测试WAP页面
环境的准备
IED :pycharm
包:Python、selenium、appium-python-client
工具:appium、Chrome
元素的识别
Chrome浏览器调试wap页面
脚本的编写
初始化时,指定browsername为:Browser
自动化测试代码和selenium相同