Monkey

Android Exerciser Monkey starts playing audio files at random

二次信任 提交于 2019-12-04 18:09:53
问题 I'm running exerciser monkey to test my android app. As part of my app I play media files which give the pronunciation of a words. I've put the files in a directory where they aren't readable by the Android's Music player. However, the exerciser monkey throws some sequence of events which seem to activate the music player, which then repetitively play the beginning of another mp3 file (which is not from my app) during its testing. How is it doing this, and is it something I should be

How to use monkey and monkeyrunner tools for android testing?

两盒软妹~` 提交于 2019-12-04 17:48:00
问题 How do you use monkey and monkeyrunner tools for android testing? What are the basic commands needed? 回答1: adb shell monkey -p com.bla.yourpackage -v 1000 First is your package that you want monkey to run in and be restricted to. Second is i verbose mode, third is number of events to run. You can find out more by doing adb shell monkey -help 回答2: Here are some useful tips when using monkey test. Specify one activity Add category in manifest: <activity android:name="MonkeyActivity"> <intent

Using Monkey in a subactivity only (android debugging)

时光怂恿深爱的人放手 提交于 2019-12-04 08:06:07
I'm trying to use Monkey debuggin tool (from adb) to stress test a part of my application. As Monkey acts in a total random way, I'd like it to concentrate on the part of code that might contain an error I'm looking for (very rare bug, and I don't know how to replicate it). So, in my Main activity I have 6 buttons, each fires up a new activity. I'd like to set monkey to look only in one of those activities, and every activity accesible from it. I cannot find a reasonable way to do it. I've tried the adb shell monkey -p my.package.name -c android.intent.category.MONKEY 1000 and in my manifest

Java Stream函数式编程第三篇:管道流结果处理

我怕爱的太早我们不能终老 提交于 2019-12-04 06:45:36
一、Java Stream管道数据处理操作 在本号之前写过的文章中,曾经给大家介绍过 Java Stream管道流是用于简化集合类元素处理的java API。在使用的过程中分为三个阶段。在开始本文之前,我觉得仍然需要给一些新朋友介绍一下这三个阶段,如图: 第一阶段(图中蓝色):将集合、数组、或行文本文件转换为java Stream管道流 第二阶段(图中虚线部分):管道流式数据处理操作,处理管道中的每一个元素。上一个管道中的输出元素作为下一个管道的输入元素。 第三阶段(图中绿色):管道流结果处理操作,也就是本文的将介绍的核心内容。 在开始学习之前,仍然有必要回顾一下我们之前给大家讲过的一个例子: List<string> nameStrs = Arrays.asList("Monkey", "Lion", "Giraffe","Lemur"); List<string> list = nameStrs.stream() .filter(s -> s.startsWith("L")) .map(String::toUpperCase) .sorted() .collect(toList()); System.out.println(list); 首先使用stream()方法将字符串List转换为管道流Stream 然后进行管道数据处理操作,先用fliter函数过滤所有大写L开头的字符串

Python并发之Gevent

吃可爱长大的小学妹 提交于 2019-12-04 03:57:17
Python并发之gevent Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为我们自动切换协程,就保证总有greenlet在运行,而不是等待IO。 由于切换是在IO操作时自动完成,所以gevent需要修改Python自带的一些标准库,这一过程在启动时通过monkey patch完成: from gevent import monkey; monkey.patch_socket() import gevent def f(n): for i in range(n): print gevent.getcurrent(), i g1 = gevent.spawn(f, 5) g2 = gevent.spawn(f, 5) g3 = gevent.spawn(f, 5) g1.join() g2.join() g3.join() 运行结果: <Greenlet at 0x10e49f550: f(5)> 0 <Greenlet at

How to use monkey and monkeyrunner tools for android testing?

吃可爱长大的小学妹 提交于 2019-12-03 12:12:51
How do you use monkey and monkeyrunner tools for android testing? What are the basic commands needed? adb shell monkey -p com.bla.yourpackage -v 1000 First is your package that you want monkey to run in and be restricted to. Second is i verbose mode, third is number of events to run. You can find out more by doing adb shell monkey -help einverne Here are some useful tips when using monkey test. Specify one activity Add category in manifest: <activity android:name="MonkeyActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent

回归网易 9 个月来的测试团队转型之路

帅比萌擦擦* 提交于 2019-12-02 09:47:00
在外游荡一年回到网易,进到平台交友事业部,专注于移动互联网 APP 研发测试领域,在将近一年来的时间里,经历了开发、测试团队的转型,下面跟大家讲述讲述带领测试团队从挖掘痛点的转型之路,希望能给各位一点帮助。 测试团队现状 这个部门人员朝气蓬勃,个人认为更像一个创业型的公司,初期技术资源都投入到产品功能需求开发中,对于产品质量稍作妥协,不需要太严格的过程控制和质量把控,相比开发资源而言,测试的投入资源不是那么急需。 随着用户量的上升,各种类型的移动设备问题错综复杂,用户对产品的质量有要求,部门老大对质量越来越重视,狠抓这块,从 2017 年 Q4、2018 年 Q1 分别招入两批测试人员,整个技术团队对于质量把控的诉求越来越强烈了,到后来整个测试团队跟随开发团队的规模壮大而壮大起来了。 测试技能现状 所有产品线的测试手段都是以手工测试为主,自动化辅助手段较少,回归测试成本高,Android、iOS 独占测试人员忙于业务的功能性需求的黑盒测试,非功能性需求无法满足。 Android、iOS 与后端 Server 进行数据交互的 API 规范定义是一致的,早期无相关测试人员参与,导致发现 API 问题较晚,推迟到客户端功能开发完成阶段才进行检验,同时也造成后端 API 回归成本高; 功能测试以及 API 相关测试在研发测试过程走一轮、预发布环境第二轮、生产环境走第三轮,深度依赖于手工测试

10大工具汇总,多维度简化Kubernetes部署

心不动则不痛 提交于 2019-12-01 20:16:08
Kubernetes已经成为大规模部署经过编辑的应用程序的标准方法(许多人会说这是标准方法)。但是,如果Kubernetes可以帮助我们控制无序和复杂的经编辑的部署,那么有什么方法可以帮助我们控制Kubernetes呢?毕竟,它也可能是复杂、混乱和难以管理的。 随着Kubernetes的成长和演变,它的一些过度行为很可能会从内部得到控制。但是有些人并没有等到Kubernetes变得更容易使用,而是对生产中Kubernetes的许多常见问题推出了自己的解决方案。 在这里,我们重点介绍10个以各种方式简化Kubernetes的项目,从简化命令行交互,到简化应用程序部署语法,再到与AWS集成,再到为多个集群提供一个窗口。 目 录 Bitnami Cabin:适用于iOS和Android的Kubernetes面板 Kedge:简明的Kubernetes部署定义 Koki Short:可管理的Kubernetes密钥清单 Kops:Kubernetes集群的命令行操作 Kubebox:Kubernetes的终端控制台 Kube-monkey:Kubernetes的Chaos Monkey Kube-ps1:智能Kubernetes命令提示符 Kube-prompt:交互式Kubernetes客户端 Kube-shell:用于Kubernetes CLI的shell Kubespy

monkeyrunner 使用

二次信任 提交于 2019-12-01 01:09:53
monkeyrunner 环境搭建: http://zhidao.baidu.com/link?url=knuI8D6kyLIYu0mfdCe4LJRc8bmHjtg5YNfzSMyiDIdglERYyt6JQJmZvLaOhRU4HxNtTiKK31_e3XTEW4k9N2cQ-9SHuthhFA5B67AFSqi monkeyrunner的环境配置及启动方法: http://blog.sina.com.cn/s/blog_b54ee2ac0101ccjt.html android自动化之MonkeyRunner测试环境配置 : http://blog.csdn.net/shy871265996/article/details/9716569 Android 的monkey测试及排错步骤 :http://www.cnblogs.com/wfh1988/archive/2010/11/16/1878215.html http://blog.csdn.net/shy871265996/article/details/9716723 Android 测试工具Monkey & Monkeyrunner 使用方法 : http://blog.csdn.net/marshalchen/article/details/9119979 来源: oschina 链接: https://my

Decorator:从原理到实践

你离开我真会死。 提交于 2019-11-30 11:56:25
前言 原文链接: Nealyang/personalBlog ES6 已经不必在过多介绍,在 ES6 之前,装饰器可能并没有那么重要,因为你只需要加一层 wrapper 就好了,但是现在,由于语法糖 class 的出现,当我们想要去在多个类之间共享或者扩展一些方法的时候,代码会变得错综复杂,难以维护,而这,也正式我们 Decorator 的用武之地。 Object.defineProperty 关于 Object.defineProperty 简单的说,就是该方法可以精准的添加和修改对象的属性 语法 Object.defineProperty(obj,prop,descriptor) ojb:要在其上定义属性的对象 prop:要定义或修改的属性的名称 descriptor:将被定义或修改的属性描述符 该方法返回被传递给函数的对象 在ES6中,由于 Symbol类型的特殊性,用Symbol类型的值来做对象的key与常规的定义或修改不同,而Object.defineProperty 是定义key为Symbol的属性的方法之一。 通过赋值操作添加的普通属性是可枚举的,能够在属性枚举期间呈现出来(for...in 或 Object.keys 方法), 这些属性的值可以被改变,也可以被删除。这个方法允许修改默认的额外选项(或配置)。默认情况下,使用 Object.defineProperty