自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(50)
  • 问答 (2)
  • 收藏
  • 关注

原创 python 异步非阻塞的简单实现

python 利用装饰器简单实现异步非阻塞

2021-12-31 09:45:00 2052 2

原创 Mac安装AES加密模块pycrypto

AES加密模块安装后,代码中import仍然显示为找不到?安装命令:pip3 install pycrypto回到IDE一看,仍然是为报错状态:此时,需要到到python安装路径/site-packages/下更改文件夹名称crypto为Crypto。问题解决!!...

2021-12-03 10:59:23 2736 1

原创 Apache_BenchMark API Test Tool

Apache_BenchMark API Test Tool一、前言项目说明:本项目使用Apache_BenchMark(一下简称ab)测试工具,对单个接口进行压测,并输出测试结果。最终效果:在表格中编写单接口压力测试用例,一键执行,逐次对表格内所有接口遍历执行,并输出测试报告。ab官网地址:http://httpd.apache.org/docs/2.0/programs/ab.html二、环境python环境:python 3.6IDE:PyCharm三、安装和使用1、克隆项目

2021-05-18 09:14:22 307

原创 性能、压力测试时的一些小笔记

1、ssh连接到服务器地址ssh -p 端口号 用户名@服务器IP随后输入密码:password.123eg:ssh -p 10022 [email protected]随后输入密码:password.1232、上传文件到服务器硬盘中scp -P 10022 /Users/zekyll/desktop/go-stress [email protected]:/root随后输入密码:password.1233、杀死服务器中的go-stress进程ps aux | grep

2021-05-17 14:03:35 163

原创 python中ThreadPoolExecutor线程池

ThreadPoolExecutorpython3标准库concurrent.futures中常用的线程池ThreadPoolExecutor特点:主线程可以获取某一个线程的状态,以及返回值。线程同步让多线程和多进程的编码接口一致。简单粗暴上手操练将使用ThreadPoolExecutor线程池,将文件读取出来,并在文件每一行行末追加内容_我是吊车尾第一步,假设有个文件,20000行,第一行数据为”1“,后续自增。(直接代码写一个)index=1line_list=[]for

2021-05-17 11:43:12 3233 3

原创 PyCharm项目与git/GitHub取消关联

PyCharm项目与git/GitHub取消关联方法进入Pychram--Preferences 选择Version Control,并将VCS列中的Git值切换为`<None>`,并保存 如果不想永久删除关联,其实完成了第2步就可以了,当然,你也可以选择删除工程目录下的所有.git文件 find . -name ".git" | xargs rm -Rf OK!搞定。 ...

2021-05-17 10:05:41 2451

原创 使用adb命令操作Android手机输入法

使用adb命令操作Android输入法1.获取当前设备有效的输入法列表2.获取当前设备有效输入法的详细信息3.常看当前`正在使用`的输入法4.切换输入法(设置默认输入法)最近碰到经常需要使用adb命令切换Android手机的输入法,在这里整理一个文章,作为备忘。1.获取当前设备有效的输入法列表命令:adb shell ime list -s 输出:zekylldeMacBook-Pro:~ zekyll$ adb shell ime list -scom.samsung.android.ho

2021-02-20 10:39:00 4708 1

原创 Python之pip安装失败:ReadTimeoutError: HTTPSConnectionPool(host=“xxx'', port=): Read timed out.

今天安装opencv-python时,出现错误提示:ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.网上查了下,可能是网络的原因,导致连接资源超时了,只要自定义连接延迟时间就可以解决。So,更改pip安装命令如下:pip3 insta...

2020-01-14 16:13:35 2512

原创 MAC设置最大文件打开数量(解决 ulimit: open files: cannot modify limit: Invalid argument)

最近在使用MAC对接口进行压测,发现多线程高并发的时候,会有一些小坑,这里整理下,方便后续查看。1、容易出现unable to create thread 6: Too many open files。原因是:文件句柄数不够,需要调高ulimit 里面的open file 的值。输入:ulimit -a 查看当前最大的文件打开数量(默认为256)。2、接下来使用ulimit -...

2019-12-31 10:46:22 8345 2

原创 常用的正则表达式

从一个txt编辑工具上看到了一个实用的正则技巧,贴过来,便于以后使用。正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。注:以下内容来自网络,因正则表达库不同可能部分不适用匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />评注:网上流传的版本太糟糕,上面这个也...

2019-11-20 09:19:37 146

原创 第一条Android自动化测试脚本

一、工具准备Eclipseant 环境(添加ant到环境变量)Android SDK(添加android、adb等到环境变量)Java 环境待测APK(BBX司机端)真机or夜神模拟器or雷电模拟器等等(本文使用夜神模拟器)二、打开工具,配置好环境添加adb环境变量打开夜神模拟器--开发者模式--USB调试adb connect 127.0.0.1:6200...

2019-06-13 11:12:59 5756

原创 RobotFramework 断言关键字

一、基础RobotFramework带有丰富的系统关键,使用时无需导入,直接使用,为写自动化用例带来了极大的方便;不能停留在知道或者是会得程度,只有熟练使用各关键字,才能提升自动化用例的写作效率。下面将逐个举例介绍RobotFramework提供的断言关键字。二、实例为方便讲解,首先创建三个list变量:list_a、list_b、list_c;以...

2019-06-03 14:27:33 8014

转载 Selenium2Library类库关键字使用说明

Add CookieArguments:[ name | value | path=None | domain=None | secure=None | expiry=None ]Adds a cookie to your current session. "name" and "value" are required, "path", "domain" and "secure" are ...

2019-05-31 10:26:50 1756

原创 Appium(二):第一条测试脚本

Appium(一):环境搭建上一篇博文中已经搭建好了整个appium的运行环境,接下来就是需要写一条自动化的测试脚本。我们需要配置Appium应用程序:1、手机连接PC,开启USB调试,从cmd窗口中输入adb deivces 来获取当前连接设备的deviceID2、双击打开PC端桌面Appium图标,进入Appium界面。点击Android机器人图标,设置对应的值,3、点...

2019-01-10 15:08:39 819

原创 Appium(一):环境搭建

Appium简介:官网介绍:Appium is an open-source tool you can use to automate mobile native, mobile web, and mobile hybrid applications on iOS and Android platforms. “Mobile native apps” are those written u...

2019-01-09 11:53:45 192

原创 MarkDown语法分享

MarkDown简介:1、Markdown是一种简单的、轻量级的、纯文本格式的标记语法。2、轻松的使用诸如 * # 等简单的标记符号来排版,以最小的输入代价生成极富表现力的文档。MarkDown有以下优点:1、写作中使用简洁的语法替代排版,(也就是添加简单符号完成排版),所见即所得。让你专注于写作,远离排版烦恼。2、从写作到完成,导出格式随心所欲,文件格式转换方便,Markdo...

2019-01-08 19:48:48 428 1

原创 Python之pip安装失败----Could not find a version that satisfies the requirement xxxx(from versions: )

今天在使用pip安装模块的时候,发现无法使用。报错信息:Could not find a version that satisfies the requirement xxxxxxx(from versions: )No matching distribution found for xxxxx如图:网上查询了下,可能是网络的问题,所以,这里需要用国内的镜像源来下载pip ...

2019-01-08 16:38:54 63744 47

转载 Python之unittest单元测试框架

用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest。unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那你用unittest来应该是很轻松的,它们的工作方式都差不多。unittest核心工作原理unittest中最核心的四个概念是:test case, test suite, test r...

2019-01-08 15:04:41 263

转载 APP测试方法总结(转)

转自App测试方法总结一、安全测试1.软件权限1)扣费风险:包括短信、拨打电话、连接网络等。2)隐私泄露风险:包括访问手机信息、访问联系人信息等。3)对App的输入有效性校验、认证、授权、数据加密等方面进行检测4)限制/允许使用手机功能接入互联网5)限制/允许使用手机发送接收信息功能6)限制或使用本地连接7)限制/允许使用手机拍照或录音8)限制/允许使用手机...

2019-01-08 14:21:59 310

转载 ADB源码分析——ADB模块简述(转)

本文转载自:http://www.apkbus.com/blog-50331-54609.html 1、Adb 源码路径(system/core/adb)。2、要想很快的了解一个模块的基本情况,最直接的就是查看该模块的Android.mk文件,下面就来看看adb模块的Android.mk文件:  ……  ifeq ($(HOST_OS),linux) //用HOST_OS这个宏...

2019-01-07 11:19:30 519

原创 Android开发之关机广播

之前测试Android续航的时候,需要自动计算开始跑测试到低电关机的续航时长,这时候就要用到关机广播了。主要的思路是,开始测试时,记录开始测试的时间点t0,在收到关机广播的时候,记录时间t1,计算t1-t0后,得出续航时长。这个时候,就需要用到关机广播了。1、首先,需要在AndroidMenifest.xml文件中给apk添加监听广播的权限&lt;uses-permission an...

2019-01-04 16:59:58 5371 3

原创 Uiautomator中获取屏幕坐标/控件颜色RGB值

在实际测试中有时候会遇到一些开关按钮,但是这些按钮的checkable属性为false,很难从控件属性上判定开关状态的时候,我们可以根据开关的当前颜色来判定。比如:所以,这就需要获取控件的坐标的颜色值,随后通过颜色值来判定开关状态。 /** * 获取给定图片的指定坐标点的RGB值,结果以16进制输出(例:ffffff) * * @param picPath 需要...

2019-01-04 16:31:47 4931

原创 Uiautomator界面中存在的控件,但是无法被点击的问题解决

在Android P出来后,开展自动化测试的路上一些地方有些磕磕绊绊。先说说之前发现的一种必现的无法点击到桌面控件的问题,明明界面中存在,但是无法被点击,Uiautomator运行时并没有抛出这一步的异常,但是下一步就抛异常了。详细的实例如下:case删除全部联系人的操作步骤(点击删除--选择确定--验证是否正确删除)而因为无法点击到删除这个控件,导致没有弹出确认窗口,导致下一步的点击...

2019-01-04 15:43:50 7177

原创 UiautomatorViewer源码(四):解决null root node returned by UiTestAutomationBridge.

Android P新版本出来以后,用uiautomatorViewer工具同步时,经常会报null root node returned by UiTestAutomationBridge.导致快照屏幕失败。问题原因并不确认,网上绕了一圈,没查到个所以然,估摸着,这可能是谷歌的锅,毕竟人家盛产BUG,这,好吧,我啥都没说。言归正传,这里提供一个方案来规避。经过多次dump尝试,发现nu...

2019-01-04 11:39:18 7711 3

原创 UiautomatorViewer源码(三):提升快照速度

使用UiautomatorViewer工具快照屏幕时,感觉速度有点慢,所以这边就想着修改下源码来提升下速度,准确来说,应该算是换一种方式来快照屏幕。主要的想法:新增一个按钮,添加一些按钮事件(保留了原本的快照功能)按钮事件思路: 1、创建两个线程,线程A进行dump当前界面的层级结构数据,线程B进行屏幕截图 2、从手机内导出线程生成的两个文件到电脑端 3、调用工程...

2019-01-04 11:03:22 1712 5

原创 UiautomatorViewer源码(二):持久化

不知道大家有没有尝试点击UiautomatorViewer界面中的文件夹按钮。我刚接触这个工具的时候,还比较疑惑这个文件夹按钮是什么作用的呢?打开后才发现,是个选择文件的对话框。从UiautomatorViewer源码(一):源码浅析一文中,我们知道快照一个UI界面元素需要亮部分数据。一个是当前屏幕截图,一个是dump出来的层级结构数据。那么,这个文件选择框里面的两个选择按钮,也与这两部分数据是一...

2019-01-03 16:46:41 752

原创 UiautomatorViewer源码(一):浅析

UiautomatorViewer是谷歌提供给Uiautomator脚本开发时查看和dump移动端页面数据的一个工具。这个工具可以对当前连接到PC上的手机屏幕进行一个快照,我们可以轻松的从dump出来的信息当前页面的层级关系和每个控件的属性。利用这些信息,我们可以轻松编写测试脚本。但是,有时候,这个工具有些地方不尽人意。比如在一些Android版本(9.0)上并不稳定(null root no...

2018-12-29 15:04:39 3356 5

原创 Python在pycharm工具中输出不同颜色的文字

在pycharm中,Python的print默认向屏幕输出指定的文字,一般所有的print输出都是指定一个颜色的。有时候我们需要输出不同颜色的内容的时候(例如多线程中,每个线程打印出的log颜色不一样,用于区分。又例如打印错误的log,用红色,警告的log用黄色,正常的log,用绿色),应该要怎么做呢?python中提供了一种输出格式:格式:"\033[显示方式;前景色;背景色m 需要输出...

2018-12-27 15:12:26 8878 3

原创 手机软件系统电流回归自动化测试方法

1、方法名称   手机软件系统电流回归自动化测试方法2、背景技术及现有技术方案                 图1                                                                                         图2在传统的手机软件系统电流回归自动化测试方法主要是手工测试,需要人为的操作手机,并实...

2018-12-26 10:18:58 1451

原创 Python中定时启动任务

# coding=utf-8import sys, timereload(sys)sys.setdefaultencoding('utf-8')# 固定间隔interval秒时间,执行一个方法class Loop_Run: ''' interval:间隔的时间 exec_fun:执行的方法 ''' def loop_start(self,...

2018-12-25 15:26:36 1734

原创 Python发送邮件模块(SMTP)

首先,使用SMTP实现发送邮件的话,需要先获取一个代发邮件的授权码。以163邮箱为例:登录邮箱后--点击设置--客户端授权码--开启。如图其实网上已经有很多类似的模块介绍和试用了,这边主要是想记录下自己写的一个类。调用方式简单,可以直接将py文件贴到项目中,import后直接调用,方便快捷,简单高效。# coding=utf-8import sys, os, fileinp...

2018-12-20 17:06:57 1376 2

原创 Android使用adb命令来查看手机的耗电信息

1、测试前,需要将手机的电量信息清空:adb shell "dumpsys batterystats --reset"2、获取手机的所有耗电信息:      第一步:adb shell "dumpsys batterystats &gt; /sdcard/batterystats.txt"      第二步:adb pull /sdcard/batterystats.txt D:\测试...

2018-12-20 15:00:19 6007

原创 Android应用之电量测试(PowerTutor)

一、首先来看看,官网上的一些说明吧。PowerTutor官网链接大概是说了以下几点:    a、针对google手机的应用,可以显示CPU、网络接口、显示器、GPS接收机等主要系统组件所消耗的电量。    b、APP用户可以使用它来知道他们的操作行为是如何影响电池寿命的。    c、该模型一般提供实际值5%以内的功耗估计。    d、PowerTutor的电量模型是基于...

2018-12-20 14:34:46 1128

原创 Android开发之获取手机硬件状态信息(CPU信息/频率/使用率、DDR频率/使用率、电池瞬时电流/电压/库伦counter)

有时候我们想要知道当前手机的一些状态信息,可以使用app(root 或者系统签名 )来显示获取。OK,接下来看一下一些关键的代码。我这里使用的是高通的手机,不同硬件平台的机型,其获取信息的节点可能不一样。 /** * 获取当前瞬时电流 * @return 返回获取的电流 */ public Stri...

2018-12-19 16:47:22 4591

原创 Airtest网易自动化测试工具初探(二)

上一篇网易自动化测试工具Airtest初探(一),使用了IDE界面方式开发了一条超级简单的发送信息的脚本。本篇主要是要处理一些逻辑思维稍微复杂一些的,包含一些逻辑判断,逻辑控制等。1、先了解下python的一些数据类型和基本语法(个人感觉,其实这些python基础的东西,稍微知道一下写法,应该很容易上手):     a、数据类型:i = 1 # 整形/长整形s = "string"...

2018-12-19 14:02:12 1979

原创 Airtest网易自动化测试工具初探(一)

Airtest是一款自动化测试工具,主要是基于图像和poco控件识别。该工具是由网易游戏团队自主研发的工具。主要有以下优点:1、上手简单、低门槛,仅需要了解一点点的python语法,便可以实现脚本编写和录制。2、运行日志齐全,还可以一键生成报告。3、最新版本已经支持IOS(本文章仅使用Android手机进行演示)4、Andoroid一些游戏也可以使用这个工具来进行测试。缺点...

2018-12-18 14:40:29 12099 2

原创 使用adb查看手机中包含中文的目录或者文件(中文乱码问题)。

默认情况下,我们进adb shell 查看包含中文的文件时,会出现乱码的情况,这是由于CMD命令窗口默认使用的字符集是ANSI,而Android系统(linux)中使用的是UTF-8字符,所以我们只需要切换CMD的字符集就可以了,使用命令:chcp 65001 后,按下回车,cmd命令行会变化,并调转到 Active code page:65001窗口到此,解决了adb查看设备...

2018-12-04 11:37:23 5593

原创 UiAutomator2.0的四种脱机方式

Uiautomator2.0拥有多用例需要集成测试的情况下,我们往往需要考虑如何脱机运行多用例1、手机root,并开发对应app,由app执行调起U2的多命令来实现2、取得手机rom的系统签名,并给调起命令的app进行签名后,由app执行调起U2的多命令来实现如果以上两种方式不可行的情况下,请博友们往下看:3、一个测试class集成多class中的测试方法,调起命令为一个命令,但执...

2018-09-25 14:27:04 5534 9

原创 Uiautomator2.0 启动测试命令时传参和取参

在使用Uiautomator2.0过程中,有时候因业务需求,从启动命令中获取即时参数更便于跑测试。本文提供Uiautomator2.0(以下简称U2)一个如何从启动命令中传递参数,以及在脚本中如何获取参数。 1、首先看下U2启动命令中的帮助文档提示(-e 传递的是一个类似键值对的&lt;NAME&gt;和&lt;VALUE&gt;)2、所以,我们的启动命令应该是这样:a...

2018-09-21 15:58:12 1776

原创 Python基本数据类型

1、numerics,sequences,mappings,classes,instances,and exceptions2、Numeric Types:int(包含boolean),float,complex3、int: unlimited length;float;实现用douuble in c,可查看sys.float_info.........................

2016-03-16 19:57:54 182

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除