第5章 iOS Web应用程序的自动化测试
iOS平台上不只有本地应用程序,还有Web应用程序。在第4章介绍了如何使用UI Automation做一些本地应用程序的自动化测试,本章会介绍iOS Web应用程序的自动化测试技术。
如果只考虑PC端的Web自动化测试,Selenium则是当下最成熟且应用最广泛的Web自动化测试工具。在移动平台领域,也可以直接使用Selenium工具进行iOS和Android平台上的Web自动化测试。iOS平台提供的自动化测试工具UI Automation,也可以很好地支持与Web相关的自动化测试。本章将会分别介绍两种不同的iOS端的Web自动化测试工具。
5.1使用Selenium进行iOS Web自动化测试
Selenium是一款很强大的Web自动化测试工具,使用者可以使用多种语言进行自动化测试脚本的编辑,并且Selenium支持几乎所有PC端的浏览器。现在使用最多的Selenium版本是大家俗称的2.x版本,也就是WebDriver。本节也将使用WebDriver为基础版本,来介绍WebDriver在iOS Web方面的自动化测试技术。为了更深入地了解WebDriver,首先需要从WebDriver的实现原理出发对WebDriver进行一个简单剖析。
5.1.1 WebDriver原理结构
WebDriver抛弃了Selenium RC时代的JavaScript转发并直接操作浏览器的方式。它试图从浏览器外部控制其行为,并不是从内部通过JavaScript的方式。使用者可以通过WebDriver最大程度地控制浏览器的各种行为。
WebDriver的结构原理图如图5- 1所示。
(1) WebDriver API : WebDriverAPI这一层表示为WebDriver提供给使用者的最外层接口,使用者可以使用这些API进行自动化脚本的编辑,例如:
driver. findElement(By.name(“q" ))
或者
element.click()。