[Android]calabash-android再深入

1.遇见的问题,client与test-server版本不一致 
解释:client指代的是gem包的版本,test-server指代的是calabash-android源码下/ruby-gem/test-server的版本,下载下来源码自然就是这个版本不提供更新卸载等功能,但是client端可以控制 
2.也可以修改gitclone源码下的calabash-android源码,将version对比修改正确,但不保证兼容性 
3.遇到http请求无法连接到模拟器,模拟器接收不到消息,app_runing返回结果为flase,是因为gem安装包内的operations.rb文件内的server_port没有值,修改一下就好,最好也修改一下源码的http请求,添加read_timeout,以及open_timeout。 

如此解决calabash无法运行的问题了。 

然后再讲解一下calabash-android console命令行用法: 
参考文章:http://sriram-iyengar.blogspot.com/2013/04/android-setting-up-calabash-android-for.html 

大致的意思是: 
calabash-android console xxxx.apk 
然后可以执行githup上的query语句了,很爽的说。

点击第6个imageview,加入进货单
irb(main):030:0> touch("imageview index:6")
{
             "success" => true,
             "message" => "",
    "bonusInformation" => []
}
查看当前有多少个imageview
irb(main):027:0> query("imageview").count
11
点击list列表里的第一个
irb(main):083:0> performAction('press_list_item', 1, 0)
{
             "message" => "",
    "bonusInformation" => [],
             "success" => true
}
performAction('get_list_item_text')  获取每个item的text文本
performAction('get_url') 获取当前webview的url
performAction('drag',50,50,70,1,10)  下拉一屏,按百分比
performAction( 'get_list_item_properties', '1' , 1 )['bonusInformation']  获取item的属性
performAction('dump_body_html') 获取当前webview源码
通过webview属性进行点击
irb(main):004:0> performAction('click_by_selector',"a[href='/touch/seller/sellerOfferList?sellerOfferType=AUDITING']")
{
             "message" => nil,
    "bonusInformation" => [
        [0] "true"
    ],
             "success" => true
}
执行webview JS脚本
performAction('execute_javascript',"(alert('aaa'))")
时间: 2024-09-23 21:51:25

[Android]calabash-android再深入的相关文章

app开发-WeX5中打完Android包后再手机上运行,静态页面加载出来了,但是不能发请求

问题描述 WeX5中打完Android包后再手机上运行,静态页面加载出来了,但是不能发请求 打包时设置的首页显示出来了,但是点击首页上的按钮,没有反应,没有执行js中的点击方法 解决方案 没用过 刚刚百度了下 才知道有WeX5这东西

移动应用测试框架—Calabash Android 简介

什么是 Calabash? Calabash 是一个自动化测试框架,它可以测试 Android 和 iOS 原生应用和混合应用. 它有: calabash-android calabash-ios 主页: http://calabash.sh Calabash-android介绍 Calabash-android 是支持 android 的 UI 自动化测试框架,PC 端使用了 cucumber 框架,通过 http 和 json 与模拟器和真机上安装的测试 apk 通信,测试 apk 调用 R

中文Android版Flipboard再一次整合了人人网

日前,社交杂志Flipboard中国版正式登陆Android平台,用户可通过Google Play商店.豌豆荚和应用汇下载使用.Android版的Flipboard延续了如杂志般精美的设计风格,让用户能够轻松翻阅,在智能电话.热门的电子阅读器和 Android设备上提供全新的上网体验. 新发布的中文Android版Flipboard再一次整合了人人网,用户在关联人人网账号之后,不但可以通过Flipboard以杂志排版的方式浏览人人网上的新鲜事,还可以将自己在Flipboard上阅读的内容一键分享

【Android】Android动态代理为SurfaceHolder添加Hook

本博客将会介绍动态代理在Android应用中的一种使用场景 代理模式 代理模式的作用是为其它对象提供一种代理以控制对这个对象的访问.比如用户调用了一个"吃饭"的方法,如果不依靠代理,用户可能自己拿碗饭吃就行,而如果通过代理的话,可能连碗都不需要用户自己拿,用户只需要张开嘴,代理来喂就行了,需要注意的是,这里代理除了负责拿碗和喂饭外还可以做其他的任何事情,比如说帮你把饭吹凉一些,或者担心你的体重而偷偷帮你倒掉了一半的饭,又或者是往饭里加点什么奇奇怪怪的东西,谁知道呢,这就是代理干的活.实

【Android】 Android 事件处理

Android 事件处理 --学习笔记2 目的:通过全面的分析Android的鼠标和键盘事件.了解Android中如何接收和处理键盘和鼠标事件,以及如何用代码来产生事件. 主要学习内容: 1. 接收并处理鼠标事件:按下.弹起.移动.双击.长按.滑动.滚动 2. 接收并处理按键事件:按下.弹起 3. 模拟鼠标/按键事件 1. Android事件 现代的用户界面,都是以事件来驱动的来实现人机交换的,而Android上的一套UI控件,无非就是派发鼠标和键盘事件,然后每个控件收到相应的事件之后,做相应的

[Android 调试] android 跳转页面退出程序 logcat未报出错误

问题描述 [Android 调试] android 跳转页面退出程序 logcat未报出错误 下午好,开发遇到一个问题:Android 开发实现跳转页面,但直接退出程序了,而且logcat未报出错误信息.将跳转页面换成其他的activity方可实现跳转.鉴于此种情况,大家能给出一些建议吗?或者猜测也行.谢谢了,真的头大了,logcat没有任何错误输出,换了几部手机试了也是这种情况. 解决方案 肯定是有问题,用调试状态运行app,报错后会走到源代码的exception处 解决方案二: 请问需要设置

【Android】 Android中适配器简介

1. BaseAdapter的使用实例 BaseAdapter baseAdapter = new BaseAdapter() { @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(GridViewActivity.this); imag

【Android】 Android Service生命周期及用法

原文来自: 首先我们要知道Service具体是干什么的,什么时候用到?以及它的生命周期等. Service概念及用途: Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,那 我们什么时候会用到Service呢?比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我 们就听不到歌了,所以这时候就得用到Service了,又比

Android中 android:gravity 和 android:layout_gravity的区别

在配置xml布局时,经常用到 android:gravity  和 android:layout_gravity这两个属性,这里记录一下他们的区别. 1.android:gravity   android:gravity 常用于控制view的内部控件或者内容的位置,类似于于padding,如下所示: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content&

[Android 泥水匠] Android基础 之一:浅谈Android架构到HelloWorld案例的剖析

1.1前言   泥瓦匠又和大家见面了,在移动平台干过原生态开发,也干过hybrid应用.可以看看相关的文章 Android UI .所以多多少少在这块还是有点了解.现在很多高级语言可以开发app程序,包括Android,到我觉得目前Java语言开发Android程序还是很火,很重要的.自然,Java的底子不可少.可以看看泥瓦匠写的不少基础 Java Basic .   我们生活在一个通讯的时代,我经历过得2.5G时代,也就是GPRS等的时代,前面还有2G(GSM等).1G,后面则大家熟悉的3G