有时候,一些覆盖happy path的UI自动化还是很有用的。它的一些作用如下:

1.可以迅速实现端到端的功能回归,能够覆盖接口测试覆盖不到的一些地方,如GUI层和接口层的交互产生的问题。

2.非码农也能很直观的读懂测试结果。对于干系人较多的项目,有时候很重要。

3.验收测试。环境不允许测试人员直接获取接口测试。

。。。

----------废话完毕分割线------------

作为一个移动测试的新兵,今天在同事的帮助下搞定了calabash-android做UI测试的技术栈。为了不遗忘,赶紧记录下来:

环境准备:

1.你需要一个模拟器来跑android的apk,同事推荐了genymotion。https://www.genymotion.com/#!/

2.genymotion依赖虚拟机virtubox,你也必须安装它。

安装1和2的一种方式如下:你可以先安装brew的一个插件homebrew cask

brew install caskroom/cask/brew-cask

成功安装后:

brew cask install genymotion

这样genymotion和它依赖的virtubox就被安装好了。这是最简便的安装

3.安装calabash-android

可以使用gem来安装calabash:

gem install calabash-android

这里有一个坑:国内好像把gem的源给墙了(无语),还好淘宝提供了一个gem源

gem sources --remove http://rubygems.org/
gem sources -a http://ruby.taobao.org/

替换掉gem的源以后,就可以简单的安装calabash-android了。

gem install calabash-android。

4.当然你机子上还要有android的sdk。除了依赖,你还会直接用到其中的一个工具uiautomatorviewer 它在sdk的tools目录里,是一个UI组件路径拾取器。

完成安装后。你就可以愉快的开始测试了。

Calabash-android的工作原理:

首页:https://github.com/calabash/calabash-android

1.calabash借用了cucumber的BBD测试框架骨架,因此基于calabash的用例跟cucumber没什么两样。

2.calabash驱动anroid程序的部分是基于Robotium的。为了能驱动android和ios。calabash在驱动层做了协议层拆解。android和ios分别有一个http server接受一样的指令,然后各自调动自己的底层驱动调用被测物。

基于Calabash-andriod的UI自动化测试(1)-环境和原理的更多相关文章

  1. 基于Python3 + appium的Ui自动化测试框架

    UiAutoTest 一.概要 数据驱动的Ui自动化框架 二.环境要求 框架基于Python3 + unittest + appium 运行电脑需配置adb.aapt的环境变量,build_tools ...

  2. 基于 SWTBot 进行 Eclipse GUI 自动化测试

    背景简介 在软件开发领域,持续集成和部署对于软件测试自动化提出了越来越高的要求,基于 Eclipse 应用在这一需求中仍然占据重要的组成部分.目前主流的测试自动化工具主要以录制回放的功能为主,辅助以脚 ...

  3. 使用AirtestProject+pytest做支付宝小程序UI自动化测试

    一,前言 1,背景 因公司业务需要做支付宝小程序的UI自动化测试,于是在网上查找小程序的自动化资料,发现微信小程序是有自己的测试框架的,但几乎找不到支付宝小程序UI自动化测试相关的资料.白piao失败 ...

  4. APP UI自动化测试思路总结

    python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结. 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所 ...

  5. 腾讯优测优分享 | 游戏的UI自动化测试可以这样开展

    腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化 ...

  6. 基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架

    前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...

  7. 基于Appium的UI自动化测试

    为什么需要UI自动化测试 移动端APP是一个复杂的系统,不同功能之间耦合性很强,很难仅通过单元测试保障整体功能.UI测试是移动应用开发中重要的一环,但是执行速度较慢,有很多重复工作量,为了减少这些工作 ...

  8. 基于Selenium2+Java的UI自动化(1) - 原理和环境搭建

    一.Selenium2的原理 Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于J ...

  9. <自动化测试方案_8>第八章、手机端UI自动化测试

    第八章.手机端UI自动化测试 (一)APP测试分类 1,原生APP:Native页面是使用原生系统内核的,相当于直接在系统上操作 2,H5APP:先调用系统的浏览器内核,相当于是在网页中进行操作,较原 ...

随机推荐

  1. 【翻译】理念:无冲突的扩展本地DOM原型

    菜鸟翻译,望大家多多指正哈 原文:http://lea.verou.me/2015/04/idea-extending-native-dom-prototypes-without-collisions ...

  2. TFS online 自动部署配置

    概要 采用tfs online进行源码管理,并配置自动编译部署到外网上一台服务器上(阿里云虚拟机) 步骤; 下载angent,并运行脚本安装 配置release managemetn; 1)Copy ...

  3. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q124-Q127)

    Question  124 You are designing a SharePoint 2010 application. You need to design a single feature t ...

  4. Android-socket服务端断重启后,android客户端自动重连

    今天研究这个问题搞了整整一天啊!终于出来了,不过我没有多大的成就感,为什么呢?因为这不是我的劳动成果.同样的问题,我却没想出来!心塞的很啊…… 不过还是要给大家分享一下,希望给大家带来帮助! 先声明一 ...

  5. jquery中CheckBox的checked状态用attr()的问题

    写了一个脚本,点按钮时选中checkbox,前几次可以选中,多点几次发现checkbox并未选中,调试后发现checked状态根本没有改变,后在网上查证与attr()函数有关,后改为prop问题解决. ...

  6. 安卓学习----使用okHttp(get方式)---下载图片

    一首先下载Jar包 https://github.com/square/okhttp 如果使用android studio只需要加入依赖 compile 'com.squareup.okhttp3:o ...

  7. iOS 学习 - 16.绘制虚线

    //绘制虚线 -(void)set{ UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(, , , )]; [ ...

  8. iOS时间个性化设置设置

    现在在很多项目中,不会直接显示时间,很多时候都是显示“刚刚”,”XX分钟前”,等等字样,那么他们是怎么实现的呢 ? .新建一个NSDate的类目:NSDate+XMGExtension NSDate+ ...

  9. 一个语句创建Oracle所有表的序列

    -- 动态创建序列 declare cursor c_job is select TABLE_NAME from user_tables; c_row c_job%rowtype; v_sql ); ...

  10. SQL Server 关于列的权限控制

    在SQL SERVER中列权限(Column Permissions)其实真没有什么好说的,但是好多人对这个都不甚了解,已经被人问了几次了,所以还是在这里介绍一下,很多人都会问,我能否单独对表的某列授 ...