osc协议测试软件,测开面试 | 自动化测试之工具篇

通过直接调用被测应用的类实现自动化测试

和被测应用处于同一个进程内

20c8439284c3e569228b611f00e897fc.png

2、 Instrumentation 测试什么?

功能测试

Activity 生命周期的测试

模拟数据库操作的测试

兼容性测试

3、 什么情况使用 Instrumentation?

使用 Java Junit 框架

需要进行白盒测试时

需要使用 Mock 技术模拟系统对象时

Android UI 自动化测试工具

不需要源码,基于 Java 开发语言

UiDevice, UiSelector, UiScrollable, UiObject, UiCollection

2、 UIAutomator 可以测试什么?

App UI 层的交互操作

不需要源码,可以模拟跨进程过程

基于 Java JUnit 框架,黑盒 UI 自动化

3、 如何识别 App 视图内的元素?

UiAutomatorViewer(/tools/bin/)

可以识别元素的 id、classname、bounds 等

三、Selendroid&Robotium 1、 Selendroid 的原理?(http://selendroid.io/) Selendroid 四大组件:

Selendroid Client: WebDriver + 移动特性的实现

Selendroid Server: 一个 Instrumentation APK

AndroidDriver-App: 一个 WebViewActivity,即浏览器

Selendroid-Standalone: 大总管,负责准备环境

cbcc9998096f2a8ef3969b4f8058d000.png

基于 Instrumentation 进行封装,实现的 Android 测试框架

封装了 Solo 类库,提供自动化测试 API

由于是基于 Instrumentation,测试时需要源码

四、Appium(http://appium.io/) 1、 什么是 Appium?

一个开源的移动端 UI 自动化测试框架

2、 Appium 的理念?

不需要 App 源码

不局限于语言或者框架

接口统一,不需要重复开发

必须是开源的

3、 Appium 相关的概念?

C/S 架构,Appium 核心是一个 Web 服务器

Session,客户端初始化 Session 与服务端交互

Desired Capabilities,初始化时的键值对组合

Appium Server,操作与驱动手机

Appium Client,支持多语言调用

4、 Appium 环境包含哪些内容?

Android SDK、JDK、Appium

PyCharm、Python 环境

库:Selenium、Appium-Python-Client

5、 Appium 支持哪些开发语言?

Java、Javascript、PHP、Python、Ruby、Perl、C#、Object-C

6、 Appium 初始化时需要配置哪些内容?

platformName,目标设备平台(Android/iOS)

platformVersion,目标设备平台版本

deviceName,目标设备名称

appPackage,应用包名(Android)

appActivity,应用活动名(Android)

automationName,自动化驱动类型(Selendroid/Appium)

unicodeKeyboard,是否使用 Appium 输入法

resetKeyboard,是否恢复默认键盘

7、 Appium 测试 Native App 的原理?

9fac1c07d2ac4fd5e1083bc10f9ebcb0.png

8、 Appium 测试 Hybrid App 的原理?

2eef1fb0a5e14a5593d4ba479df531ad.png

9、 Appium 测试 iOS App 的原理?

87cb818016b67c67253cd93c25957b52.png

五、如何自动化测试 Native App? 1、 元素的定位、识别工具?

第一个选择:UIAutomatorViewer

第二个选择:Appium 的 Inspector

2、 定位元素的 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

3、 脚本的编写规则 LOVE 规则:

L:Locate 定位

O:Operate 操作

V:Verify 验证

E:Exception 异常的处理

4、 初始化注意事项

1、 不需要指定 App 的包路径

2、 默认使用 Appium 驱动

3、 如果需要输入中文,需要添加输入法相关的配置

六、如何自动化测试 Hybrid App? 1、 元素的定位、识别工具?

1、 Native 部分,UIAutomatorViewer 或者 Appium Inspector

2、 WebView 部分,Chrome 浏览器的调试模式

2、 定位元素的 API 都有哪些?

find_element_by_id(HTML 页面中的 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

3、 脚本的编写规则 S-LOVE 规则

S:Switch 在 Native 和 WebView 之间切换

L:Locate 定位

O:Operate 操作

V:Verify 验证

E:Exception 异常的处理

4、 初始化注意事项

需要明确指定驱动名称为:Selendroid

需要明确指定 App 的路径(重签名用)

七、如何使用 Selenium 测试 WEB 页面?(https://www.seleniumhq.org/) 1、 环境的准备

工具:Pycharm、Chrome

包:Selenium、Python

WebDriver:Chrome Driver/Firefox Driver/IE Driver 等

2、 元素识别工具是什么?

Firefox 或者 Chrome 的调试工具

3、 元素定位的方法?

find_element_by_id(HTML 页面中的 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 页面? 1、 环境的准备

IDE:PyCharm

包:Python、Selenium、Appium-Python-Client

工具:Appium、Chrome

2、 元素的识别

Chrome 浏览器调试 WAP 页面

3、 脚本的编写

初始化时,指定 browsername 为:Browser

自动化测试代码和 Selenium 相同

欢迎关注微信公众号"测试开发Stack"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值