自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件测试必问必背面试题

软件测试必问必背面试题01 软件测试理论部分1.1 测试概念1. 请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码集成测试:通过测试发现与模块接口有关的问题系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性验收测试:这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。验收测试包括Al

2020-10-30 22:16:29 216610 34

原创 移动端自动化测试基础

01 app操作api1. 1ADB命令:adb --help 查看帮助文档adb start-server 启动服务adb kill-server 关闭服务adb devices 获取设备号adb shell getprop ro.build.version.release 获取版本号adb push 电脑端文件路径/需要发送的文件路径 手机存储的路径 向手机端发送文件adb pull 手机端路径/拉取文件名 电脑端存储文件的路径adb logcat 查看日志获取app启动名mac

2020-10-30 22:03:24 931

原创 app自动遍历测试

android monkey遍历自动测试1. monkey命令adb shell monkey -help 查看帮助命令adb shell monkey n 对所有包随机操作adb shell monkey -p com.android.settings n 对指定包adb shell monkey -p com.android.settings -s 20 80 时间种子adb shell monkey -p com.android.settings -vv 20 80详细日志时间延迟(5

2020-10-30 21:41:26 1509

原创 charles抓包工具使用

01 charles简介1 charles定义基于htttp协议的代理服务器,跨平台、半免费(运行半小时退出)2 charles 工作原理安装流程:前置步骤运行charles并配置代理在客户端上需要配置代理步骤由客户端发送请求charles接收在发送给服务端服务端返回请求结果给charles由charles转发给客户端3 charles能做什么支持http及https代理流量控制支持接口并发请求重发网络请求断点调试4. charles优点支持l

2020-10-30 19:23:32 620

原创 界面用例设计分析点

文本框和密码框:文本框长度要求;输入内容限制;密码框(右边小眼睛):长度要求(前台控制、数据库控制、磁盘控制)输入内容限制(数字、字母、文字、特殊符号、空)不允许明文显示禁止复制粘贴两次密码要一致2 .单选按钮、组合列表框、数码框单选按钮框架标题/提示文本不缺少且正确;各个选项正确;执行同一功能的多个单选按钮只能选一个;要有默认选中项;一般不能取消选中;存入后台的数据正确;存入后台的数据正确;组合列表框/下拉列表;通常单选,条目内容正确.

2020-10-29 11:19:19 1601

原创 python常用标准库

python常用标准库常用标准库:| 标准库 | 说明 || --------------- | -------------------|| builtins | 内建函数默认加载 || math | 数学库 || random | 生成随机数 || time | 时间 || dat

2020-10-23 08:33:41 193 1

原创 键盘输入一个四位数的整数,分别获取各个位数的值

'''键盘输入一个四位数的整数,分别获取各个位数的值'''num = int(input('请输入一个四位数任意整数:')qian_wei = num%1000shi_wei = num%1000//100bai_wei = num%1000//10ge_wei = num%10print('个位:{},十位:{},百位:{},千位:{}).format(ge_wei,shi_wei,bai_wei,qian_wei)...

2020-10-23 07:55:50 6594

原创 计算机网络知识(面试必问)

1. 三次握手,四次挥手过程三次握手:第一次握手:客户端发送syn包(syn=1,seq=x)到服务器,并进入SYN_SENT状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。握手过程中传送

2020-10-22 20:29:57 644

原创 AttributeError: module “logging” has no attribute “getLogger”解决办法

由于模块重名,把logging改为其他名字就好了

2020-10-22 13:22:47 8741 2

原创 oracle数据库与mysql数据库主要区别?(经典面试题)

1. 相同点:1.都是关系型数据库管理系统2.都是目前比较流行的数据库2. 不同点:2.1 单引号的处理Mysql里可以用双引号包起字符串;Oracle里只能使用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。2.2自动增长的数据类型处理Mysql是一个自动增长的数据类型,插入数据的时候,不需要管理,它自己会自动增长;Oracle不支持自动增长的数据类型,通过建立一个自动增长的序列号来完成自动增长。2.3.sql语句的扩展和灵活性

2020-10-19 18:43:38 1058 1

原创 常用的 Python 标准库都有哪些?

标准库:os操作系统,time时间,random随机,pymysql连接数据库,threading线程,multiprocessing进程,queue队列第三方库:django,flask,requests,virtualenv,selenium,scrapy,xadmin,celery,re,hashlib,md5常用的科学计算库:Numpy,Scipy,Pandas...

2020-10-19 17:34:07 1089

原创 线程与进程对比

1. 关系对比线程依附进程,没有进程就没有线程一个进程默认提供一个线程,进程可以创建多个线程2. 区别对比进程间不共享全局变量;线程之间共享全部变量,避免死锁办法:互斥锁或线程同步;创建进程资源开销比创建线程开销大;进程是操作系统分配资源基本单位,线程是cpu调度的基本单位;线程不能独立执行,必须存在进程中多进程开发比单进程多线程开发稳定性强3. 优缺点进程:多核,资源开销大线程:资源开销小,不能使用多核4. 应用场景进程:计算密集型线程:耗时操作、爬虫、IO操作

2020-10-19 12:29:59 408

原创 windows下Python版app自动化测试环境配置(全网最全最详细引导流程)

文章目录1. 安装jdk1.1 安装jdk1.2安装jre1.3配置环境变量1.4 校验是否全部配置成功2. 安装node.js2.1 node.js环境变量配置2.2 校验node.js是否安装成功3. 安装android sdk3.1解压 platform-tools_r24.4.1-windows.zip到本地目录3.2双击SDKManager.exe3.3 安装Tools当中的Android SDK Tools、Android SDK Platform-tools、Android SDK Build

2020-10-18 21:21:36 1055

原创 `mobilecommand.py`文件

mobilecommand.py文件class MobileCommand: # Common GET_SESSION = 'getSession' GET_ALL_SESSIONS = 'getAllSessions' GET_LOCATION = 'getLocation' SET_LOCATION = 'setLocation' GET_AVAILABLE_IME_ENGINES = 'getAvailableIMEEngines' IS_

2020-10-18 12:13:33 167

原创 “Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?”

"Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"解决办法输入systemctl start docker此时再次输入则报错解决

2020-10-18 00:41:02 205

原创 python高级编程之线程

1.线程概念线程是进程中执行代码的一个分支,线程是cpu调度基本单位。 线程是Python程序中实现多任务的另外一种方式,线程的执行需要cpu调度来完成2. 线程语法导入线程模块import threading线程类Thread参数说明Thread([group [, target [, name [, args [, kwargs]]]]]) group: 线程组,目前只能使用None target: 执行的目标任务名 args: 以元组的方式给执行任务传参

2020-10-14 21:47:33 193 1

原创 python高级编程之进程

文章目录1. 进程概念2. 进程类语法2.进程基本使用3. 解决:主进程退出子进程销毁4. 多进程5. 执行带有参数的任务6. 进程总结:1. 进程概念一个正在运行的程序或软件就是一个进程,是操作系统进行资源分配的基本单位一个程序运行后至少有一个进程,一个进程默认有一个先线程,线程依赖协程。2. 进程类语法Process([group [, target [, name [, args [, kwargs]]]]]) group:指定进程组,目前只能使用None target:执行

2020-10-14 21:11:00 267

原创 “This probably means that you are not using fork to start your child processes and you hav报错

错误原因分析,没有添加__main__模块解决windows递归创建子进程:通过判断是否是主模块来解决if __name__ == '__main__': 子进程创建代码模块

2020-10-14 21:07:00 6779

原创 unittest+ddt+excel执行测试用例

1. ddt+unittest :进行数据处理,第三方库2. 实质:装饰器,装饰测试类,在函数运行之前执行import unittestfrom ddt import ddt,data,unpacktest_data = [[1,2],[3,4,5]]@ddt # 脱掉最外层@unpack # 根据‘,’进行拆分 ,如果unpack后的参数少于5个,推荐用unpack,class TestMath(unittest.TestCase): @data(*test_data) #

2020-10-14 13:00:00 805 1

原创 第二条用例需要用到第一条用例返回结果里的某些值,写单元测试时,如何处理这种依赖?

第二条用例需要用到第一条用例返回结果里的某些值,写单元测试时,如何处理这种依赖?写到setUp()里全局变量反射的方式

2020-10-14 11:00:23 345

原创 python之随机生成一个手机号码

@staticmethod def random_phone_num(): """随机一个电话号码""" num_start = ['134', '135', '136', '137', '138', '139', '150', '151', '152', '158', '159', '157', '182', '187', '188', '1

2020-10-13 11:55:20 1273

原创 django与flask框架如何选型(两者对比)?

1. 框架的轻重flask: 轻量级框架,只提供Web框架的核心功能,自由、灵活、高度定制;django: 重量级框架,快速实现业务,不考虑技术选型,越简单直接越好,提供丰富的组件工具;2. 功能模块django:django-admin 快速创建项目工程目录manage.py 管理项目工程ORM模型 关系映射模型admin后台管理站点文件存储系统用户认证系统flask: django以上功能均需扩展包提供...

2020-10-11 23:19:51 434

原创 Django之REST API接口开发的增删改查案例

# view.pyfrom django.shortcuts import render# Create your views here.from django.views import Viewfrom books.models import BookInfoimport jsonfrom django.http import JsonResponseclass BooksView(View): massage = """ 获取所有和新增 "

2020-10-11 00:10:27 589

原创 django之防止CSRF攻击

1. 在客户端向后端请求界面数据的时候,后端会往响应中的 cookie 中设置 csrf_token 的值1.生成 csrf_token 的值2.在返回转账页面的响应里面设置 csrf_token 到 cookie 中3.渲染转换页面,传入 csrf_token 到模板中def get(self, request): # 1.生成csrf_token from django.middleware.csrf import get_token csrf

2020-10-10 22:21:39 184

原创 django之Jinja2模板的使用

1. 安装Jinja2模板pip install jinja22. Django配置jinja21. 在项目文件中创建 jinja2_env.py 文件from django.template.defaultfilters import datefrom jinja2 import Environmentdef environment(**option): # 1.创建 Environment实例 env = Environment(**option) # 2.指

2020-10-10 21:49:12 266

原创 django之在redis中保存session代码

1. 安装扩展pip install django-redis2. 在settings.py中配置:CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379/1', 'OPTIONS': { 'CLIENT_CLASS': 'django_redis.client.Defau

2020-10-10 21:01:36 139

原创 linux命令大全

linux命令大全1. 系统信息2. 关机 (系统的关机、重启以及登出 )3. 文件和目录4. 文件搜索5. 挂载一个文件系统6.磁盘空间7.用户和群组8.文件的权限9.文件的特殊属性10.打包和压缩文件11.RPM 包 - (Fedora, Redhat及类似系统)12.YUM 软件包升级器 - (Fedora, RedHat及类似系统)13.DEB 包 (Debian, Ubuntu 以及类似系统)14.APT 软件工具 (Debian, Ubuntu 以及类似系统)15.查看文件内容16.文本处理17

2020-10-10 13:07:11 243

原创 python自动化之run.py报告函数最新封装

# pip install html-testRunnerimport HtmlTestRunnerfrom Common.file_path import *import unittest# 实例化套件对象s = unittest.TestSuite()# 1.实例化TestLoader对象# 2. 使用discover找到一个目录下所有测试用例# 使用sloader = unittest.TestLoader()s.addTests(loader.discover(TestCase

2020-10-09 23:10:47 463

原创 python配置了系统环境变量,也在安装目录的Scripts下找到pip.exe文件,但还是报“Did not provide a command”解决方案

错误原因分析:输入where pip发现有三个pip文件,此时会识别不了到底找哪个,但输入pip3发现是可以的。解决方案:到c盘下把这两个目录直接删除再次输入pip list 或pip --version出现如下页面代表问题解决...

2020-10-09 20:56:42 500

原创 python高级编程之深拷贝与浅拷贝

python高级编程之深拷贝与浅拷贝1. 浅拷贝: 浅拷贝是对于一个对象的顶层拷贝。简单理解:拷贝了引用,并没有拷贝内容2. 深拷贝: 深拷贝是对于一个对象所有层次的拷贝(递归)3. copycopy.copy 完成浅拷贝copy.deepcopy完成深拷贝-=表示指向引用4. copy.copycopy.copy对于可变类型,会进行浅拷贝copy.copy对于不可变类型(元组),不会拷贝,仅仅是指向5. 引用还是指向如果用copy.copy、copy.deepcopy对一

2020-10-08 18:38:01 206

原创 python高级编程之魔术方法

python之常用魔术方法魔术方法1. `__init__(self)` 初始化魔术方法2.`__new__`实例化魔术方法3.`__call__`对象调用方法4. `__del__`析构函数方法5. __str__(self)6. 魔术方法总结魔术方法魔术方法: __名字__()1. __init__(self) 初始化魔术方法触发时机: 初始化对象时触发(不是实例化触发,但是实例化在一个操作中)def 类名(): def __init__(self): self.属性名=属性值

2020-10-08 17:17:41 253

原创 python之类方法、静态方法、普通方法三者间区别与联系

1. 类方法、属性方法、普通方法的格式与特点1. 普通方法定义与调用格式:def 方法名(self[,参数1,参数2]): print('{}'.format(参数名))对象名 = 类名()对象名.方法名(参数值)定义类方法中不携带参数时需要加self调用,携带参数时直接使用变量名调用2. 类方法1. 特点定义需要依赖装饰器@classmethod类方法中参数不是一个对象,而是类 print(cls) #<class __main__.Dog'>类方法中只可以使用类属

2020-10-08 16:36:28 998

原创 python之闭包与装饰器间的关系

1. 闭包1. 条件- 在外部函数中定义了内部函数- 外边函数就是有返回值- 返回值就是:内部函数名- 内部函数引用了外部函数的变量2. 格式def 外部函数(): a = 100 def 内部函数(): print(a) return 内部函数():x = 外部函数() x接收return返回值x() 调用内部函数3. 闭包缺点作用域没有那么直观因为变量不会被垃圾回收所以有一定的内存占用问题4. 闭包作用:可以使用同级作用域读取其他元素的内部变量延长作

2020-10-08 16:13:34 1237

原创 python之生成器和迭代器的区别

迭代器和生成器区别:(面试题)生成器通过next()变成迭代器生成器定义:通过yield关键字迭代器定义:被next() 函数调用并不断返回下一个值的对象称为迭代器 Iterator元组、列表、集合、字典、字符串通过iter()转为迭代器...

2020-10-08 16:02:42 122

原创 windows下python版web自动化测试框架(完整搭建流程引导)

文章目录一、项目环境准备工作二、 创建项目(以pycharm为例)三、框架的封装1. 创建框架目录2. 公共层3. 输出层4. 页面元素定位层5. 页面对象层(操作方法)6. 测试用例层7. 测试数据层8. readme.md 帮助文件9. requirements.txt 项目依赖工具包10.run.py 项目运行文件四、与Jenkins集成一、项目环境准备工作1.配置虚拟环境, 请参考之前一篇文章:https://blog.csdn.net/weixin_45912307/article/deta

2020-10-07 23:33:37 1213

原创 接口测试方法2之编写自动化测试框架实现

接口测试方法–全网最全详解1. 测试工具:jmeter、postman2. 使用代码创建接口测试框架excel 存放用例测试数据unittest + ddt 数据驱动,测试数据与测试代码分离自定义日志模块配置文件pymysql 与金额相关数据库查询参数化、正则匹配接口依赖,动态创建类属性的方式处理生成报告:http-report、allureJenkins持续集成...

2020-10-04 21:41:51 421 4

原创 接口测试方法1之httprunner框架

接口测试方法1之httprunner框架httprunner是面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。1. 1 项目环境准备1. 安装 pip install httprunner2. 检查是否安装成功 hrun -V3. 帮助使用命令 httprunner --help4. 创建工程先切换至想把工程放在哪个目录下cd projectpath创建工程hrun sta

2020-10-04 04:22:28 1029

原创 浏览器user_agent列表

浏览器user_agent列表# —— coding :utf-8 ——# @time: 2020/10/3 0:49# @IDE: httprunnerLearn# @Author: jsonJie# @Email: 810030907@qq.com# @File: user-agents.pyuser_agents = [ # safari5.1–MAC 'User-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX

2020-10-03 01:09:10 814

原创 django之用户注册序列化器模块(RegisterSerializer)

django之用户注册序列化器模块(RegisterSerializer)RegisterSerializers.py文件# —— coding :utf-8 ——# @time: 2020/10/2 15:46# @IDE: django_api_test_platform# @Author: xxxxx# @Email: xxxxx@qq.com# @File: RegisterSerializers.pyfrom django.contrib.auth.m

2020-10-02 22:21:29 481

原创 python开启跨域代码

python开启跨域安装django-cors-headerspip intall -i https://pypi.douban.com/simple django-cors-headers将corsheaders添加到setting文件INSTALLED_APPS中,尽量写在前面INSTALLED_APPS = [ 'corsheaders', ]添加中间件需要添加在CommonMiddleware中间件之前CORS_ORIGIN_CREDENTIALS = True添加白

2020-10-02 21:06:43 289

空空如也

空空如也

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

TA关注的人

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