当前位置: 首页 > news >正文

建设银行国管公积金管理中心网站拉扎斯网络科技上海有限公司

建设银行国管公积金管理中心网站,拉扎斯网络科技上海有限公司,wordpress后台不能拖动,wordpress是php文件路径主要内容稳定性测试是什么Monkey 介绍自动化 Monkey稳定性测试是什么通过随机点击屏幕一段时间#xff0c;看看 app 会不会奔溃#xff0c;能不能维持正常运行。Monkey 介绍Monkey 是一个命令行工具#xff0c;它可以运行在我们的模拟器或者设备当中。它可以发送一些伪随机(…主要内容稳定性测试是什么Monkey 介绍自动化 Monkey稳定性测试是什么通过随机点击屏幕一段时间看看 app 会不会奔溃能不能维持正常运行。Monkey 介绍Monkey 是一个命令行工具它可以运行在我们的模拟器或者设备当中。它可以发送一些伪随机(pseudo-random)的用户事件流例如点击触摸手势等。我们能够使用 Monkey 工具来对我们所开发的应用进行压力测试。Monkey 测试是一种为了测试软件的稳定性健壮性的快速有效的方法。Monkey 常用命令基本语法如下adb shell monkey [options] 如果什么参数都不给monkey 将以无反馈模式进行启动并把事件任意发送到安装在目标环境下中的全部包。下面是一个更为典型的命令行示例它启动指定的应用程序并向其发送 500 个伪随机事件adb shell monkey -p your.package.name -v 500根据 Monkey 官网的介绍https://developer.android.com/studio/test/monkey 可以添加对应的执行参数。Monkey 的参数都是根据具体需求设定的主要分为常规类事件类约束类和调试类。下面就对这些命令进行说明:类别参数说明常规类--help显示 moneky 参数帮助信息 usage-v打印日志信息每个-v 将增加反馈信息的级别。-v 越多日志信息就会越详细不过目前最多支持三个-v。Level0一个-v除启动提示、测试完成和最终结果之外提供较少信息。Level1两个-v提供较为详细的测试信息如逐个发送到 Activity 的事件。Level2三个-v提供更加详细的设置信息如测试中被选中的或未被选中的 Activity。事件类-s伪随机数生成器的 seed 值。如果用相同的 seed 值再次运行 Monkey它将生成相同的事件序列。--throttle后面接时间单位为毫秒表示事件之间的固定延时(即执行每一个指令的间隔时间)若不接这个选项monkey 则不会延时--pct-touch后面接触摸事件的百分比。(触摸事件是一个 down-up 事件它发生在屏幕上的某单一位置)--pct-motion后面接动作事件的百分比。(动作事件由屏幕上某处的一个 down 事件、一系列的伪随机事件和一个 up 事件组成)。--pct-trackball后面接轨迹事件的百分比 (轨迹事件由一个或几个随机的移动组成有时还伴随有点击)。--pct-nav后面接 “基本” 导航事件百分比 (导航事件主要来自方向输入设备的上下左右事件)--pct-majornav后面接 “主要” 导航事件的百分比 (这些导航事件通常引发图形界面中的动作如5-way 键盘的中间按键、回退按键、菜单按键)--pct-syskeys后面接 “系统” 按键事件的百分比 (这些按键通常被保留由系统使用如 Home、Back、StartCall、End Call 及音量控制键)。--pct-appswitch后面接启动 Activity 的百分比。在随机间隔里Monkey 将执行一个 startActivity() 调用作为最大程度覆盖包中全部 Activity 的一种方法。--pct-anyevent调整其它类型事件的百分比。它包罗了所有其它类型的事件如按键、其它不常用的设备按钮、等等。约束类-p如果用此参数指定了一个或几个包Monkey 将只允许系统启动这些包里的 Activity。如果你的应用程序还需要访问其它包里的 Activity(如选择取一个联系人)那些包也需要在此同时指定。如果不指定任何包Monkey 将允许系统启动全部包里的 Activity。要指定多个包需要使用多个-p 选项每个-p 选项只能用于一个包。-c如果用此参数指定了一个或几个类别Monkey 将只允许系统启动被这些类别中的某个类别列出的 Activity。如果不指定任何类别Monkey 将选择下列类别中列出的 ActivityIntent.CATEGORY_LAUNCHER 或 Intent.CATEGORY_MONKEY。要指定多个类别需要使用多个-c 选项每个-c 选项只能用于一个类别。调试类--dbg-no-events设置此选项Monkey 将执行初始启动进入到一个测试 Activity然后不会再进一步生成事件。为了得到最佳结果把它与-v、一个或几个包约束、以及一个保持 Monkey 运行 30 秒或更长时间的非零值联合起来从而提供一个环境可以监视应用程序所调用的包之间的转换。--hprof设置此选项将在 Monkey 事件序列之前和之后立即生成 profiling 报告。这将会在 data/misc 中生成大文件 (~5Mb)所以要小心使用它。--ignore-crashes通常当应用程序崩溃或发生任何失控异常时Monkey 将停止运行。如果设置此选项Monkey 将继续向系统发送事件直到计数完成。--ignore-timeouts通常当应用程序发生任何超时错误 (如 “ApplicationNot Responding” 对话框) 时Monkey 将停止运行。如果设置此选项Monkey 将继续向系统发送事件直到计数完成。一条常用的 Monkey 命令adb shell monkey -v -v -v -p [PackageName] --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --ignore-native-crashes --throttle 1000 100000 monkey.txtMonkey 的特点综合上面的描述使用 Monkey 如下特点1.Monky 测试使用的事件流数据流是随机的不能进行自定义。2.可对 MonkeyTest 的对象事件数量类型频率等进行设置。通过自然语言开发 Monkey 自动化脚本因为命令行运行每次需要修改不同的参数这样操作不是很灵活我们可以写段代码来驱动。为了让脚本的可读性更高我们使用 BDD 的方式来做。BDD 的好处就是可以在自然语言描述中修改参数就能直接运行程序并可以数据驱动。对于团队协作或者新人了解业务特别方便。下面借助工具来实现这些操作因为脚本用 JavaScript开发工具可以使用CukeTest(http://cuketest.com)执行引擎可以借助 adbkit 来实现。步骤如下环境搭建配置 sdk(请自行网上查阅资料本机安装 sdk)安装 node.js 库 adbkit(https://github.com/openstf/adbkit)创建项目打开 CukeTest文件新建 - 新建项目项目类型选择基本项目填写项目信息完成创建即可。在项目的根目录下执行npm install adbkit --save 完成 abdkit 库的安装。关于 abdkit 可以参考 GitHub https://github.com/openstf/adbkit设置超时时间由于需要持续长时间按去运行 monkey 脚本检测应用的稳定性所以设置超时时间长一些编辑 support/env.jsconst { setDefaultTimeout } require(cucumber)setDefaultTimeout(1000 * 1000)编辑 feaure 文件# language: zh-CN功能: monkey 稳定性测试调用monkey脚本 检测手机app原生计算器稳定性场景: 设计并调用monkey脚本假如app的package为com.android.calculator2同时设置运行随机数值为10000当我希望基本导航事件中占用比例为10同时触摸事件在所有事件中所占的比例为70同时每个操作步骤之间的间隔为1000毫秒并且忽略程序崩溃或者发生异常那么手机序列号为192.168.181.101:5555运行1000次脚本如果你想修改 monkey 脚本的参数直接修改 feature 文件中的参数即可。编写自动化脚本const { Given, When, Then } require(cucumber);var adb require(adbkit);var client adb.createClient(); Your step definitions /var command monkeyGiven(/^app的package为([^]*)$/, async function (packagename) {command command -p packagename});Given(/^设置运行随机数值为(\d)$/, async function (seed) {command -s seed});When(/^我希望基本导航事件中占用比例为([^]*)$/, async function (nav) {command --pct-touch nav});When(/^触摸事件在所有事件中所占的比例为([^]*)$/, async function (touch) {command --pct-touch touch});When(/^忽略程序崩溃或者发生异常$/, async function () {command --ignore-crashes});When(/^每个操作步骤之间的间隔为(\d)毫秒$/, async function (ms) {command --throttle ms});Then(/^手机序列号为([^]*)运行(\d)次脚本$/, async function (deviceid, num) {command num;return client.shell(deviceid, command)// Use the readAll() utility to read all the content without// having to deal with the events. output will be a Buffer// containing all the output..then(adb.util.readAll).then(function (output) {console.log([%s] %s, device.id, JSON.stringify(output.toString().trim()))})});运行脚本点击运行 feature 文件,即可看到 monkey 自动去操作模拟器的计算器如果要对多个应用做不同的 Monkey 测试只需要在 CukeTest 中将这个场景一键转换成场景大纲再添加多行数据就行了。真正实现了通过数据驱动做 Monkey 测试。欢迎大家一起交流学习。
http://wiki.neutronadmin.com/news/236455/

相关文章:

  • 网站建设公司的服务公司网站开发技术视频教程
  • 做土地租赁买卖的网站有哪些温州15000 做网站的工作
  • 深圳做网站公司地点怎样把在本地安装好的wordpress上传到服务器
  • 怎么看一个网站是什么时候做的深圳手机端网站建设专业公司
  • 中建材建设有限公司网站地图定位网站开发
  • 什么是网站风格北京最新发布会直播
  • 手机网站建设制作教程视频wordpress网格化插件
  • 成立一个做网站的公司文档生成器app
  • 企业网站首页图片wordpress 解压
  • 做cpa广告建什么网站好友汇网站建设
  • 网站搜索优化技巧黑龙江快讯
  • wordpress整合vip解析seo推广公司价格
  • 网站建设 开票后端网站开发遇到的难题解决
  • 网站开发公司前置审批app和手机网站的区别
  • 让人做网站 需要准备什么条件建设网站全部流程
  • 网站商城建设费用安徽建设厅网站首页
  • 如何做网站卡密做导购网站多少钱
  • 个人网站用什么服务器自助个人免费网站
  • 内蒙古建设厅网站查询室内设计学徒有多坑
  • wordpress插件汉化教程湘潭企业seo优化哪家好
  • 山西长治做网站公司网站怎么做的支付宝
  • 有接口怎么做网站常州网站外包
  • 备案期间网站深圳 高端 建站公司
  • 兰州市建设局网站企业建设网站的需求分析
  • 基于php旅游网站的毕业设计平台软件开发
  • 网站带gov后缀一键生成广告
  • php 个人网站企业网站推广定义
  • 网站设计的用途做网站微信朋友圈应该怎么发
  • 重庆制作网站公司简介nx二次开发
  • 广州电信网站备案wordpress和phpwind