移动端应用的测试其自身特点,和其他传统测试又有一些独特的APP测试方法与思路。 移动端应用又可以进一步细分为三大类: Web App 指的是移动端的 Web 浏览器, 其实和 PC 端的 Web 浏览器没有任何区别,只不过Web 浏览器所依附的操作系统不再是 Windows 和 Linux 了,而是 iOS 和 Android 了。 Web App 采用的技术主要是,传统的HTML、JavaScript、CSS等Web技术栈,当然 现在HTML5 也得到了广泛的应用。另外,WebApp所访问的页面内容都是放在服务器端的,本质上就是 Web 网页,所以天生就是跨平台的。 Native App 指的是移动端的原生应用, 对于 Android 是 apk,对于 iOS 就是 ipa。NativeApp 是一种基于手机操作系统(iOS 和 Android),并使用原生程序编写运行的第三方应用程序。 Native App 的开发,Android 使用的语言通常是 Java,iOS 使用的语言是 Objective-C。通常来说,Native App 可以提供比较好的用户体验以及性能,而且可以方便地操作手机本地资源。 Hybrid App,是介于 Web App 和 Native App 两者之间的一种 App 形式。 Hybrid App 利用了 Web App 和 Native App 的优点,通过一个原生实现的 NativeContainer 展示HTML5的页面。更通俗的讲法可以归结为,在原生移动应用中嵌入了Webview,然后通过该 Webview 来访问网页。 Hybrid App 具有维护更新简单,用户体验优异以及较好的跨平台特性,是目前主流的移动应用开发模式。 根据它们的特性来总结出它们的测试方法。 Web App,显然其本质就是Web浏览器的测试,所有GUI自动化测试的方法和技术,比如数据驱动、页面对象模型、业务流程封装等,都适用于 Web App的测试。 如果Web 页面是基于自适应网页设计(即符合ResponsiveWeb设计的规范),而且测试框架如果支持 Responsive Page,那么原则上之前开发的运行在 PC Web 端的 GUI自动化测试用例,不做任何修改就可以直接在移动端的浏览器上直接执行,当然运行的前提是你的移动端浏览器必须支持WebDriver。其中,自适应网页设计(Responsive Web Design)是指,同一个网页能够自动识别屏幕分辨率、并做出相应调整的网页设计技术。 Native App 的测试,虽然不同的平台会使用不同的自动化测试方案,iOS 一般采用XCUITest Driver,而 Android 一般采用 UiAutomator2 或者 Espresso 等,但是数据驱动、页面对象以及业务流程封装的思想依旧适用,完全可以把这些方法应用到测试用例设计中。 Hybrid App 的测试,情况会稍微复杂一点,对 Native Container 的测试,可能需要用到XCUITest 或者 UiAutomator2 这样的原生测试框架,而对 Container 中 HTML5 的测试,基本和传统的网页测试没什么区别,所以原本基于 GUI 的测试思想和方法都能继续适用。 唯一需要注意的是,Native Container 和 Webview 分别属于两个不同的上下文(Context),Native Container 默认的 Context 为“NATIVE APP",而 Webview 默认的Context 为“WEBVIEW_+ 被测进程名称”。 所以,当需要操作 Webview 中的网页元素时,需要先切换到 Webview 的 Context 下。

你可能感兴趣的内容
软件测试-白盒&灰盒篇 收藏,2993 浏览
0条评论
IC

icexu

这家伙太懒了,什么都没留下
Owner