
Python自动化
文章平均质量分 56
Python学习
adorable_
这个作者很懒,什么都没留下…
展开
-
Python string模块中Template的substitute()使用
substitute(mapping={}, /, **kwds)执行模板替换,返回一个新字符串。 mapping 为任意字典类对象,其中的键将匹配模板中的占位符。 或者你也可以提供一组关键字参数,其中的关键字即对应占位符。 当同时给出 mapping 和 kwds 并且存在重复时,则以 kwds 中的占位符为优先原创 2024-01-09 18:39:40 · 1049 阅读 · 0 评论 -
【已解决】AttributeError: ‘str‘ object has no attribute ‘items‘
报错信息:上面的问题其实很简单,意思是说str类型没有items属性,而items属性是字典的属性。此处是因为headers本应为dict,实际传入了str。修改建议:# head = 'Mozilla/5.0'head = {'User-Agent': 'Mozilla/5.0'}修改后再次运行就不再报错:...原创 2022-04-22 12:20:19 · 10849 阅读 · 1 评论 -
requests库的7个主要方法
1、requests库的7个主要方法方法说明requests.request()构造一个请求,支撑一下各方法的基础方法requests.get()获取HTML网页的主要方法,对应HTTP的GETrequests.head()获取HTML网页头的信息方法,对应HTTP的HEADrequests.post()向HTML网页提交POST请求方法,对应HTTP的POSTrequests.put()向HTML网页提交PUT请求的方法,对应HTTP的PUTr原创 2022-03-14 16:20:32 · 1866 阅读 · 0 评论 -
解决Python中requests库的session无法保存cookie的问题
当我们在使用Python的requests库做接口自动化时,我们都知道只要使用session = requests.session()就会自动保存cookie 但当我在做公司的接口自动化项目时,发现保存的cookie不生效,通过请求登录接口后打印cookie,又发现有cookie,这里就是我比较头大了o(╥﹏╥)o 查找多方资料后,终于找到了原因,原来requests只能保持 cookiejar 类型的cookie,而我们手动构建的cookie是dict类型的。所以我们需要把dict转为 coo原创 2021-11-10 11:26:52 · 3982 阅读 · 0 评论 -
Python 装饰器为什么要双层嵌套及业务场景
一个普通的装饰器写法:def log(func): def wrapper(*args, **kwargs): print('被调用的函数'.format(func.__name__)) return func(*args, **kwargs) return wrapper此时有个疑问,为什么里面要嵌套wrapper函数?原因:如果没有嵌套,实际上装饰器返回的要么是原函数的定义,要么根本不是函数,也就是说函数根本没有被装饰。即使碰巧得到了想要的结原创 2021-10-21 11:45:33 · 546 阅读 · 0 评论 -
HttpRunner 3.x使用文档
文章目录一. httprunner简介1.1 简介1.2 参考资料1.3 框架的优点二. 安装2.1 安装命令2.2 检查是否安装成功三. 录制接口请求3.1 生成pytest测试脚本:3.2 生成yml文件3.3 生成json文件四. 脚手架快速生成项目4.1 快速生成项目4.2 项目框架五. 框架结构5.1 httprunner中的三种case形式5.2 用例结构六. 测试用例-config6.1 name(必填)6.2 base_url(可选)6.3 variables(可选)6.4 verify (原创 2020-12-28 18:43:17 · 5525 阅读 · 3 评论 -
Python实现压缩文件的功能
在日常的自动化测试中,通常在测试结束需要发送测试报告给相关人员,而测试报告中涉及多个文件,那么就需要使用压缩文件夹的功能,下面是使用zip压缩方式的具体实现方法:import zipfileimport osfrom Conf.conf import FILE_PATH, DIR_NAMEfrom common.logger import GetLoggerclass ZipFile(): def __init__(self): self.logger = Ge原创 2020-12-14 00:27:04 · 373 阅读 · 1 评论 -
Python实现发送邮件的功能(进阶)
上篇文章已经介绍了利用Python发送文本消息的用法,也在文末遗留了如何发送图片和附件的问题,本章主要来回答这两个问题。本文主要包含知识点:如何发送图片如何发送普通附件问题一: 如何发送图片 def attach_picture(self, picture_path, msg): try: with open(picture_path, 'rb') as f: image = f.read()原创 2020-12-14 00:18:34 · 449 阅读 · 1 评论 -
Python实现发送邮件的功能(初级)
在我们日常的自动化测试中,可能会使用到邮件的发送功能来进行自动发送测试报告,那么如何利用Python发送邮件呢?本文主要讲述利用Python来发送邮件的一些基本操作。本文主要包含知识点:邮件发送原理简述(smtp邮箱服务器)发送文字邮件发送html邮件 我们一般发送邮件时,用到的代理有outlook,qq邮箱,网易邮箱等,不管用什么代理,你都需要登录你的邮箱,而这个邮箱就是在各大邮箱服务器上开辟的一部分空间,用来接收、发送和存储你的邮件信息。 说到邮件发送,不得不了解一下SMTP(S原创 2020-12-13 23:40:43 · 1960 阅读 · 0 评论 -
Python读取测试数据文件
在日常测试过程中,经常遇到需要读取测试数据文件,这边就涉及到一个文件读取的方法。这篇文章主要以Python读取文件的基础方法为本,包括读取Excel文件、yaml文件、CSV文件。下面是具体实现方式:import openpyxlimport yamlimport csvfrom Conf.conf import DIR_NAMEfrom common.logger import GetLoggerlogger = GetLogger().get_logger()class ReadD原创 2020-12-13 23:09:09 · 648 阅读 · 0 评论 -
httprunner框架之最全思维导图+基本实现方式
思维导图最简单的测试用例1、如果不知道如何去写单独api的自动化脚本,那么可以通过录制功能去实现,首先需要下载pip install har2case然后通过fiddler去抓取对应的接口,选中对应的接口,然后导出成HTTPArchive v1.2:转换成json文件:转换成yml文件:运行测试用例:2、创建httprunner项目(1)创建项目在某个目录下:(2)validata底层代码:(3)修改html报告配置文件,使断言中使用变量可以成功显示:httprun.原创 2020-12-07 19:31:27 · 1127 阅读 · 2 评论 -
使用python和moco框架搭建接口mock服务
Mock服务的作用 现今的业务系统很少有孤立存在的,它们或多或少需要使用兄弟团队或是其他公司提供的服务,给我们的联调和测试造成了麻烦。对于这种情况,我们常见的解决方案是搭建一个临时的server,模拟那些服务,提供数据进行联调和测试。这就是 mock server 出现原因。应用场景在前后端分离的项目中,假如后端代码还未开发完,前端代码需要调用后端接口进行调试,该怎么办?本公司的电商平台需要对接第三方支付接口,如何测试支付失败的场景?接口测试中Mock的用处客户端/前端开发联.原创 2020-12-02 16:57:43 · 1436 阅读 · 1 评论 -
安装Flask库失败,ERROR: Could not find a version that satisfies the requirement falsk的解决方法
在终端直接使用pip install flask的时候会报错:解决方法是使用豆瓣源即可,pip install flask -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com原创 2020-11-30 19:43:24 · 6352 阅读 · 1 评论 -
GET和POST请求的区别详解
官方回答GET和POST是HTTP请求的两种基本方法,最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数.原创 2020-11-24 14:02:40 · 1096 阅读 · 0 评论 -
测试阶段常见的HTTP状态码(HTTP Status Code)
1xx — 信息提示这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。100 (Continue) 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)101 (Switching Protocols) 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)2xx — 请求成功这类状态代码表明服务器成功地接受了客户端请求。200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。20.原创 2020-11-23 16:00:33 · 531 阅读 · 0 评论 -
Jmeter和Postman测试工具的区别
区别一:用例组织方式不同的目录结构与组织方式代表不同工具的测试思想,学习一个测试工具应该首先了解其组织方式。Jmeter的组织方式相对比较扁平,它首先没有WorkSpace(工作空间)的概念,直接是TestPlan(测试计划),TestPlan(测试计划)下创建的Threads Group(线程组)就相当于TestCase(测试用例),并没有TestSuite(测试套件)的层级。TheadsGroup(线程组)中的Sampler(取样器)、管理器代表一个Step(测试步骤)Postman功能上更.原创 2020-11-23 00:01:38 · 11384 阅读 · 1 评论 -
接口测试基础思维导图
接口测试基础思维导图涵盖接口测试基础和Postman进行接口测试的一些知识。原创 2020-11-19 20:06:22 · 1157 阅读 · 0 评论 -
Python知识思维导图-补充
Python知识思维导图-补充本张思维导图是对上一张的补充,上一张请点击Python知识思维导图。原创 2020-11-17 21:24:12 · 236 阅读 · 0 评论 -
Python中浮点型(float)计算不精确原因探究
一、问题说明 在Python中定义两个浮点型进行计算,会发现某些时候计算并不准确。如下图的代码,并没有得到预期的0.3,而是一个无限接近0.3的数值。为什么会出现这种情况呢?二、问题原因 查阅各方资料得知,由于所有数据在计算机中都是以0和1形式存储的,在机器字长有限的情况下,浮点型的精度也是有限的。浮点型在计算机中的存储一般遵从IEEE 754标准。IEEE 754标准: IEEE 754标准规定浮点数的存储包括三部分,分别为“数符”(表示数值正负)、“阶码”和“尾数”。(类似于.原创 2020-11-09 15:35:05 · 7752 阅读 · 0 评论 -
Python知识思维导图
Python知识思维导图本张思维导图涵盖变量、数据类型、程序结构、函数、文件操作等知识,满足自动化测试需求。原创 2020-11-04 15:20:01 · 387 阅读 · 0 评论