技术文章

了解最新技术文章

当前位置:首页>技术文章>技术文章
全部 75 常见问题 0 技术文章 75

ranorex自动化APP一般用什么工具?

时间:2022-09-30   访问量:1100

  如今自动化已经应用到每天的中。这不足为奇,因为自动化在过程中节约了时间,还能避免包括人为因素造成的错误和遗漏。

  自动化工具选择很多。一些是开源的,一些非常贵。一些自动化工具是几年前出的,一些才在市场上出来。每款工具有一定的特点,都是独特的。

  在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的。问题是,几乎没有任何现有的工具完全适应项目的要求。

  为了自动化有效和有益,它必须具有:

  1、研究和项目中的软件产品;

  2、明确哪些需自动化

  3、制定自动化和自动化工具的要求

  4、研究至少几个可用的和合适的自动化工具

  5、在研究的基础上选择最合适的一个或多个工具

  6、与其他项目方讨论所选择的自动化工具,解释选择的原因,并得到他们的批准

  7、推进自动化

  这些方法和步骤被多数质量保证专家认可。

  最近出现了许多不同类型的计算机,他们的出现开始了软件产品的快速发展。最令人惊讶的是移动设备的进化,他们有着不同于普通的个人电脑的特点,方式和交互条件。

  因此,智能手机需要的移动应用也是与笔记本不同的。

  大多数个人电脑的操作系统是Windows。而流行的移动操作系统是Android,苹果iOS,黑莓OS,Windows手机,Symbian和其他。

  Android工具

  让我们探索现在比较流行的移动操作系统支持的自动化工具。

  1、 Robotium 安卓工具

  Robotium是一款经常使用的自动化工具软件,支持Android。

  Robotium是一个免费的Android UI工具。它适用于为不同的安卓版本和子版本自动化。软件开发人员经常把它描述为Android Selenium。Robotium是用java写的。事实上,Robotium是一个单元库。

  但通过Robotium创建需要花费很多时间和努力,因为为了自动化还需要修改程序源代码。该工具也不适合与系统软件的交互,它不能锁定和解锁智能手机或平板电脑。Robotium也没有录制回放功能,也不提供截图。

  2、MonkeyRunner 安卓应用

  Monkeyrunner是一款流行的Android工具,用于自动化功能。

  这个工具比Robotium更低一层次。这个不必处理源代码来做自动化。这个可以用Python写,并且可以使用录制工具来创建。

  Monkeyrunner可以连接到电脑或模拟真实设备运行。该工具有一个接口,用它来控制智能手机,平板电脑或外部模拟器的Android代码。

  这个工具的缺点是,它必须为每个设备编写脚本。另一个问题是,每次程序的用户界面变化都需要调整脚本。

  3、Ronaorex 安卓应用工具

  Ranrex 是一款不仅可以支持最新Android版本,也支持从Android2.2开始的早期版本和分支版本。

  Ranorex的优势是它有详细的截屏报告。它能通过Wifi连接智能手机和平板电脑。

  一个自动化工程师通过这个Android工具可以不用XML数据格式来详细编写数据驱动的。Ranorex工作室使自动化工程师只要点击鼠标就可容易地创建。它允许详细声明额外的程序模块,来用于在后期开发周期中更复杂的场景。

  它是一个商业的移动应用工具,其许可价格为1990欧元。不过Ranorex搜索功能相当慢;它需要30秒来完成这样的操作。我们必须为Ranorex配备apk文件设备,否则无法通过这个工具实现自动化,因为它只能在APK文件设备上工作。

  4、UiAuto ** tor也是Android提供的自动化框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要人员了解代码实现细节(可以用UiAuto ** torviewer抓去App页面上的控件属性而不看源码)。基于Java,代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App)。缺点是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。

  5、华为MobileTest

  华为MobileTest提供Android APK兼容性自动化遍历,基于自动化真机,帮助开发者发现缺陷并定位问题。

  6、Monkey是Android SDK自带的工具,在过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力,也有日志输出。实际上该工具只能做程序做一些压力,由于事件和数据都是随机的,不能自定义,所以有很大的局限性。

  7、MonkeyRunner也是Android SDK提供的工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写脚本来自定义数据、事件。缺点是脚本用Python来写,对人员来说要求较高,有比较大的学习成本。

  8、Instrumentation是早期Google提供的Android自动化工具类,虽然在那时候JUnit也可以对Android进行,但是Instrumentation允许你对应用程序做更为复杂的,甚至是框架层面的。通过Instrumentation你可以模拟按键按下、抬起、屏幕点击、滚动等事件。Instrumentation是通过将主程序和程序运行在同一个进程来实现这些功能,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控你的主程序。缺点是对人员来说编写代码能力要求较高,需要对Android相关知识有一定了解,还需要配置AndroidManifest.xml文件,不能跨多个App。

  9、Appium安卓自动化框架

  这是一个可以为iOS和Android做自动化的框架。它是一个开源工具。它支持从2.3及以后的安卓版本。Appium利用WebDriver接口运行。它支持多种编程语言,如java,C #,Ruby和其他在WebDriver库中的语言。

  它可以控制移动设备上的Safari和Chrome。这样移动网站可使用Appium和这些浏览器。

  但一些自动化工程师抱怨说,它没有详细的报告。其弱点还有减少了在移动设备上XPath支持。

  10、Espresso是Google的开源自动化框架。相对于Robotium和UIAuto ** tor,它的特点是规模更小、更简洁,API更加精确,编写代码简单,容易快速上手。因为是基于Instrumentation的,所以不能跨App。配合Android Studio来编写的简单例子

  11、Selendroid:也是基于Instrumentation的框架,可以Native App、Hybird App、Web App,但是网上资料较少,社区活跃度也不大。

  12、Robotium也是基于Instrumentation的框架,目前国内外用的比较多,资料比较多,社区也比较活跃。缺点是对人员来说要有一定的Java基础,了解Android基本组件,不能跨App。

  13、Athrun是出的一个移动框架/平台,同时支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2类基础上进行了扩展,提供一整套面向对象的API。这里有详细介绍。

  14、Appium是最近比较热门的框架,社区也很活跃。这个框架应该是是功能最强大的,

  它的优点:

  开源;

  支持Native App、Hybird App、Web App;

  支持Android、iOS、Firefox OS;

  Server也是跨平台的,你可以使用Mac OS X、Windows或者Linux;

  它的哲理是:

  用Appium自动化不需要重新编译App;

  支持很多语言来编写脚本,Java、Javascript、PHP、Python、C#、Ruby等主流语言;

  不需要为了自动化来重造轮子,因为扩展了WebDriver。(WebDriver是WebApps的一种简单、快速的自动化框架,所以有Web自动化经验的人员可以直接上手);

  移动端自动化应该是开源的;

  它的设计理念:

  Client/Server架构,运行的时候Server端会监听Client端发过来的命令,翻译这些命令发送给移动设备或模拟器,然后移动设备或模拟器做出响应的反应。正是因为这种架构,所以Client可以使用Appium client libraries多种语言的脚本,而且Server端完全可以部署在服务器上,甚至云服务器。

  Session,每个Client连接到Server以后都会有一个Session ID,而且Client发送命令到Server端都需要这个Session ID,因为这个seesion id代表了你所打开的浏览器或者是移动设备的模拟器。所以你甚至可以打开N个Session,同时不同的设备或模拟器。

  Desired Capabilities,其实就是一个键值对,设置一些的相关信息来告诉Server端,我们需要iOS、还是Android,或者换是WebApp等信息。

  Appium Server是Node.js写的,所以可以直接用NPM来进行安装。

  Appium Clients,Mac OS和Win下提供GUI,不需要装Node.js,方便人员操作。

  相关限制:

  如果你在Windows使用Appium,你没法使用预编译专用于OS X的.app文件,因为Appium依赖OS X专用的库来支持iOS,所以在Windows平台你不能iOS Apps。这意味着你只能通过在Mac上来运行iOS。

  总结:

  在iOS部分是封装了UIAuto ** tion;Android 4.2以上是用UiAuto ** tor,Android 2.3 ~ 4.1用的是 Instrumentation,也就说Appium同时封装了UiAuto ** tor和Instrumentation。所以Appium拥有了以上几大框架的所有优点:跨App,支持Native App、Hybird App、Web App,还支持N种语言来编写你的脚本。

  自动化是一个复杂的任务。它需要充分地准备和研究。需要紧跟信息技术的各种新奇应用和自动化工具。所有这些知识都是创建最有效的所必需的。

  若是对自动化感兴趣,如需了解,点击此处即可

  

上一篇:ranorex不写代码也可以自动化!盘点几个好用的无脚本自动化工具

下一篇:ranorex自动安全测试:6项最佳做法

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部