自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 收藏
  • 关注

原创 Mac module ‘brotli‘ has no attribute ‘Error‘

今天运行脚本的时候突然包了这个错,不是安装brotli,安装python版本brotlipypip3 install brotlipy

2021-12-03 16:24:08 994

原创 HTML中的{{}}用法

将传过来的参数用{{}}接受,不管是在字符串中还是文本中,都会将{{}}中的变量的值输出来,例如<a href="/node/csv?page={{c_page.next_page_number}}">上一页</a>*注意:HTML中不能用()+-*/等

2021-08-25 11:36:55 5928

原创 if __name__ == ‘__main__‘下面的代码没有执行(unittest)

1、 今天用unittest框架做接口测试的时候,发现if __name__ == '__main__':下面的代码并没有执行,与事后我就开始百度,发现出现这类问题的原因是unittest运行姿势造成的2、原因: 后来发现,之前所执行代码对应的方式是Run 'Unittests in xxx.py',PyCharm默认执行Unittests类的单元测试,忽略了if __name__ == '__main__':的执行,也就没有执行整个xxx.py文件3、解决办法在PyCharm顶部的工具栏上,

2021-06-30 20:47:24 929 2

原创 Python3生成 HTMLTestRunner报告

一、自动化测试结果以HTML测试报告就是执行完测试用例后以HTML(网页)方式将执行结果生成报告。二、如何生成HTML报告? 1、首先要下载HTMLTestRunner.py文件 下载地址http://tungwaiyip.info/software/HTMLTestRunner.html   右键单击保存至本地 2、将HTMLTestRunner.py放在Python文件下,才可以生成报告,这里说一下pycharm下放置该文件。在pychar...

2021-06-30 20:36:34 558 2

原创 ddt.file_data方法处理yaml或者json

一、ddt.file_data介绍 ddt.file_data:装饰测试方法,参数是文件名。文件可以是 json 或者 yaml 类型。 注意:如果文件是以 “.yml”或者".yaml" 结尾,ddt 会作为 yaml 类型处理,其他文件都会作为 json 文件处理。   如果文件是列表,列表的值会作为测试用例参数,同时,会作为测试用例方法名后缀显示。     如果文件是字典,字典的 key 会作为测试用例方法的后缀显示,字典的 value 会作为测试用例参数...

2021-03-23 14:37:18 2444

原创 Python with open()打开文件用法

读文件:要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:>>> f = open('E:\python\python\test.txt', 'r')标示符'r'表示读,这样,我们就成功地打开了一个文件。如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在: f=open('E:\python\python\notfound.txt', 'r') .

2021-03-23 11:19:16 1395

原创 Python内存分配

目录一、前言 二、动态类型 三、内存分配 3.1 引用计数 3.2 增加引用计数 3.3 减少引用计数 四、垃圾收集一、前言  大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++和java,允许“随时随地”声明变量,比如,变量声明可以在代码块的中间,不过仍然必须在变量被使用前声明变量的名字和类型。在Python中,无序此类显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量.

2021-03-17 11:06:46 254

原创 decode和encode的区别和介绍

decode和encode的区别和介绍by.decode(encoding='UTF-8',errors='strict')str.encode(encoding='UTF-8',errors='strict')显而易见decode是解码,encode是编码 解码代表bytes类型转成str类型 编码代表str类型转成bytes类型 而bytes类型的数据一般在写入文件时需要用到 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -...

2021-03-11 09:55:33 1495

原创 Python查看上一级目录

"""获取当前目录"""print(os.getcwd())print(os.path.abspath(os.path.dirname(__file__)))"""获取上一级目录"""print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))print(os.path.abspath(os.path.dirname(os.getcwd())))print(os.path.abspath(os.path.join(os.g.

2021-03-04 15:49:44 171 1

原创 reuqest-toolbet库生成multipart/form-data格式数据(Python)

背景 我们的后台可能都会涉及到一些图片呀、视频、语音等资源的上传,Reuqests是不支持的,但是有个第三方库会支持哦,那就是request-toolbet库 首先,当然要安装第三方库,安装代码pip install requests-toolbelt查看是否安装成功,这个我没有找到比较好的查询方式,直接查看的pip安装的列表pip list 注意:因为我用的是pycharm,pip安装成功后,在pycharm里面直接导入并不能用哦,你要在pychar...

2021-03-03 17:02:04 451 1

原创 Python如何处理.netrc配置文件

什么是.netrc文件 .netrc是个用户bai配置脚本文件,居du体用法zhi如下: 1.default login <loginname> password <password> 设置登陆站点dao的用户名和密zhuan码 2.binary(asc) 设置文件传输格式shu 3.runique 防止本机和远程同名的文件被覆盖。 4.prompt off 关闭提示。当使用mget时,总是有很多的提示,用...

2021-02-24 10:20:14 626

转载 HTTP协议是什么?

什么是HTTP协议什么是Http协议Http协议即超文本传送协议 (HTTP-Hypertext transfer protocol) 。它定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。并且详细的规定了客户端浏览器与服务器之间互相通信的规则。客户端与服务器端在Http协议下的交互

2021-02-23 13:28:31 880

原创 Python-面向对象和面向过程的理解

面向对象:面向对象就是构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向过程:面向过程不同于面向对象,面向过程分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向过程:     优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。    缺点:没有面向对象易维护、易

2020-12-28 18:00:28 166

原创 appium 环境搭建

appium 安装所需要的环境安装node appium的运行是要依赖node的,所以要安装node 1. 首先安装一下homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2. 用brew 安装nodebrew install node 查看是否安装...

2020-11-26 11:46:45 148

原创 Python zip()用法总结

一、zip(*iterables)函数详解1、zip()函数的定义从参数中的多个迭代器取元素组合成一个新的迭代器 返回:一个zip对象,其内部元素为元组;可以转化成列表或元组 传入参数:元组、列表、字典等迭代器2、zip()函数的用法当zip()函数中只有一个参数时,zip(iterable)从迭代器中依次取一个元组,组成一个元组。当zip()函数有两个参数时,zip(a,...

2020-04-21 18:15:03 1706

原创 Charles breakpoint打断点失败(想破头)

最近想利用breakpoint打断点,但是设置了breakpoint成功了就是不能拦截请求(相信很你也遇到这个问题了,o(╥﹏╥)o),但是没有百度到答案,最后问了有经验的同时,在这里想总结一下 原因:是因为URL中含有变化的参数,在打断点的时候,把参数去掉就可以啦,教程图如下 1、右键想要连接的接口,点击Breakpoint,待其被打上对号,说明就设置成功了(这里截不了图,生气啊)点击...

2020-04-16 18:25:12 1968

原创 Python中@修饰符的使用

定义:@是修饰符,后面跟定义好的函数,用来修饰其他函数 作用:已被修饰的函数为参数,返回修饰函数的运行结果 注意:运行时遇见@修饰符,就会调用函数 创建函数修饰符的规则: (1)修饰符是一个函数 (2)修饰符取被修饰函数为参数 (3)修饰符返回一个新函数 (4)修饰符维护被维护函数的签名 ...

2020-03-16 15:47:58 293

原创 SDK

一、SDK是什么客户端SDK(Software Development Kit)是为第三方开发者提供的软件工具包。现实中开发的SDK更多的是Second Development Kit,这类SDK其实就是把每个应用接入相同功能都要做一遍的工作抽离出来,然后提供给别人使用的公共组件。他最大的价值都是代码复用和降低工作的复杂度、理解成本。二、SDK测什么客户端SDK测试,就是对提供给开...

2020-03-09 14:51:29 815

原创 视频播放器测试点梳理

功能点 视频资源可以正常获取,不管是服务器返回还是后台添加等 视频的封面图、页面UI等正常 视频时长加载的正确 暂停:点击屏幕、点击暂停按钮 恢复暂停:点击屏幕、点击暂停按钮,视频接着播放 快进:点击进度条、视频右划快进 后退:点击进度条、视频左划快进 亮度调节:视频区域上划、下划 声音调节:按键调节、视频区域上划、下划调节、静音 视频最大化、最小化 屏幕旋转: 横竖屏 ...

2020-03-05 16:19:15 1391

原创 URL schema 存在的意义

1、URL schema:App的URL Scheme就如同网页的url链接一样,可以打开App或跳转到相应的页面。但是大部分APP没有公开自己的URL Scheme。2、URL Scheme的作用我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设...

2020-02-27 11:37:52 1135

原创 webview浅谈

1、Webview含义:WebView也就是我们熟悉的“网络视图”,能加载并显示网页,可以将其视为一个浏览器。主要用于展示网络请求后的内容,就是将网络地址请求的内容展示在里面。2、思考一个问题 : 为什么要使用WebView ?有两个好处: 兼容已有的项目,可以动态更新3、由此又引出一个问题:既然WebView 这么好用, 为什么还要原生开发?原因: 1 耗电量 ...

2020-02-27 11:36:04 390

原创 APP升级测试

移动端版本更新升级是一个比较重要的功能点,主要分为强制更新和非强制更新。1.强制更新需要测试的点有:1)强制升级是否可以升级成功从老版本的包升级到新版版的包是否可以升级成功。2)升级后的数据是否正常查看老账户升级后是否可以正常使用查看老账户升级后的老数据是否丢失或异常检查新功能替换老功能 是否按最新的逻辑执行检查旧版本上去掉或者隐藏的功能 对新版本有没有影响3)...

2020-02-21 16:58:51 419

转载 APP性能测试点

在移动互联网快速的发展的情况下,用户也变得越来越关心应用的体验,开发者也必须关注应用性能所带来的用户流失问题。据统计,有十种应用性能问题危害最大,分别为:连接超时、闪退、卡顿、崩溃、黑白屏、网络劫持、交互性能差、CPU 使用率问题、内存泄露、不良接口。而性能监控 SDK 的定位能帮助开发团队快速精确地定位性能问题,进而推动应用的性能和用户体验的提升。普遍测试分为以下几类: 1.响应(冷启动、...

2020-02-18 11:02:53 425

原创 APP推送测试点总结

push专项测试 覆盖的系统 覆盖的机型 到达率(即时?定时?) 覆盖哪些模块的push? IM/秘邮消息push 应用通知的push 内容展示 显示几行 标点符号显示 时间显示 APP icon显示是否正常 push推送的场景 手机是否设置开启消息通知栏(开启/关闭) APP是否运行/锁屏,是否有推送消息/是否可点击查看 App前台运行 App前台运行-锁屏-...

2020-02-17 21:14:24 1463

原创 APP测试-头像测试点

1,点击头像可以放大观看2,查看头像是否支持放大,缩小3,刚创建账号时是否显示默认头像4,查看头像之后点击其它区域自动退出5,头像支持的图片格式,图片大小6,支持相机拍摄的图片和从网上下载的图片7,选择完图片后是否有一个定框8,选择相片—从手机相册获取9,选择相片—用照相机拍照10,头像显示的是方形还是圆形11,选择图片范围时图片是否支持放大/缩小12,...

2020-02-17 18:09:20 3867

原创 APP测试点整理

1.1安装与卸载测试1)软件安装后是否可以正常运行2)安装过程中是否可以取消3)安装空间不足时是否有相应提示4)是否可以卸载应用(可通过桌面卸载,也可以通过软件卸载安装。曾发现在ios手机上有个应用安装时未完全安装,终止安装后,未完成安装的应用图标一直显示在手机上,并且无法成功删除)5)卸载是否支持取消功能额,单击取消后软件卸载功能是否正常---不可逆6)卸载后文件是否全部...

2020-02-14 16:29:25 391

原创 什么是进程、什么是线程、如何查询进程ID、如何查询线程ID

进程和线程的定义 进程:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。 线程:线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的...

2020-01-17 16:58:15 399

原创 Charles修改返回参数

有时候刚准备开始测试的时候会发现已经有很多测试数据了,有不能删除,这样就会影响对界面布局的测试,所以这个时候我们要自己修改下返回参数,实现自己想要的数据。第一种方法,用Charles打断点(breakpoints) 选择你修改返回结果所在的请求,右键,再新弹窗中选择”Breakpoints“,点击一下,如下图 点击后,重新请求下接口,你会进入如图所在的页面,点击1会进入返...

2019-12-05 18:59:03 1711

原创 Python中@property和@*.setter装饰器的详细用法

该装饰器允许你对已用@property装饰的属性(函数)赋值:需要注意的是,setter装饰器必须在property的后面,且两个被修饰的属性(函数)名称必须保持一致。注意啦:@property是把一个函数变成属性,*.setter是给@property修饰的函数赋值,这两个装饰器修饰的函数名是一样的。...

2019-11-27 10:01:59 497

原创 session、cookies、tonken三者的定义

session 什么是session:session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。(存储在服务端,如果过多的话会产生服务端性能问题)在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失...

2019-11-26 16:51:22 926

原创 homebrew安装简介Mac

简介:Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。1、官网复制命令 官网地址:https://brew.sh/2、打开终端,粘贴命令3、复制过程中需要输入你的电脑密码或者是enter,根据提示操作就可以啦4、当出现...

2019-10-29 14:34:36 136

原创 如何破译Charles

1、先下载Charles: 官网下载:http://www.charlesproxy.com/2、下载破译版本的Charles.jar包 破译地址:https://www.zzzmode.com/mytools/charles/ 填写工具名称和版本信息点击生成就可以啦3、找到Charles所在的Java包中替换Charles.jar包,这里直说Mac版本呢 ...

2019-10-29 14:19:06 176

原创 adb 查看指定APP日志

前面大概学习了adb基础,但是adb的存在,在测试人员中究竟有什么必要,以及看log时,那么多的log,让我们看个屁啊,所以这一次,我决定一定要把adb这件事情搞清楚。1.先来看最感兴趣的adb日志首先来了解一共概念,安卓的日志有那些:Android 系统的日志分为两部分,底层的 Linux 内核日志输出到 /proc/kmsg,Android 的日志输出到 /dev/log。一般我们...

2019-10-08 19:02:43 26929

原创 工作中常用的linux命令

cd :进入文件 ls 查看文件夹中内容 top:查看系统资源占用情况 top -H查找cpu使用率较高的线程 日志查询: 尾部日志 tail -n 20 filename (显示filename最后20行) tail -n +5filename (从第5行开始显示文件) tail -f filename :查看日志默认10行 头部日志: head -n 10 /etc/pr...

2019-09-18 19:39:15 107

原创 测试提升学习资料整合

软件测试相关面试: 遇见什么困难:https://blog.csdn.net/weixin_33725722/article/details/94479140 为什么喜欢测试:https://www.jianshu.com/p/d586a8ac3c7c Python: 比较全而且比肩简单易懂:http://c.biancheng.net/view/2684.html 廖雪峰的:https...

2019-09-15 23:06:23 137

原创 Python的subprocess模块

目录一、简介 二、旧有模块的使用 1.os.system() 2. os.popen() 三、subprocess模块 1、subprocess.run() 2、subprocess.call() 3、subprocess.check_call() 4、subprocess.getstatusoutput() 5、subprocess.getoutput() ...

2019-09-15 15:36:59 509

原创 Python算法面试题

有一组“+”和“-”符号,要求将“+”排到左边,“-”排到右边,写出具体的实现方法。 开始是想到从头循环到尾部,遇到“-”就移动到尾部,将尾部的数据跟首位的数据交换。不过面试官提醒了下说如果起始和结束都是“-”呢?一想吧,确实是的,那就死循环了,后来再仔细想了下,这个得头部和尾部一起移位才行,一直到整组字符串检查完成即可。 def mysort(s): l = len(s) ...

2019-09-15 12:04:10 164

原创 Python面试题

1、一行代码实现1--100之和利用sum()函数求和2、如何在一个函数内部修改全局变量函数内部global声明 修改全局变量3、列出5个python标准库os:提供了不少与操作系统相关联的函数sys: 通常用于命令行参数re: 正则匹配math: 数学运算datetime:处理日期时间4、字典如何删除键和合并两个字典d...

2019-09-14 23:44:45 3420

原创 Python面试整理

首先介绍下with 工作原理 (1)紧跟with后面的语句被求值后,返回对象的“__enter__()”方法被调用,这个方法的返回值将被赋值给as后面的变量; (2)当with后面的代码块全部被执行完之后,将调用前面返回对象的“__exit__()”方法。 什么是负索引 与正索引不同,负索引是从右边开始检索。 怎么将列表中的顺序打乱 我们用 random 包中的 shuffle() 函...

2019-09-14 23:14:22 65

原创 MySQL主外键定义

一、SQL语句创建数据表并设置主外键关系 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 create table demo.ChineseCharInfo...

2019-09-14 12:41:58 254

空空如也

空空如也

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

TA关注的人

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