基于APPIUM的移动自动化测试

Appium一款开源自动化测试工具,可以非常快捷的为iOS和Android移动平台创建功能自动化测试用例。相比其他的移动自动化测试工具,Appium测试由于调用了Selenium的client库使其可以使用任意的语言,包括PythonRuby、Node.js,Objective,java等。

  本文我们主要讨论如何通过junit java example tests测试完成iOS sample apps的测试(此处我们还会创建TestNG example Tests)

  当然在开始之前,我们首先需要下载Appium,下载地址为https://github.com/appium/appium,根据安装说明我们可以完成Appium的安装。

  运行以下命令行构建sample projects:

grunt buildApp:TestApp
grunt buildApp:UICatalog

  一旦sample projects完成构建,即可通过以下命令启动Appium:

grunt appium

  变更工作目录到sample-code/examples/java/junit,运行测试

mvn test

  或运行单个测试:

mvn -Dtest=com.saucelabs.appium.SimpleTest test

  Java Appium测试与Selenium Test非常的相似,你可以创建一个RemoteWebDriver实例并指定DesiredCapabilities,脚本如下:

@Before
public void setUp() throws Exception {
    // set up appium against a local application
    File appDir = new File(System.getProperty("user.dir"), "../../../apps/TestApp/build/Release-iphonesimulator");
 
    File app = new File(appDir, "TestApp.app");
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
    capabilities.setCapability(CapabilityType.VERSION, "6.0");
    capabilities.setCapability(CapabilityType.PLATFORM, "Mac");
 
    //tell Appium where the location of the app is
    capabilities.setCapability("app", app.getAbsolutePath());
 
    //create a RemoteWebDriver, the default port for Appium is 4723
    driver = new RemoteWebDriver(new URL(http://127.0.0.1:4723/wd/hub), capabilities);
}

  完成以上脚本后即可直接通过类似selenium测试的方式完成测试脚本:

@Test
public void example() throws Exception {
 
    // find an element by tag name
    WebElement button = driver.findElement(By.tagName("button"));
    button.click();
 
    // get the value of the element
    WebElement texts = driver.findElement(By.tagName("staticText"));
    assertEquals(texts.getText(), "some expected value");
}

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-27 16:38:40

基于APPIUM的移动自动化测试的相关文章

开发基于XML的Selenium自动化测试框架

为解决该群体的困扰,本文将介绍如何让不熟悉编程的业务http://www.aliyun.com/zixun/aggregation/9621.html">测试人员也能编写出类似传统功能测试用例的自动化测试用例,从而扫除自动化测试的技术障碍. 本文适用于需要为测试团队开发自动化回归测试框架的测试设计开发人员.目前业内主流的商业自动化测试工具和开放源代码测试工具,都需要测试人员熟悉开发编程语言.但是过高的编程门槛让很多测试人员只能对自动化测试驻足遥望.为解决该群体的困扰,本文将介绍一种基于 X

基于selenium的pyse自动化测试框架

WebUI automation testing framework based on Selenium 介绍: pyse基于selenium(webdriver)进行了简单的二次封装,比selenium提供的方法操作更简洁.   起因: python + selenium 自动化测试写久了发现selenium(webdriver)提供原生的方法并简便,于是,产生了二次封装的想法.想不到太炫酷的名字,于是各取了两个单词的前两个字母-- pyse.   特点: 所有方法只提供xpath定位,web

Sahi基于开源Web应用自动化测试工具示例应用

Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大.它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势.选择 Sahi 工具来实现具体 Web 项目的自动化测试是一个很不错的选择. 随着 Web 技术和互联网的发展,Web 应用产品越来越丰富,基于 Web 页面测试的需求与日俱增.在当前全球软件都在追求高效.敏捷的开发模式的大背景下,Web 自动化测试成为了新一波技术探讨和研究的热潮.因为传统的手工测试不仅效率低,并且

基于Selenium2与Python自动化测试环境搭建

工具选择 Python版本: 选择2.7.3, Why? 目前大部分第三方库和工具对2.7都有简单的安装包,不需要自己做太多处理,比2.6内置了一些包,不需要再安装: Python3.x不支持Se2.0 Selenium版本:选择2.0+,Why? 因为从2.0开始,Se已经和WebDriver集成在一起了,WebDriver提供了非常多的API和自动化测试处理方法. 脚本开发:Eclipse(JDK:选择1.6版本),其中插件选择:PyDev 代码库管理:SVN,使用SVN对整个框架下的内容进

Selenium一个强大的基于浏览器的开源自动化测试工具

追踪溯源,WebDriver 和 Selenium 本是两个独立的项目,实现机制也是不同的.那 Selenium 团队为什么会在 Selenium 2 中将两者合并,这究竟有什么用意呢?WebDriver 比 Selenium 又有什么优势呢?我们该如何选择使用 Selenium 还是 WebDriver 呢?别着急,您将在本文中找到答案,并将了解一些 WebDriver 的基本知识和使用方法. 为方便表述,在本文中,我们称 Selenium 2 为 WebDirver,Selenium 为 S

基于业务的Web自动化测试工具—Sahi

谈及开源Web 自动化测试工具,相信很多人立刻会想到Selenium.本文给大家介绍的是另一款开源Web 自动化测试工具Sahi.Sahi的网站上有关于与Selenium的对比,不过这不是我们今天探讨的主题.这篇文章的主要目的是向读者简单的介绍一下Sahi并分享一下个人使用Sahi测试Dojo应用的经验,希望对大家能有所帮助. 1. Web2.0应用测试的困境 在开始介绍Sahi之前,我们一起来看看在开发Web 自动化测试(特指Web 2.0应用)时常面临的两大技术问题. 页面元素的识别 根据个

SlimerJS —— 基于Firefox的网页自动化测试工具

SlimerJS 是一个提供给 Web 开发人员,可通过脚本编程控制的浏览器.它可以让你使用 Javascript 脚本操纵一个网页:打开一个网页,点击链接,修改的内容等,这对于做功能测试,页面自动机,网络监控,屏幕捕获等是非常有用的. 文章转载自 开源中国社区 [http://www.oschina.net]

Appium自动化测试框架构建

Appium简介 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及FirefoxOS平台测试.Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库.Android系统的UIAutomator框架. 相比其他的移动自动化测试工具,Appium测试由于调用了Selenium的client库使其可以使用任意的语言,包括Python.Ruby.Node.js.Objective-

Appium移动自动化测试(二) 安装Android开发环境

继续Appium环境的搭建. 第二节  安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试脚本.那么移动端自动化测试,我们同样需要一部Android手机(手机需要链接电脑)或者Android模拟器. 安装java 环境 众所周知,Android是由Java语言开发的,所以想开发Android应用首先需要Java环境,所以,我们首先需要安装Java环境. java下载地址:http://w