自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yuan_ahui的博客

fighting!!!

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Charles抓包数据导入Postman

Body可根据测试要求,自行修改相关参数。3、查看Header和Body。4、点击Send发送请求。

2023-04-13 18:08:20 1051

原创 Charles模拟弱网测试

Throttle Preset里可以选择预设值,也可以手动设置,一般主要设置带宽(Bandwidth)和 Stability(稳定率)MTU:最大传输单元,即 TCP 包最大的 size ,真实模拟 TCP 层,每次传输的分包情况。2、勾选Enable Throttling,就可以设置我们想要模拟的网络了。3、这个小乌龟是绿色的,就是已经开始了,可以直接点击小乌龟关闭。Bandwidth:带宽,代表上行(请求)和下行(响应)速度。不稳定的质量范围为20%至25%4、模拟不太好的2G蜂窝网络。

2023-03-06 16:06:36 992

原创 测试用例设计方法

具有输入功能,但输入之间没有组合关系---等价类。输入有边界 例如长度等,类型有限制时---边界值。多输入,多输出,输入和输出之间存在关系,输入和输出存在依赖关系---判定表,因果图。用最少的测试用来来获得最大的测试用例覆盖率---正交法。多个功能的组合测试---场景法。

2022-10-16 17:34:09 401

原创 Appium框架原理和工作流程

(3)Appium客户端:它主要是指实现了Appium功能的WebDriver协议的客户端Library,它负责与Appium服务器建立连接,并将测试脚本的指令发送到Appium服务器。Appium的测试是在这些Library的基础上进行开发的。Appium服务器的主要功能是接受从Appium客户端发起的连接,监听从客户端发送来的命令,将命令发送给bootstrap.jar(iOS手机为bootstrap.js)执行,并将命令的执行结果通过HTTP应答反馈给Appium客户端。

2022-10-14 20:53:19 840

原创 Postman中的断言方式

转json格式,检查value属性值为100。pm.expect(pm.response.text()).to.include("自定义指定字符串");pm.response.to.have.body("指定的字符串");

2022-10-12 17:30:59 1404

原创 Locust简介与使用教程

Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)。不需要编写笨重的UI或者臃肿的XML代码,基于协程而不是回调,脚本编写简单易读;有一个基于we简洁的HTML+JS的UI用户界面,可以实时显示相关的测试结果;支持分布式测试,用户界面基于网络,因此具有跨平台且易于扩展的特点;所有繁琐的I/O和协同程序都被委托给gevent,替代其他工具的局限性............

2022-08-10 19:06:07 6078

原创 音视频技术基础知识

一、音视频基本原理1、音视频的主要处理过程:[1]. 采集。比如从客户端的摄像头、麦克风和本地原始文件等,获得基础的音视频数据;[2]. 预处理。在这个阶段其实就是对音视频进行修剪操作,毕竟收集到的原始数据,不一定是想要在最后呈现的效果,因此在这里可能会进行美颜、裁剪、AI识别处理、声音A3处理等;[3]. 编码。在经过预处理或者没处理过的原始文件,一般都会比较大,不适合进行传输,这个时候就需要进行压缩、转码之类的操作,减 少文件提交,然后再进行传输,执行编码的工具叫编码器,压缩数据的算法叫做编码格式;[4

2022-08-08 17:50:31 7662

原创 音视频编码格式与封装格式

封装相当于一种储存视频信息的容器,我们所看的视频包含音频和视频两个部分(有时还包括字幕),H.264等是视频编码,AAC、MP3等是音频编码,我们把用H.264视频编码和MP3音频编码按照mkv的封装标准封装起来,这样我们看到的就是mkv格式的视频文件。我们所看的视频包含音频和视频两个部分(有时还包括字幕),H.264等是视频编码,AAC、MP3等是音频编码,我们把用H.264视频编码和MP3音频编码按照mkv的封装标准封装起来,这样我们看到的就是mkv格式的视频文件。另一个是MPEG系列。......

2022-08-08 17:39:17 1913

原创 Python--抽奖概率统计测试

背景:有个抽奖相关的需求,其中给定虚拟奖品的概率是95%,实物奖品的概率是5%,实物中又有很多价值不等的礼物,概率也不一样。想着写个脚本,把抽到的奖品记录下来,然后计算整体的抽奖概率。2、接口中的rewardType,rewardName字段表示奖品的id和名称,其中rewardType...

2022-08-05 14:45:01 2430

原创 Python--统计字符串每个字符出现的次数,并按出现次数从小到大排序打印出来

基本语法格式:sorted(iterable, cmp=None, key=None, reverse=False)1、循环遍历列表或字符串,如果不在则创建(key,value),如果字符在字典中则值加1。该函数的作用是获取对象的某个/些维度的数据,默认将对象的维度看为1维。2、operator.itemgetter函数。2、再用sorted函数排序。......

2022-08-03 17:38:23 7652

原创 Python--推导式(列表、字典、集合、元祖)

元组推导式和列表推导式的用法也完全相同,只是元组推导式是用 () 圆括号将各部分括起来,而列表推导式用的是中括号 [],另外元组推导式返回的结果是一个生成器对象。元组推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组。[表达式 for 变量 in 列表 if 条件]4、元祖推导式(生成器表达式)...

2022-08-02 19:19:44 209

原创 Python--操作MySQL数据库

4、操作流程使用connect()打开数据库连接--使用cursor()获取游标--使用execute()执行sql语句--使用close()关闭数据库连接。注意增删改操作时,执行完sql语句后,需要提交到数据库执行使用commit()1、先在本地数据库新建连接,创建一个数据库名叫mysql。2、在mysql数据库中,新建一个表叫student。3、然后根据主机名、用户名、密码、数据库名进行连接。.........

2022-07-30 16:27:53 173

原创 Python--字典中的函数与方法

删除字典中key的值,返回被删除的值。创建一个新字典,seq作为键,value为字典所有键的初始值(默认为None)返回键值对的可迭代对象,使用list可转换为[(键,值)]形式。返回指定的键的值,如果键不存在,则返会default的值。返回一个可迭代对象,使用list转换为字典中值的列表。随机返回一个键值对(通常为最后一个),并删除最后一个键值对。如果键不存在于字典中,则设置为default值。如果键存在于字典中,则不修改键的值。返回键的个数,即字典的长度。......

2022-07-30 16:19:57 2686 1

原创 Python--list中的函数与方法

list.sort(cmp=None,key=None,reverse=False),对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。key主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。python列表函数len(),max(),min(),list(),cmp()在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。...

2022-07-30 15:54:49 2194

原创 Python--找出字符串中出现次数最多的字符及其出现的次数

1、循环遍历列表或字符串,如果字符在字典中则值加1,如果不在则创建(key,value)1、用字典键不能重复的特点,就可以除去重复的字符,把字符转挨个填入字典中。3、根据最大的value值,找对应的key值,打印出出现次数最多的字符。2、用列表方便取值的特点,把字典中的元素添加到列表中。4、返回第一个字符,就是要找的次数最多的字符。3、冒泡排序,把出现次数最多的字符放到第一。2、找到字典中,最大的value值。.........

2022-07-28 15:53:28 20557 2

原创 启动Jenkins时报错,localhost拒绝了我们的连接请求

意思是说java的版本不行,因为我安装的最新版本18,看了一下支持的版本,支持Java8或11,我就重新去下了一个java11(心累)3、重新下载完后,再去任务管理器把Jenkins启动起来,这时能启动成功了(在第一步的时候,也这样启动过,是报错的)2、然后找到Jenkins目录下的error的信息文件,文件名叫jenkins.err.log。1、重新启动Jenkins,cmd下输入netstartjenkins。打开Jenkins的时候报错,提示localhost拒绝了我们的连接请求。......

2022-07-23 18:26:00 6131 1

原创 MySQL查询

3.统计每个学生的总成绩(由于学生可能有重复名字),显示字段学生id,姓名,总成绩。5.列出各门课程成绩最好的2位学生,要求显示字段学号,姓名,科目,成绩。4.列出各门课程成绩最好的学生,要求显示字段学号,姓名,科目,成绩。8.列出数学成绩前3名的学生(要求显示字段学号,姓名,科目,成绩)6.计算每个人的平均成绩,要求显示字段学号,姓名,平均成绩。9.统计英语课程少于80分的,显示学号id,姓名,科目,分数。7.列出各门课程的平均成绩,要求显示字段课程,平均成绩。......

2022-07-19 17:55:55 9971

原创 python接口自动化(5)——unittest+HTMLTestRunner生成测试报告

第631行,将print>>sys.stderr,'\nTimeElapsed%s'%(self.stopTime-self.startTime)修改成print(sys.stderr,'\nTimeElapsed%s'%(self.stopTime-self.startTime))1、创建一个HTMLTestRunner.py的文件,把官网里的代码copy放入文件当中,再把这个文件放入python安装路径的Lib文件里面。修改完后,按第二步的方法再试一下,就不会报错了。......

2022-07-17 16:35:55 1078

原创 python接口自动化(4)——unittest的使用

2、整个测试只会执行一次的类方法setUpClass、tearDownClass用@classmethod注解。3、每个方法之前都会执行一次的方法setUp、tearDown。二、unittest与request重构封装。1、所有case都得以test开头。一、unittest的简单使用。...

2022-07-16 18:55:53 241

原创 python接口自动化(3)——requests发送post、get请求

json.dumps(res,indent=2,sort_keys=True),这个是将数据转换成json的格式。可以看下不转换的时候,是这样的,现在看着差别不大,返回的数据很多时,就难以查阅。安装requestspipinstallrequests。indent是前面空2格,sort_keys是将key升序排列。(这里的测试接口是上一篇中我们自己开发的接口,可以参考一下)三、看下request请求使用类封装整体的代码。二、将数据转成json格式。这是转了json格式的数据。...

2022-07-16 18:46:54 1217

原创 python接口自动化(2)——Django开发post接口、get接口

1、Django开发post接口在templates文件下创建一个html文件,在views文件下处理在提交表单时,报错:CSRF verification failed. Request aborted.解决:注释掉settings文件下MIDDLEWARE里的'django.middleware.csrf.CsrfViewMiddleware'序列化处理,让返回的数据为json2、Django开发get接口多个参数时,序列化处理,让返回的数据为json......

2022-07-10 18:45:55 2416 3

原创 python接口自动化(1)——环境搭建&创建Django项目

1、安装Djangopip install django用Pycharm的话,需要用专业版的Pycharm,社区版的Pycharm不能创建Django项目2、创建Django项目新建一个Django工程配置启动Django服务 manage-Edit Configurations新建url映射1、在urls文件下建立映射2、在views文件下写内容就能跑成功了...

2022-07-10 18:44:19 190

原创 Java并发常见面试题

 synchronized 和volatile 关键字的作用volatile 本质是在告诉jvm 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;volatile 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。2)禁止进行指令重排序。synchronized 则是锁定当前变量,只有当前线程可以访问该变量,其他...

2018-08-26 11:11:24 380 1

原创 安装LR11中Microsoft Visual c++2005 sp1报错

安装LoadRunner11 时,安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息1、进入loadrunner-11\Additional Components\IDE Add-Ins\MS Visual Studio .NET 2、安装:LRVS2005IDEAddInSetup.exe3、再安装loadrunne...

2018-05-28 12:06:18 4789 8

原创 TabLayout+ViewPager Fragment 实现导航栏的切换,图片可更换颜色

    先上图,看看是不是你们想要的效果看了一堆的TabLayout的详解,里面都是实现最基本的TabLayout+ViewPager(只能有文字,没有图片的那种),最后参考各种文档,终于写出来了,本人菜鸟一枚,代码会尽可能的详细,适合新手哦如果你遇到了问题,可以先看一下文章的最后,是否和我的问题是一样的,可以快速解决哦1.首先创建的是MainActivity.clas...

2018-03-23 20:25:57 1508 3

原创 解析微信精选——ListView点击后加载文章

1.在listview点击文章标题的时候,可用Intent向下一个活动传值 (在解析json数据的时候将标题和文章的url保存起来)public class SecondFragment extends Fragment { private ListView listView; private List<WeChat> mList = new ArrayList&lt...

2018-03-12 18:51:43 261

TabLayout+ViewPager实现导航栏,图片可颜色切换

TabLayout+ViewPager和Fragment实现导航栏,自定义tab,文字加图片,实现图片颜色的切换

2018-03-23

空空如也

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

TA关注的人

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