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/

基于APPIUM的移动自动化测试相关推荐

  1. App 自动化解决方案 [开源项目] 基于 Appium 的 UI 自动化测试框架完美版

    欢迎查阅Appium(Android自动化测试框架体系) Appium Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的,可用于IOS和Android以 ...

  2. 基于Appium的APP自动化测试基础--美团APP的实例

    前段时间用一种流行语言,一个主流工具,一个实用框架,写了一个美团app自动化测试的Demo,利用appium+python+unittest+uiautomatorviewer,编写了测试用例,并通过 ...

  3. 基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)

    原标题:基于Python语言的自动化测试实战第二章(上) 测试环境搭建 2.1 Windows 下的环境搭建 如果想要学习一门编程语言,对于新手来说只需到其官方网站上去下载最新版本安装即可,但对于想要 ...

  4. 基于Ruby的watir-webdriver自动化测试方案与实施(四)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(三) http://www.cnblogs.com/Javame/p/4159468.html 继续 ... ... 首先回忆下我 ...

  5. python自动化测试开发_基于python的selenium2自动化测试从基础到实战(Python3、selenium2、自动化测试、web测试)...

    Selenium2是目前比较流行的一款针对web页面测试的自动化测试工具,他的前身是Selenium .Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozi ...

  6. postman如何测试php接口_基于Postman的API自动化测试

    基于Postman的API自动化测试 1.安装 两种安装方式,我热衷于以chrome插件形式安装 Chrome插件 Mac App 2.发送请求 Postman最基础的功能就是发送http请求,支持G ...

  7. 基于Ruby的Watir-WebDriver自动化测试框架

    基于Ruby的watir-webdriver自动化测试方案与实施(五) 基于Ruby的watir-webdriver自动化测试方案与实施(四) 基于Ruby的watir-webdriver自动化测试方 ...

  8. 【Python+Appium】开展自动化测试(七)截图方法

             目录 一,selenium模块的两种截图方法 二, snapshot(*args, **kwargs) 三,使用adb截图 总结 一,selenium模块的两种截图方法 get_sc ...

  9. python语法元素测试_基于python全局设置id 自动化测试元素定位过程解析

    背景: 在自动化化测试过程中,不方便准确获取页面的元素,或者在重构过程中方法修改造成元素层级改变,因此通过设置id准备定位. 一.python准备工作: 功能:用自动化的方式进行批量处理. 比如,你想 ...

最新文章

  1. 深入分析jquery解析json数据
  2. dubbo入门学习笔记之入门demo(基于普通maven项目)
  3. Python实现快速排序(非递归实现)
  4. perf之sched
  5. storm集群操作指南
  6. dotNET Core实现分布式环境下的流水号唯一
  7. JAVA实现可视化的xpath_【Java】爬虫基础 -- XPath 小案例
  8. Cocos2d-html5 2.2.2的屏幕适配方案
  9. sql server UI怎么设置自增加id?
  10. 严重抗议:被砍了个尾巴
  11. 找到驱动精灵屏幕保护图片
  12. 电阻电容封装买大了怎么办呢
  13. 发现一个微博图床API和图片上传代码
  14. 蛙蛙推荐:蛙蛙教你文本聚类 - 蛙蛙王子 - 博客园
  15. 什么是指纹浏览器(浏览器指纹7个重要参数)
  16. DorisDB系列文档(三)基本原理
  17. 关于mysql彻底卸除问题
  18. bat 输入密码_不记得密码了?教你查看设备保存的账号密码,绝对干货
  19. python中的汉字编码(转载,已经注明转载地址)
  20. 浙大第一愤青教授的质疑--教育究竟为谁服务

热门文章

  1. LeetCode--80. 删除排序数组中的重复项Ⅱ(双指针,暴力)
  2. IplImage, CvMat, Mat 的关系和相互转换(转)
  3. 微信小程序制作课程表_课表微信小程序实现(纯技术文)
  4. android 5.0 新功能,android5.0新特性
  5. c语言实现路由功能,前端路由的两种实现方式,内附详细代码
  6. dos插入mysql乱码
  7. PHPStrom 使用技巧以及基本设置教程【更新完结】
  8. 解决子元素和父元素同时触发onclick
  9. 安装Visual Studio2013
  10. 借百度数据,建立你自己的程序