一、三类不同移动应用的测试方法
1. Web App
对于 Web App,显然其本质就是 Web 浏览器的测试。GUI 自动化测试的方法和技术,比如数据驱动、页面对象模型、业务流程封装等,都适用于 Web App 的测试。
如果满足:
① Web 页面是基于自适应网页设计(即符合 Responsive Web 设计的规范),
②测试框架支持 Responsive Page,
③移动端浏览器必须支持 Web Driver,
那么原则上之前开发的运行在 PC Web 端的 GUI 自动化测试用例,不做任何修改就可以直接在移动端的浏览器上直接执行。
其中,自适应网页设计(Responsive Web Design)是指,同一个网页能够自动识别屏幕分辨率、并做出相应调整的网页设计技术。
2. Native App
对 Native App 的测试,虽然不同的平台会使用不同的自动化测试方案(比如,iOS 一般采用 XCUITest Driver,而 Android 一般采用 UiAutomator2 或者 Espresso 等),但是数据驱动、页面对象以及业务流程封装的思想依旧适用,完全可以把这些方法应用到测试用例设计中。
3. Hybrid App
对 Hybrid App 的测试,情况会稍微复杂一点。对 Native Container 的测试,可能需要用到 XCUITest 或者 UiAutomator2 这样的原生测试框架;而对 Container 中 HTML5 的测试,基本和传统的网页测试没什么区别,所以原本基于 GUI 的测试思想和方法都能继续适用。
需要注意的是,Native Container 和 Webview 分别属于两个不同的上下文(Context),Native Container 默认的 Context 为“NATIVE APP",而 Webview 默认的 Context 为“WEBVIEW_+ 被测进程名称”。所以,当需要操作 Webview 中的网页元素时,需要先切换到 Webview 的 Context 下。
二、补充-什么是上下文(Context)?
可理解为代码的执行环境,一些前置条件。
本文内容为极客时间《软件测试52讲》的学习笔记,部分内容源自该课程文稿。
其他参考: