Appium - Android 对照 iOS
Appium - Android 对照 iOS
作者: Max.Bai
时间: 2014/10
Appium - Android 对照 iOS
Appium 支持Android也支持iOS。可是两者还有非常大的差别,我使用Appium一个多月,刚開始是Android,后面才用iOS。所以做iOS自己主动化的时候比Android艰难多了,后来才发现这两个的模式有一定的差别。
(当然可能是我Mac的基础太差)就以我在理解浅显的描写叙述下两者的差别。
Appium Android 工作模式(例如以下经验不过我在windows上的经验。mac上只用了ios,如有说错,请大家指正):
过程大概例如以下:
1. Android设备已经开启(包含真机和模拟器,真机已经连接上电脑,当然驱动少不了。
。。)
2. Appium 打开(命令行打开的同一时候须要设置IP和port,Appium server也同一时候开启了)
3. 点击launch。Appium启动时连接Android设备,除了设置IP和port,这里不做不论什么设置(什么app,浏览器。API版本号。。。)就能够成功开启Appium
Appium Server启动直接连接设备。
自己主动化用例运行时连接上Appium server,才告诉Appium我要測什么app。
。。
之类的caps
Appium iOS 工作模式:
iOS 和 Android不同,模拟器和真机有差别,我分开说
iOS模拟器步骤例如以下:
1. 打开Appium (命令行直接运行同一时候须要设置IP和portAppium就算是启动了。GUI的可能还须要点击launch)
2. 点击launch,启动Appium server 除了设置IP和port。别的也不须要设置(命令行打开的时候就带了IP和port的參数)
Appium Server开启时不连接不论什么模拟器,运行用例是才依照caps 开启相应的模拟器和安装app
iOS真机:
1. 真机连接上电脑
2. Appium打开 (命令行直接运行Appium就算是启动了。真机须要-u 參数设置真机UUID,GUI的可能还须要点击launch)
3. 点击launch。启动Appium server 除了设置IP和port(命令行打开的时候就带了IP和port的參数),须要设置真机的UUID(当然还有其它关联caps也须要设置)。Appium启动时须要连接真机
那么问题来了(别想歪了。不是blue shit。。
。
)
开启Appium server的时候什么设置都不要,那GUI里面的那么多设置都是干什么用的?(什么app,浏览器,API版本号。。。)
答案就是Inspector用的,Inspector 就和你运行用例一样的。须要告诉server你的caps都是什么。
Android SDK有工具能够用来识别UI的,UIAutomationView,在SDK的文件夹下, 所以Appium Android inspector的能够不要。
iOS SDK不知道是否有类似的工具,所以我还是用Appium的Inspector来抓对象。
以上都是个人经验,如有错误,望大家一起探讨。
Appium - Android 对照 iOS的更多相关文章
- Android与IOS异同点对照(1)------ 显示
Android与IOS作为当前世界上最流行的两大移动端操作系统,都拥有无数的粉丝. 那么对于Android或者IOS的开发人员来说,这两个系统都拥有什么同样或者不同的地方那?如今让我们一起来了解一下A ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- 现在创业做App,先做 Android 还是 iOS?
随着互联网+的高速发展,现在创业大部分都是在布局移动端,初期往往摆在面前最大的难题是,如何分配有限的成本,在最快的速度内占领市场?这个大难题会影响创始人在团队和产品建设方方面面的决定.缩小至移动App ...
- 判断手机端用户打开页面时是android还是ios,并将判断结果通过ajax返回给url接口,传递回去
首先判断页面是android还是ios,然后利用ajax将结果通过接口url返回回去,记录到log日志中,以统计android和ios用户访问该页面的数量(数据统计) <script type= ...
- Xamarin For Visual Studio 3.0.54.0 完整离线破解版(C# 开发Android、IOS工具 吾乐吧软件站分享)
Xamarin For Visual Studio就是原本的Xamarin For Android 以及 Xamarin For iOS,最新版的已经把两个独立的插件合并为一个exe安装包了.为了区分 ...
- Unity在Android和iOS中如何调用Native API
本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调 ...
- Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)
Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...
- 安卓自动化测试:Android studio 自带的 Record Espresso Test || [ Appium & (Android studio || Python|| Eclipse ) ]
1.Android studio 自带的 Record Espresso Test https://developer.android.com/studio/test/espresso-test-r ...
- .NET/android/java/iOS AES通用加密解密(修正安卓)
移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输.今天研究了一下,把几种语言的加密都 ...
随机推荐
- js数字转换为float,取N个小数
javascript中的变量都是弱类型,所有的变量都声明为var,在类型转换过程中就没有java那么方便,它是通过 parseInt(变量).parseFloat(变量)等方法来进行类型转换的.注意: ...
- 彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的
彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的 1.线程池,thread = threadPool.getThread(),thread.executeHtt ...
- EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER ...
- OSGi 和 C++
2011年 9月我参加了OSGi社区在达姆施塔特的会议,并且有机会与其他与会者探讨本机c++实现的OSGi规范的现状.在这一事件之前我也一直想写一篇博客,来描述关于当前实现OSGi规范的现状和努力—— ...
- matplotlib 可视化 —— matplotlib.patches
官方帮助文档 patches - Matplotlib 1.5.1 documentation patches 下主要包含的常用图形类有: Eclipse Circle Wedge 1. plt.gc ...
- SAS拆分数据集
2012年8月8日 主要是根据选取条件来进行拆分 1.根据行数来选: data test; set oldset; if _n_=10 then output; if id="001&quo ...
- jq操作属性,元素,样式,事件
操作属性: 单个 $('选择器').attr('属性名','属性值'); 多个 $('选择器').attr({'属性名':'属性值','':''}); eg: $('#a1').attr('flag' ...
- jquery动态表格,动态添加表格行
转载收藏于:https://www.cnblogs.com/zhangqs008/archive/2013/05/09/3618459.html 效果图: Html:<html> &l ...
- POJ 2481 Cows【树状数组】
题意:给出n头牛的s,e 如果有两头牛,现在si <= sj && ei >= ej 那么称牛i比牛j强壮 然后问每头牛都有几头牛比它强壮 先按照s从小到大排序,然后用e来 ...
- 线程状态与tcb、线程的生命周期
struct tcb { u32_t status; struct reg_context thread_context; void *stack; struct thread_info thread ...