客户端自动化测试小探索
作者:网络转载 发布时间:[ 2016/11/1 10:56:04 ] 推荐标签:软件测试 自动化测试
难点二:流程控制
Feature
我们在上面的case中可以看到有 Feature 的标识,这是calabash的一个控制单元(我的理解),每运行一个Feature,apk都会卸载重装,保证每次都是全新无副作用的应用。
Scenario
这个标识是囊括在Feature中的,一个Feature可以有很多个Scenario,运行每个Scenario的时候应用只会退出再重进,不会卸载再重装。
Hooks
在feature/support包下,我们会看到这么几个ruby文件:
· app_installation_hooks.rb
· app_life_cycle_hooks.rb
· env.rb
· hooks.rb
可以看到,基本上都是hook用的,我们看一个简单的 app_life_cycle_hooks.rb 理解理解:
require'calabash-android/management/adb'
require'calabash-android/operations'
Before do|scenario|
start_test_server_in_background
end
After do|scenario|
ifscenario.failed?
screenshot_embed
end
shutdown_test_server
end
这是默认生成好的,从字面意思上看,是app生命周期的hook,这里可以看到,在主要用到了 Before 和 After 关键字进行操作,这个显然很容易看懂了,于是我自己写了一个在每个step执行之后都等待2秒的hook,下面的代码写在 hooks.rb 中(这个文件默认生成是空的):
require'calabash-android/calabash_steps'
AfterStep do|scenario|
sleep 2
end
很容易对吧?关于这部分想多了解的可以看 cucumber wiki中的Hooks部分 。
总结
首先,calabash是我后选中的客户端自动化固有case的方案。这里说下原因:
· 脚本维护成本很低,算固有case发生变化,也可以花很少的时间迅速更改脚本
· 我们的业务固有case数量不大,操作主要涵盖的部分calabash都可以完成,编写脚本的成本低,无语言障碍
· 可读性非常强,代码简单易懂,任何一位DEVER都可以零成本上手,有Mac的连装环境都差不多省了
· 小范围组内使用成本低,坑有但是并不大,都可以解决,某些机型不兼容问题直接用genymotion跑行了,简单(主要还是固有case不复杂)
· Android & iOS都可以使用
· 玩起来很有意思,对于我这种懒人来说是福音
估计还有一些高级的玩法我还不会,不过目前这些都够我写一些固有case了,目前我们组内将会对这个方案进行评估,没啥问题组内小范围用了,如果有感兴趣的朋友欢迎一起讨论!
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
手工测试与自动化测试的区别如何提升接口自动化测试效率?手动测试和自动化测试的区别自动化测试真实项目工作流程,5个重要阶段自动化测试自行脚本后怎么查看日志?使用AR查看日志方法了解ios自动化测试要知道哪些知识?两种自动化测试工具AutoRunner与Selenium的对比给你一个网站,你如何来做自动化测试的?Web网站测试流程及方法Android自动化测试框架有哪些?有什么用途?什么样的项目适合做自动化?自动化测试人员应具备怎样的能力?为什么要进行自动化测试?自动化测试发展的怎么样了?如何对微信小程序进行自动化测试?自动化测试的行业现状是怎样的?未来的发展方向在哪?自动化测试很难,那么软件测试为什么要坚持自动化呢?关于Selenium自动化测试框架的较佳设计模式关于Selenium自动化测试框架那些你不知道的事
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南