<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Testfan_zhou的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Testfan_zhou</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Testfan_zhou]]></copyright><item><title><![CDATA[Python四种常用的高阶函数，你会用了吗]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129981659</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129981659</guid><author>Testfan_zhou</author><pubDate>Thu, 06 Apr 2023 09:18:51 +0800</pubDate><description><![CDATA[sorted()函数也是一个高阶函数，它还可以接收一个key函数来实现自定义的排序key指定的函数将作用于list的每一个元素上，并根据key函数返回的结果进行排序。filter的第一个参数传入一个函数，第二个参数是可迭代对象，将可迭代对象里的每一个值，交给传入的函数处理，如果结果为真，就保留这个值。如果结果为假，就去掉这个值。有列表[1, 2, 3, 4, 5]，将所有元素转换成str: [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]去掉偶数，保留奇数[1,2,3,4,5,6,7,8,9]]]></description><category></category></item><item><title><![CDATA[python实现基于RPC协议的接口自动化测试]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129921616</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129921616</guid><author>Testfan_zhou</author><pubDate>Mon, 03 Apr 2023 09:34:05 +0800</pubDate><description><![CDATA[业务是积分兑换，该接口的参数是一个对象，对象类型对应后台java代码中的某个类cn.testfan.dubbo.model.ExchangeRequest，这个类对象对应的属性如下，这些属性其实就是我们的参数。相比于传统的HTTP协议，效率更高，传输占用带宽更小。注意在公司里你们的grpc服务可能并不是采用python去实现的，课上咱们为了测试grpc的接口，使用python先创建grpc的服务接口。业务是抽奖，参数有两个，都是数字，没有参数名称，按照顺序，第一个表示参与的活动id，第二个表示用户id。]]></description><category></category></item><item><title><![CDATA[Python自动化必不可少的测试框架 — pytest]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129830035</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129830035</guid><author>Testfan_zhou</author><pubDate>Wed, 29 Mar 2023 09:48:47 +0800</pubDate><description><![CDATA[Python在测试圈的应用非常广泛，特别是在自动化测试以及测试开发的领域，其中在自动化测试中我们常用的测试框架是uniitest和pytest，本文将带领大家搭建以及熟悉pytest的使用。考如果直接敲pytest执行，则会查找当前目录及其子目录下以  test_*.py  或 *_test.py 文件，找到文件后，在文件中找到以test 开头函数并执行。执行pyteststudy.py这个文件中符合pytest用例规则的所有用例，而该文件并不需要遵循pytest对于文件的命名规则。]]></description><category></category></item><item><title><![CDATA[接口测试必备技能 - 加密和签名]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129294189</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129294189</guid><author>Testfan_zhou</author><pubDate>Thu, 02 Mar 2023 09:26:10 +0800</pubDate><description><![CDATA[数字证书由来：因为公钥是公开的不安全，所以需要第三方的CA（数字证书颁发机构）对公钥进行加密，加密后的东西就叫数字证书。使用用户名，密码，时间戳和所有的排序过的参数组合起来，再加密得到的字符串，字符串是唯一的有权访问第三方金融接口的鉴权码=sign接口签名。非对称式加密：非对称式加密需要两个密钥（双钥），分别叫公钥和秘钥，这两把秘钥可以互相加解密，公钥公开的，不需要保密，私钥是保密的。”)[1]//取到url的？⑥ A用CA的公钥去解开数字证书，拿到B的公钥，在使用公钥解密密文，从而得到数据报文。]]></description><category></category></item><item><title><![CDATA[关于bug的分类和定金，终于有人讲明白了]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129235081</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129235081</guid><author>Testfan_zhou</author><pubDate>Mon, 27 Feb 2023 09:09:49 +0800</pubDate><description><![CDATA[有时候严重性高的软件缺陷，优先级不一定高，甚至不需要处理，而一些严重性低的缺陷却需要及时处理，具有较高的优先级，视具体情况而定。一般是指不满足用户需求的则可以认为是bug，狭义指软件程序的漏洞或缺陷，广义指测试工程师或用户提出的软件可改进的细节、或与需求文档存在差异的功能实现等。表示问题的修复很紧要，很急迫，关系到系统的主要功能模块能否正常使用，包括功能、数据，或者其他的一些比较着急的需求。（例如：用户所要求的功能缺失，该有的页面未实现，逻辑不通，重要图表数据未开发，等）]]></description><category></category></item><item><title><![CDATA[websocket接口自动化集成pytest测试框架]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129193850</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129193850</guid><author>Testfan_zhou</author><pubDate>Fri, 24 Feb 2023 09:18:33 +0800</pubDate><description><![CDATA[01websocket协议1、介绍WebSocket是一种在单个TCP通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455，并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单，允许服务端主动向客户端推送数据。]]></description><category></category></item><item><title><![CDATA[Cypress简易入门教程]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129154852</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129154852</guid><author>Testfan_zhou</author><pubDate>Wed, 22 Feb 2023 09:34:05 +0800</pubDate><description><![CDATA[① 安装yarn (https://yarnpkg.com/en/docs/install#windows-stable)① 安装node.js(https://nodejs.org/en/download/)，根据版本选择32位或64位。相当于unittest中的 def teardown(cls) 方法或者Junit的 @Before方法标签；相当于unittest中的def setUp(cls)方法或者Junit的@Before方法标签；it(‘策略#2:从响应头解析令牌’, function(){]]></description><category></category></item><item><title><![CDATA[学会这些Jmeter插件，才能设计出复杂性能测试场景]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129118065</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129118065</guid><author>Testfan_zhou</author><pubDate>Mon, 20 Feb 2023 09:20:17 +0800</pubDate><description><![CDATA[第2次加载200并发，延迟100sec（=30sec+10sec+60sec），加载30sec，减压10sec，持续60sec；第3次加载100并发，延迟200sec（=100sec+100sec），加载30sec，减压10sec，持续60sec；jmeter自带的线程组插件模拟的压测场景非常有限，当需要模拟复杂压测场景的时候，推荐大家使用jmeter线程组插件。第4次加载200并发，延迟300sec（=200sec+100sec），加载30sec，减压10sec，持续60sec。]]></description><category></category></item><item><title><![CDATA[Python文件的操作处理，一看就会]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129037063</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129037063</guid><author>Testfan_zhou</author><pubDate>Wed, 15 Feb 2023 09:25:27 +0800</pubDate><description><![CDATA[在读取一个文件的内容之前，需要先打开这个文件。在Python程序中可以通过内置函数open()来打开一个文件程序中，并用相关的方法读或写文件文件中的内容以供程序的处理和使用，同时可以将文件看作Python中的一种数据类型。注意：有个很像的 readlines()方法 ret = f.readlines() #返回的是一个列表，且返回的是你读取的字符所在行的整个内容，但是当数据较大时，这样的用法会很占用内存。#打开”IO.png“文件，并以二进制的方式读出，  b不能单独使用（b前的r不能省略）]]></description><category></category></item><item><title><![CDATA[别不信！掌握好这20个Linux命令常用项，可加薪30%]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129002941</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/129002941</guid><author>Testfan_zhou</author><pubDate>Mon, 13 Feb 2023 08:59:57 +0800</pubDate><description><![CDATA[玩过Linux的人都会知道，Linux中的命令的确是非常多，但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼，因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man，他会帮你解决不少的问题。然而每个人玩Linux的目的都不同，所以他们常用的命令也就差异非常大，而我主要是用Linux进行C/C++和shell程序编写的，所以常用到的命令可以就会跟一个管理Linux系统的人有所不同。因为不想在使用是总是东查西找，所以在此总结一下，方便一下以后的查看。]]></description><category></category></item><item><title><![CDATA[用了10年Postman，没想到它的Mock功能也如此强大]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128963956</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128963956</guid><author>Testfan_zhou</author><pubDate>Fri, 10 Feb 2023 09:18:07 +0800</pubDate><description><![CDATA[使用postman，前端团队和后端团队完全可以在约定了API接口之后，各自完成开发，而不需要收到对方进度的影响，因此在真正开始开发工作之前，接口、数据格式的约定变得尤为重要，当然，因为postman是支持组开发的，即便接口，数据有变化，也可通过share collection的方式，及时同步collection下request的变化，并立即反应到mock server上。集合中，有两个request：mock_r_1 和 mock_r_2，一个GET，一个POST，对应的path分别是/test，/tp。]]></description><category></category></item><item><title><![CDATA[你还搞不定前端性能测试？这里有一大波测试工具请拿走]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128929213</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128929213</guid><author>Testfan_zhou</author><pubDate>Wed, 08 Feb 2023 08:59:12 +0800</pubDate><description><![CDATA[特别在移动端，网络一直是一个很大的瓶颈，并且页面越来越大、功能越来越复杂，因此需要一套性能监控系统来持续监控、评估、预警页面性能状况、发现瓶颈，指导优化工作的进行。这些执行工具都很好使用，并且它们关注的性能点也有些不同，所以就有了将这些工具产生的数据都收集起来的工具showslow。前端性能测试的目的是计算出包含页面渲染、网络传输以及服务器端解析等综合因素在内的加载时间指标，对该页面性能进行评估分析，找出影响性能的主要因素和瓶颈，并在此基础上，给出一定的优化建议和解决方案，从而提升用户体验。]]></description><category></category></item><item><title><![CDATA[都在说测试左移和右移，只有这篇文章说明白了]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128896243</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128896243</guid><author>Testfan_zhou</author><pubDate>Mon, 06 Feb 2023 09:23:06 +0800</pubDate><description><![CDATA[对于测试左移，也需要一个重要的基础，工程习惯，SDLC成熟度，测试分层，持续集成，链路上延展发布的节奏，纵深上需要贴合业务的专精领域的深度探索，代码扫描（规范，问题，安全，异常等），CR， 代码提交行为分析，test double（mock ， fake， stub，dummy）， UT， 自动化，验收测试等。测试左移，其实就是通过一系列的活动，能提高质量的上限，缩短测试的周期，提高质量的下限，这样子，我们就可以在不断提高下限的过程中，始终将质量稳定在一个水平线上，而和团队一起追求更高的目标了。]]></description><category></category></item><item><title><![CDATA[弱网测试利器-Charles工具实战]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128826463</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128826463</guid><author>Testfan_zhou</author><pubDate>Wed, 01 Feb 2023 09:10:04 +0800</pubDate><description><![CDATA[在之后弹出的对话框中，我们可以勾选上 “Enable Throttling”，并且可以设置 Throttle Preset 的类型，如果我们只想模拟指定网站的慢速网络，可以再勾选上图中的 “Only for selected hosts” 项，然后在对话框的下半部分设置中增加指定的 hosts 项即可。这是非常有用的模拟不可靠的网络条件。稳定性是衡量一个连接的可能性是不稳定的，因此降低了质量。指定MTU不改变的可用带宽，但允许Charles在MTU分配带宽大小的块，导致在每个传输包分割的现实水平。]]></description><category></category></item><item><title><![CDATA[测试开发必知必会：Pytest框架实战]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128796912</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128796912</guid><author>Testfan_zhou</author><pubDate>Mon, 30 Jan 2023 09:31:17 +0800</pubDate><description><![CDATA[应用场景：pytest 框架可以解决我们多个测试脚本一起执行的问题。它提供了测试用例的详细失败信息，使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose，开箱即用。接下来我们详细了解下pytest框架。01安装和介绍概念：pytest 是 python 的一种单元测试框架，同自带的 Unittest 测试框架类似，相比于 Unittest 框架使用起来更简洁，效率更高。]]></description><category></category></item><item><title><![CDATA[小白必看！用JMeter+ANT进行接口自动化测试，并生成HTML测试报告]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128700764</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128700764</guid><author>Testfan_zhou</author><pubDate>Mon, 16 Jan 2023 10:01:17 +0800</pubDate><description><![CDATA[配置jmeter报告输出格式为xml，在jmeter/bin目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv为jmeter.save.saveservice.output_format=xml，并去掉前面的注释符号#2、设置测试输出报告要输出的内容，同样在jmeter.properties中，设置需要输出的内容为true，并去掉前面的注释符号#，这里全部设置成true。1、配置ANT配置ant编译文件build.xml。]]></description><category></category></item><item><title><![CDATA[Python+ Flask轻松实现Mock Server]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128639038</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128639038</guid><author>Testfan_zhou</author><pubDate>Wed, 11 Jan 2023 09:04:33 +0800</pubDate><description><![CDATA[return {"status": 200, "msg": "登录成功!data = {"status": 200, "msg": "登录成功!# 返回带有响应状态码的代码# 提取数据# 判断return {"status": 200, "msg": "登录成功fdgdsgsd!else:return {"status": 100, "msg": "用户名或密码错误!"}]]></description><category></category></item><item><title><![CDATA[基于requests框架实现接口自动化测试项目实战]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128608729</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128608729</guid><author>Testfan_zhou</author><pubDate>Mon, 09 Jan 2023 09:19:52 +0800</pubDate><description><![CDATA[requests库是一个常用的用于http请求的模块，它使用python语言编写，在当下python系列的接口自动化中应用广泛，本文将带领大家深入学习这个库，Python环境的安装就不在这里赘述了，我们直接开干。01requests的安装windows下执行如下命令：mac终端下执行如下命令：02常用方法。]]></description><category></category></item><item><title><![CDATA[使用Jmeter轻松实现AES加密测试]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128557374</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128557374</guid><author>Testfan_zhou</author><pubDate>Thu, 05 Jan 2023 09:03:26 +0800</pubDate><description><![CDATA[如下所示在JMeter的BeanShell 后置处理程序中已编写的脚本中，增加第5行调用url解码方法对应答报体做url解码处理，当然JMeter自带的urldecode函数也能实现url解码处理，第1行实现的是引入java.net包下的URLDecoder类，提供给第5行url解码方法调用，其他脚本行的注释内容详见步骤三，这里就不再赘述了。接口请求aes加密，需要获取aes加密方法，不同于解密操作步骤是步骤三，调用的是获取到的aes加密方法。经过以上步骤一、二、三操作即可实现对aes密文的解密。]]></description><category></category></item><item><title><![CDATA[Appium环境搭建及元素定位]]></title><link>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128527716</link><guid>https://blog.youkuaiyun.com/Testfan_zhou/article/details/128527716</guid><author>Testfan_zhou</author><pubDate>Tue, 03 Jan 2023 09:13:14 +0800</pubDate><description><![CDATA[将Android SDK中 platform-tools路径下的adb.exe 复制到模拟器安装路径下的bin目录替换原有的adb.exe 删除原有的nox_adb.exe,将新的adb.exe复制一份改名nox_adb.exe。Appium  Desktop是一款适用于Mac，Windows和Linux的开源应用程序，它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能。您可以使用Inspector查看应用程序的元素，获取有关它们的基本信息，并与它们进行基本的交互。]]></description><category></category></item></channel></rss>