ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

测开面试 | 自动化测试之工具篇

2019-05-28 12:45:04  阅读:521  来源: 互联网

标签:Appium 测开 name element 面试 elements 测试 自动化 find


一、Instrumentation(https://developer.android.com/reference/android/app/Instrumentation.html
1、 Instrumentation 原理是什么?

  • 通过直接调用被测应用的类实现自动化测试
  • 和被测应用处于同一个进程内

2、 Instrumentation 测试什么?

  • 功能测试
  • Activity 生命周期的测试
  • 模拟数据库操作的测试
  • 兼容性测试

3、 什么情况使用 Instrumentation?

  • 使用 Java Junit 框架
  • 需要进行白盒测试时
  • 需要使用 Mock 技术模拟系统对象时

二、UIAutomator(https://developer.android.com/training/testing/ui-automator
1、 UIAutomator 原理是什么?

  • 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: 大总管,负责准备环境

2、 Robotium 的原理?(https://github.com/RobotiumTech/robotium

  • 基于 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 的原理?

8、 Appium 测试 Hybrid App 的原理?

9、 Appium 测试 iOS App 的原理?

五、如何自动化测试 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"

标签:Appium,测开,name,element,面试,elements,测试,自动化,find
来源: https://www.cnblogs.com/liushengchieh/p/10936453.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有