Monkey

Android自动化测试框架必用工具

我是研究僧i 提交于 2020-08-05 09:25:24
Monkey Monkey1是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器里或实际设备中。可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用程序进行压力测试。由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。 编写语言:命令行 运行环境:使用adb连接PC运行 测试对象:Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。主要测试客户端应用的稳定性,健壮性 测试限制:主要是做随机模拟用户操作移动端的操作 例子: adb shell monkey -p com.android.calendar -v 500 这样就开始乱点日历应用了。 加入我们,642830685,群。领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑 MonkeyRunner MonkeyRunner2是Android SDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本(jython(java语言))用Python(Python(C语言))来写

设计模式之原型模式【选用鸣人影分身阐述】

爱⌒轻易说出口 提交于 2020-07-29 06:10:19
一生猿,一世猿。 —— 猿医生·yys 目录 一、前言 二、简介 三、原型模式 - 浅克隆 四、原型模式 - 深克隆 一、前言 上篇 设计模式之工厂模式【选用修仙小说功法阐述】 得到 CSDN官方大大以及各位猿友的推崇,小主很是倍感荣幸。 今天呢 (2020.05.22),利用【齐天大圣拔毫毛】【鸣人多重影分身】两个案例来阐述下 设计模式之 原型模式 。 在此,记录一下,分享给大家。 二、简介 姓名:原型模式 英文名:Prototype Pattern 个人介绍:原型模式(prototype pattern)是指用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式属于创建型的设计模式。 原型模式分为 浅克隆、深克隆。 特长爱好: 1.类初始化消耗资源太多; 2.new 对象需要非常繁琐的过程 (数据准备、访问权限); 3.构造函数复杂; 4.循环中需要生成大量对象; 相信大家读到这里... ...用一首最近流行的网红洗脑神曲,“小朋友你是否有很多问号???” 不过...大家不要慌.... 按照小主的个人习惯,是时候上案例了,记得千万不要走神,车要开了。。 三、原型模式 - 浅克隆 “猴哥,猴哥”, “你真了不得”, “五行大山压不住你”, “蹦出个孙行者”, ... ... “拔一根毫毛”, “吹出猴万个”, ... ... 一首儿时曲,忆起童年往事 ~

求职季&毕业季|软件测试大厂面试技巧大公开!

你说的曾经没有我的故事 提交于 2020-07-23 23:07:33
毕业季,一大波求职者来袭,你是不是每次面试的时候,都漏洞百出,感觉没有回答好面试官的问题, 不打无准备的仗。 这是我一直坚信的道理,特别是针对改变人生的重要转折点,更应该从前期开始筹划。 今天借此机会,跟大家分享软件测试大厂面试的几点经验,总结出来就是:面试前做好资料准备,知已知彼。 1、自我介绍 相信大家一定很不喜欢这个开场白,但是呢,面试都是从千篇一律的自我介绍开始的,HR主要是想通过你的自我介绍,快速的了解一下你这个人,是不是跟公司的要求想符合。 所以大家可以从这些方面组织语言:从业时间 、教育背景、工作经验 、项目经验 、擅长技能、你的性格,尽量与个人简历相一致 下面以XX的学员为案例: 你好,我叫XX,来自XXXX,在XXX学院计算机专业毕业,从毕业至今在XXX公司从事软件测试工作1年半。 我们做的项目主要是XXX,是一个XXX的系统平台,涉及模块主要是XXX。项目中我负责过web及app功能测试、接口测试、压力稳定性测试。(跟简历项目一致)、能独立搭建测试环境。 熟悉测试工具jmeter、soapui、loadrunner Fiddler Appium Monkey Postman…等的使用。(这些以测试人追风来讲的,大家根据自己的实际情况来,会几种说几种,因为后期会问你相关的技术问题) 也有过开发的经验,擅长c/c++、Java、JavaScript编程语言

python爬虫13 | 秒爬,这多线程爬取速度也太猛了,这次就是要让你的爬虫效率杠杠的

我们两清 提交于 2020-05-08 06:18:31
快 快了 啊 嘿 小老弟 想啥呢 今天这篇爬虫教程的主题就是一个字 快 想要做到 秒爬 就需要知道 什么是 多进程 什么是 多线程 什么是 协程(微线程) 你先去沏杯茶 坐下来 小帅b这就好好给你说道说道 关于线程这玩意 沏好茶了吗 那么 接下来就是 学习 python 的正确姿势 首先我们来了解什么是进程 进程就是 正在运行 的程序 比如你的系统现在运行着的微信 就是一个进程 一旦你的「微信」运行起来 系统就会给「微信」分配了内存和资源 那什么是 单进程 呢? 单进程就是说你的电脑只能做一件事情 比如 你在电脑打开了微信 就不能再去打开淘宝了 但是你会发现 现在你的电脑 很是牛逼 可以一边看片一边听歌 可以一边玩游戏一边撸代码 这就是 多进程 你的电脑 在同一段时间里面 可以 “同时” 执行多个任务 这样是不是提高了你家 CPU 的使用率了呢 其实 一个单核的 CPU 在一个时间点上只能运行一个程序 之所以你能感觉到你电脑上的程序在同时运行 是因为 CPU 在做着切换 因为 CPU 的切换速度超级快 快到让你感觉到 你开着的所有程序好像是在同时运行 知道了什么是进程之后 我们再来谈谈线程 在一个进程里面 可以执行多个任务 在这里的每一个任务就是线程 线程可以说是程序用 CPU 的一个基本单元 所以 一个程序里面如果只是 单一 的一个执行路径 那么它就是单线程的 一个程序如果有

Python和Java编程题(六)

守給你的承諾、 提交于 2020-05-07 01:47:01
1.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 程序分析:采取逆向思维的方法,从后往前推断。 题目来源: http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html 这题比较简单,只需从后往前逆推即可。程序可以通过循环,也可以通过递归实现。 Python代码实现 1 # -*- coding: utf-8 2 # 通过逆推计算桃子总数,循环实现 3 def CalulatePeach(n, d): 4 while d> 0: 5 n = (n + 1) * 2 6 d = d - 1 7 return n 8 9 10 if __name__ == ' __main__ ' : 11 LastPeachNumber = 1 12 LastDay = 10 13 SumPeach = CalulatePeach(LastPeachNumber, LastDay) 14 print ( " 桃子的总数为:%d " % SumPeach) Java代码实现 1 public class MonkeyEatPeach { 2 public void

python3 TensorFlow训练数据集准备 下载一些百度图片 入门级爬虫示例

江枫思渺然 提交于 2020-05-05 21:07:58
从百度图片下载一些图片当做训练集,好久没写爬虫,生疏了。没有任何反爬,随便抓。 网页: 动态加载,往下划会出现更多的图片,一次大概30个。先找到保存每一张图片的json,其对应的url: 打开调试,清空,然后往下划。然后出现: 点击左侧的链接,出现右边的详细信息,对应的就是URL。对这个url做请求即可。以下是代码: # -*- coding: utf-8 -*- # import tensorflow as tf # import os # import numpy as np import requests import my_fake_useragent as ua import re import random # 蓝色背景 def blue_print(*s, end= ' \n ' ): for item in s: print ( ' \033[46m {} \033[0m ' .format(item), end= '' ) print (end= end) # 高亮,绿色字体,红色背景 def green_print(*s, end= ' \n ' ): # print('\033[1m {} \033[0m'.format(s), end=end) for item in s: print ( ' \033[1;32;41m {} \033[0m '

Appium

蓝咒 提交于 2020-05-05 13:27:07
monkey 参数 1.常规类参数 A.帮助类参数 monkey -h B.日志级别 $ adb shell monkey -v <event-count> . 2.事件类参数 A .执行指定脚本 $ adb shell monkey -f <scriptfile> <event-count> 例: $ adb shell monkey -f /mnt/sdcard/test1 B.伪随机数生成种子值 $ adb shell monkey -s <seed> <event-count> 例:$ adb shell monkey -s 666 100 C.设置间隔(每一个指令之间加上固定的间隔时间) $ adb shell monkey --throttle <milliseconds> 例:$ adb shell monkey --throttle 3000 5 D. 调整触摸事件百分比如果你希望调整触摸事件的百分比,记住使用--pct-touch。 $ adb shell monkey --pct-touch 例:$ adb shell monkey -v -v --pct-touch 100 200 E. 调整手势事件百分比 $ adb shell monkey --pct-motion 所占比例 事物数 例: $ adb shell monkey -v -v --pct

面试中的工具问题 看这一篇就够了

扶醉桌前 提交于 2020-05-02 15:25:52
Monkey怎么用的? ①. 可以通过monkey命令来进行使用,基本命令是adb shell monkey -p 包名 -s 序列值 count(次数),其他参数根据情况需要设置,在monkey执行同时,用adb logcat命令抓取手机端日志 ②. 如果有代码能力或者有技术人员支持,可以将monkey设计成一个可视化工具,方便测试人员执行,提高测试效率. monkey测试,你们一次执行多久? 一次执行8-10小时,伪随机事件在35万-26万次左右 monkey你们是通过app命令执行的吗??具体用到什么参数? 一般可以通过命令执行,我们项目用的参数有:-p包名 -s 序列值 --throttle 延迟时间 ----ignore-crashes --ignore-craash --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes count等参数 如何判断这个monkey是成功还是失败呢? 根据monkey命令执行结束后的结果是否是monkey finished ,在这个基础上在查看手机的当前表现是否有死机等情况(如果monkey完成后,放置过程中发生问题也是需要解决的) 怎么用postman测试验证码这些? ①. 可以使用万能验证码进行绕过 ②. 在测试阶段取消验证码功能 ③.

用gunicorn+gevent启动Flask项目

我是研究僧i 提交于 2020-05-02 10:00:56
转自:https://blog.csdn.net/dutsoft/article/details/51452598 Flask,webpy,Django都带着 WSGI server,当然性能都不好,自带的web server 更多的是测试用途。线上发布时,则使用高性能的 wsgi server或者是联合nginx做uwsgi 。 greenlet是一个轻量级的协程库。gevent是基于greenlet的网络库。 guincorn是支持wsgi协议的http server,gevent只是它支持的模式之一 ,是为了解决django、flask这些web框架自带wsgi server性能低下的问题。它的特点是与各个web框架结合紧密,部署特别方便。 gunicorn安装和使用 安装 pip install gunicorn 启动 gunicorn code:application 其中code就是指python程序代码code.py,application就是那个wsgi func的名字。这样运行的话, gunicorn 默认作为一个监听 127.0.0.1:8000 的web server,可以在本机通过: http://127.0.0.1:8000 访问。 设置监听端口 如果要通过网络访问,则需要绑定不同的地址(也可以同时设置监听端口)。 gunicorn -b 127.0.0

Spring系列之Spring常用注解总结

感情迁移 提交于 2020-05-01 14:32:14
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点: 1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。 2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。 为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。 不使用注解: 先看一个不使用注解的Spring示例,在这个示例的基础上,改成注解版本的,这样也能看出使用与不使用注解之间的区别,先定义一个老虎: package com.spring.model; public class Tiger { private String tigerName="TigerKing" ; public String toString(){ return "TigerName:"+ tigerName; } } 再定义一个猴子: package com.spring.model; public class Monkey { private String monkeyName =