03 2020 档案

摘要:运行测试套件生成报告时,每次都需要执行hrun命令,再加上参数,实在是不方便,这次将运行写到run.py文件中,直接运行该py文件,即可运行并生成测试报告: # -*- coding: utf-8 -*- # @Time : 2020/3/18 23:00 # @Author : benben # 阅读全文
posted @ 2020-03-18 23:00 奔奔-武 阅读(2140) 评论(0) 推荐(0)
摘要:本实例中通过获取登录接口返回的token,将token值传到获取项目列表的请求头中,实现关联参数的应用: 1、.env中定义BASE_URL、USERNAME、PASSWORD三个变量值: BASE_URL=http://127.0.0.1:8000 USERNAME=benben PASSWORD 阅读全文
posted @ 2020-03-18 22:12 奔奔-武 阅读(1646) 评论(0) 推荐(0)
摘要:还是以本地搭建的接口测试平台的登录接口为例,发送请求,生成报告,查看结果等一系列操作,代码都是经过本地调试,运行通过的: 1、api目录下的demo_api.yml代码: name: 登录接口 base_url: ${ENV(BASE_URL)} variables: username: $user 阅读全文
posted @ 2020-03-18 21:41 奔奔-武 阅读(3152) 评论(0) 推荐(1)
摘要:接上一篇文章,在case2中,设置一个variables变量,然后再用这个variables变量去进行判断,预期结果中值显示是:LazyString($变量key) 代码截图: 运行结果: 修改测试报告html,如图: 再次运行: 同样,扩展模板extend-theme-template.html中 阅读全文
posted @ 2020-03-18 19:28 奔奔-武 阅读(626) 评论(2) 推荐(0)
摘要:无论使用HttpRunner默认的报告模板,还是扩展extend-theme-template报告模板,在testcases中定义变量,第二个步骤中使用变量时,生成的报告中,第二个步骤名称中会显示类似这样的信息LazyString($title),title为定义的变量名,而未把定义的变量值显示出来 阅读全文
posted @ 2020-03-18 19:11 奔奔-武 阅读(1244) 评论(0) 推荐(0)
摘要:大家都知道HttpRunner中使用默认的报告模式,显示样式不太美观,所以会使用扩展模板,但使用扩展模板时,如果接口响应结果中有中文的话,中文字符都是Unicode编码。 如图: 解决方法为,修改模板中的标签值,去掉tojson这个过滤器,如下: 保存后,再次运行内容显示正常: 阅读全文
posted @ 2020-03-18 18:43 奔奔-武 阅读(728) 评论(0) 推荐(0)
摘要:创建项目时,默认会自动生成一个debugtalk.py文件,可以在该文件中写函数,获取接口请求中需要的数据。 本次代码中只是分别定义获取username和password的函数,用于返回登录接口中需要用的参数。 调用debugtalk.py文件中函数的方式:${函数名(参数)} 1、debugtal 阅读全文
posted @ 2020-03-17 23:27 奔奔-武 阅读(854) 评论(0) 推荐(0)
摘要:完善上一篇最原始的文章代码:https://www.cnblogs.com/benben-wu/p/12513736.html 本次将username和password放到ENV变量中,以及将base_url提取出来: 1、将username和password放到HttpRunner创建项目时自动生 阅读全文
posted @ 2020-03-17 23:12 奔奔-武 阅读(1833) 评论(0) 推荐(0)
摘要:HttpRunner在做接口测试很方便,对于python代码掌握不熟练的童鞋,HttpRunner是一个不错的选择。 附上HttpRunner中文官方文档:https://cn.httprunner.org/ 1、环境安装:pip install -i https://pypi.douban.com 阅读全文
posted @ 2020-03-17 21:48 奔奔-武 阅读(697) 评论(0) 推荐(0)
摘要:在做web自动化过程,有时会遇到文本框为只读状态,无法手动输入值,这时就需要使用js,将其readonly属性设置为false,再进行send_keys操作。 以下代码以12306购票网站为例,首先在浏览器控制台中调试js,查看日期框属性,通过修改只读属性后,再手动赋值,通过以下几行代码,可以看到已 阅读全文
posted @ 2020-03-17 15:32 奔奔-武 阅读(556) 评论(0) 推荐(0)
摘要:由于基础django中的View,不支持form表单传参,并且返回给前端的数据只能是json数据,所以本次优化,继承rest_framework中的APIView请求实例方法中的第二个参数request为rest_framework中的Request对象:request会根据请求头中的Content 阅读全文
posted @ 2020-03-15 14:24 奔奔-武 阅读(415) 评论(0) 推荐(0)
摘要:表结构: projects:项目表 interfaces:接口表,关联项目表的主键ID,在接口表中的字段为:project_id 创建接口序列化器时,关联字段project的创建可以分为以下几种情况: 1、默认为:PrimaryKeyRelatedField from rest_framework 阅读全文
posted @ 2020-03-14 21:10 奔奔-武 阅读(743) 评论(0) 推荐(0)
摘要:ModelSerializer的优点:1、不用手动写序列化输出的字段2、自动创建create和update方法代码如下: def is_unique_project_name(name): if '项目' not in name: raise serializers.ValidationError( 阅读全文
posted @ 2020-03-14 17:02 奔奔-武 阅读(591) 评论(0) 推荐(0)
摘要:serializer.py文件的优化,此阶段添加了对字段的校验以及序列化器自带的create方法和update方法: # -*- coding: utf-8 -*- # @Time : 2020/3/10 20:07 # @Author : benben # @File : serializer.p 阅读全文
posted @ 2020-03-13 23:46 奔奔-武 阅读(573) 评论(0) 推荐(0)
摘要:针对上一篇文章中的痛点,本次引入Django REST framework,使用序列化器来优化代码: 1、安装与配置: 安装:pip install -i https://pypi.douban.com/simple/ djangorestframework 配置:settings.py中注册子应用 阅读全文
posted @ 2020-03-11 21:06 奔奔-武 阅读(934) 评论(0) 推荐(0)
摘要:Demo中以创建项目为例,使用ORM实现对数据库的增删改查操作: models.py文件的代码: from django.db import models class Projects(models.Model): """创建Projects模型类 """ name = models.CharFie 阅读全文
posted @ 2020-03-10 18:22 奔奔-武 阅读(567) 评论(0) 推荐(0)
摘要:前期准备: 1、安装mysql数据库 2、安装mysqlclient插件:pip install -i https://pypi.douban.com/simple mysqlclient 3、在全局settings中设置数据库连接信息 4、创建子应用并注册子应用,demo中使用的子应用为:pers 阅读全文
posted @ 2020-03-09 21:56 奔奔-武 阅读(274) 评论(0) 推荐(0)
摘要:django项目搭建省略,这里直接记录简单的get和post请求demo: views.py代码: from django.http import HttpResponse, JsonResponse from django.views import View class Index(View): 阅读全文
posted @ 2020-03-09 17:41 奔奔-武 阅读(663) 评论(0) 推荐(0)
摘要:在pycharm中设置python脚本的文件模板,让文件创建的时候就自动写上一些相关信息: 1、进入pycharm的File->settings: 2、依次点击:Editor->File and Code Templates->Python Script: 3、填写上一下内容即可: ##!/usr/ 阅读全文
posted @ 2020-03-09 17:21 奔奔-武 阅读(760) 评论(0) 推荐(0)
摘要:使用python遍历文件夹下的子文件夹及文件,并统计出文件夹下文件的数量: 1 import os 2 count = 0 3 4 5 # 遍历文件夹 6 def walkFile(file): 7 for root, dirs, files in os.walk(file): 8 # root 表 阅读全文
posted @ 2020-03-04 18:30 奔奔-武 阅读(7877) 评论(1) 推荐(3)
摘要:背景:由于从linux上下载文件时如果大于4G,使用sz命令无法下载,所以需要将文件分卷压缩。 步骤: 1、将大文件压缩成1G的文件:cat mydata.zip | split -b 1G - mydata_20200302.zip. 其中mydata.zip为大文件名称,mydata_20200 阅读全文
posted @ 2020-03-02 23:36 奔奔-武 阅读(1541) 评论(0) 推荐(1)
摘要:使用场景: 1、从windows本机上传大于4G的压缩文件到linux服务器上时,使用rz命令是无法上传的,这时可以先在本机将文件压缩时使用分卷方式,自定义压缩文件大小,如图: 压缩完成后,会生成几个压缩文件,如图: 2、使用rz命令将压缩文件的几个文件上传到服务器指定目录下,如图: 3、使用cat 阅读全文
posted @ 2020-03-02 23:14 奔奔-武 阅读(3937) 评论(0) 推荐(1)