- 博客(418)
- 资源 (19)
- 问答 (1)
- 收藏
- 关注
原创 python设计模式——单例模式
单例模式(Singleton Pattern)即一个类只能拥有一个实例对象,实例化多次的结果都会指向同一个对象。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。特点:全局唯一,允许更改。
2024-07-29 10:42:49 668
原创 如何理解Python中的__new__ 和__init__ 方法
_new__和__init__是两个在类定义中经常遇到但作用完全不同的特殊方法(也称为魔术方法或双下划线方法),在讲解单例模式之前,必须先学习这块的知识。
2024-07-26 12:04:25 315
原创 如何理解python中的*args和**kwargs
args用于表示可变数量的位置参数(Positional Arguments)kwargs用于表示关键字参数(Keyword Arguments)。
2023-11-01 16:51:30 292
原创 pytest系列教程——13、使用pytest-html创建测试报告
在本地的python安装目录下, /site-packages/site-packages/下替换。因为测试报告目前都是英文版的,目前可以通过使用其他开源项目替换成生成中文版报告。则生成的css文件和html文件集为一体,最终只生成一个html文件。整个文件,然后再执行会发现已经替换为中文版的报告。(包括html文件的css样式)文件夹。命令行参数执行,加入。命令行参数执行,加入。
2023-02-14 10:04:37 494 1
原创 python reduce函数的用处
最近在看reduce函数的时候,发现已经不能直接使用了,需要从functools模块导入。如果使用reduce的话, 用一行代码可以实现 >_
2022-09-21 10:45:20 480
原创 pytest系列教程——12、用例执行失败后重跑
用例执行一次失败后,可能是由于网络、设备、等等其他因素造成,并不一定就是程序的bug。因此我们需要多执行几次,再好定性它为bug。第三方插件,就提供了失败重跑的能力。
2022-09-08 11:29:00 3605
原创 pytest系列教程——11、用例重复执行、顺序执行、分布式执行
当我有100条脚本的时候,每条执行大概1秒,如果顺序执行完的话,至少100秒。为了缩短测试时间,我们引入了并发执行的插件。当我们想要复现某个偶现的问题时候,重复执行测试脚本当然是最好的选择。不用写个循环去执行,pytest提供了。先对比下我们最开始的例子,我这里写6条case,每条执行一秒。pytest 重 复执行.py -s --count 5。有如下代码,希望它的执行顺序是按照我所设定的场景执行。当我们引入分布式的执行参数,运行参数增加。是几,则就代表几个并行数量。插件实现指定顺序运行。
2022-09-05 17:52:37 1428
原创 pytest系列教程——10、配置文件pytest.ini
addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作。如果需要执行多个目录下的,则需要在各个目录中间加入空格。pytest.ini是一个固定文件,也就是说名称不能更改,而且必须存放在项目根目录下。会出现warning的情况,需要在pytest.ini文件对定义的mark进行解释。在第一节的时候,讲过,关于pytest执行的参数命令,比如执行用例的时候加上。一节的时候,就提到,为了解决使用。控制日志文件的输出级别,.......
2022-07-18 17:32:31 2954
原创 一文讲透彻selenium
2004年在 ThoughtWorks 公司,一个叫做 Jason Huggins 为了减少手工测试的工作,自己写了一套 的库,这套库可以进行页面交互,并且可以重复的在不同浏览器上进行重复的测试操作。这套库后来变为了 Selenium Core,为Selenium Remote Control (RC) 和 Selenium IDE提供了坚实的核心基础能力。[1]Selenium Core是第一个工具。但是,由于同源政策,Selenium Core在跨域测试方面遇到了障碍。同源策略禁止JavaScrip
2022-07-08 18:47:22 2505
原创 pytest系列教程——9、 参数化 @pytest.mark.parametrize
当我们写好一个函数进行自测的时候,通常需要多种数据场景进行验证,例如我写了一个乘法计算器函数
2022-07-07 19:06:33 356
原创 pytest系列教程——7、将fixture写入conftest.py
在测试中,我们需要对所有用例做前置处理的时候。就需要把这部分的初始化步骤抽出来,方便统一管理。比如,我们在UI测试的时候,都需要先初始化Selenium Driver。再比如,我们的测试脚本都需要先登录进去后再进行业务操作。那就完全可以使用`conftest.py`,完成对前置步骤的抽离。...
2022-06-23 09:37:21 262
原创 pytest系列教程——6、mark被标记测试
当写的用例比较多的的时候,我们需要对测试用例进行模块划分,比如,抽出一部分作为冒烟用例。部分用例只能在安卓系统上运行,部分用例只能在IOS上运行等等这时候就要用到@pytest.mark的功能,给每条用例打上标签,方便运行...
2022-06-23 09:35:39 699
原创 pytest系列教程——5、跳过测试
对于那些尚未开发完成的测试,最好的处理方式就是略过而不执行测试。按正向的思路,我们只要通过标记指定要测试的就可以解决这个问题;但有时候的处境是我们能进行反向的操作才是最好的解决途径,即通过标记指定要跳过的测试。......
2022-06-07 09:39:15 463
原创 pytest系列教程——3、setup和teardown
setup和teardown是用来处理用例的开始前工作和结束后的工作,pytest提供了多种类型的前置和后置,其中包括:前置后置作用setup_moduleteardown_modulesetup_functionteardown_functionsetup_classteardown_classsetup_methodteardown_methodsetupteardown...
2022-05-20 15:29:48 495
原创 pytest系列教程——2、pytest断言的使用
上一章学习了pytest的基本用法,今天学习一下断言。assert 基本用法unitest单元测试框架中提供了丰富的断言方法,如assertEqual()、assertIn()、assertTrue()、assertIs()等,但是pytest没有。直接使用Python的assert进行断言# MyPytest.pyimport pytestdef inc(x): return x+1# 判断结果不等于5def test_inc_01(): assert inc(3) !=
2022-05-18 11:08:44 891
原创 pymongo写入数据到mongo数据库的脚本
pymongo写入数据到mongo数据库的python脚本# #!/usr/bin/python3from pymongo import MongoClientfrom pymongo import InsertOneimport timeimport jsonfrom dateutil import parserfrom faker import Faker conn = MongoClient("mongodb://用户名: 密码@地址:端口/库名?mechanism=SCRAM-
2022-05-18 09:36:44 480
原创 如何理解python中的yield,看完你还是不懂,我手把手教你
关于yeild 看了忘,忘了看,零零散散的总是理解不透彻。今天彻底记录下,带大家一探 yield到底是什么?关于生成器概念的解释,摘自菜鸟教程解释:在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
2022-05-12 21:21:36 2820 2
原创 pytest系列教程——1、pytest快速入门
pytest快速入门简介The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.官网地址中文翻译地址1、安装pip install pytest2、快速上手新建test.py文件:#test.pyimport pytestdef inc
2022-05-12 17:51:21 467
原创 python最简单的mock方式,使用pook模拟 HTTP 请求结果的库
python最简单的mock方式,使用pook模拟 HTTP 请求结果的库
2022-05-06 10:13:26 536
原创 电脑指定时间关机python 脚本,指定时间点
python 电脑指定时间关机GUI脚本import os,sys,timefrom PyQt5 import QtCore,QtWidgets,QtGuiclass guanji(object): def pageShow(self,page): #设置窗口的位置和大小 page.setGeometry(400,400,400,200) #设置窗口的标题 page.setWindowTitle('Window定时关机工具') #设置窗口的图标
2022-04-25 15:50:25 441
原创 访问github的hosts文件自动更新脚本
因为访问github很麻烦,每次都需要更新dns ,于是写了这个脚本,因为是更改C盘hosts文件,所以执行会自动申请管理员权限:import ctypesimport sysdef is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: return Falseif is_admin(): import requests from time
2021-10-25 17:10:01 1613 4
原创 基于python的Dubbo接口测试封装
环境python 3.x核心脚本# DubboRequest.py# -*- coding: utf-8 -*-# @Time : 2021/06/02 10:11# @Author : 软件测试技术from Setting import configimport refrom loguru import loggerfrom functools import lru_cachefrom kazoo.client import KazooClientfrom urllib.p
2021-07-27 15:02:05 499
原创 win7部署Docker踩坑纪要
安装信息版本:系统:win7 64如果之前电脑安装过git修改Docker Quickstast的属性, bash.exe 指向之前安装的git的绝对路径。如果Looking for vboxmanage.exe 提示找不到修改start.sh的内容:STEP="Looking for vboxmanage.exe"#if [ ! -z "$VBOX_MSI_INSTALL_PA...
2020-11-14 08:17:00 141
转载 软件测试最常用到的一些Python工具库整理
一、测试框架介绍:进行代码库测试和生成测试数据的库。测试框架 unittest– (Python 标准库) 单元测试框架。 nose– nose 扩展了 unittest 的功能。 contexts– 一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的启发。 hypothesis– Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。 mamba– Python 的终极测试工具, 拥...
2020-10-23 11:21:05 1136
原创 python3网络爬虫一《使用urllib.request发送请求》
python 爱好者交流群:810306356这里有很多像你一样的伙伴,共同分享学习python的经验!使用urllib在Python2版本中,有urllib和urlib2两个库可以用来实现request的发送。而在Python3中,已经不存在urllib2这个库了,统一为urllib。Python3 urllib库官方链接 https://docs.pytho...
2020-10-23 11:15:36 74884 7
原创 2-5课程 如何找到多个字典中的公共键(key)?
testCase西班牙足球甲级联赛,每轮球员进球统计:第1轮:{"苏亚雷斯":1,"梅西":2,"C罗":1,......}第2轮:{"苏亚雷斯":2,"C罗":2,"贝尔":1,......}第3轮:{"苏亚雷斯":1,"贝尔":2,"内尔马":1,......}... ...统计前N论,每场比赛 都有进球的球员。from random import randint,samp...
2020-06-22 12:33:00 95
原创 2-3课程 如何根据字典中值得大小,对字典中的项排序
testCase某班英语成绩以字典形式存储为:{'LeiLei':90,'kim':88,......},根据成绩高地,计算学生排名。from faker import Faker from random import randintfaker =Faker('zh')#随机构造30个学生名称和成绩studentsScore = {faker.name():randint(5...
2020-06-22 12:14:00 110
原创 2-3课程 比较:统计序列中元素的出现频度
test_1某随机序列 [1,2,3,4,12,123,44,2,342,123,4,66,35,.....]中,找到出现次数最高的3个元素,他们出现的次数分别是多少?方法1from random import randintdata = [randint(1, 20) for _ in range(30)]c = dict.fromkeys(data, 0)for i i...
2020-06-22 11:55:00 97
原创 批量将图片转为圆角
将本地保存的图片全部转为圆角,代码如下:from PIL import Image, ImageDrawdef circle_corner(img, radii): # 画圆(用于分离4个角) circle = Image.new('L', (radii * 2, radii * 2), 0) # 创建黑色方形 # circle.save('1.jpg','JPE...
2020-06-10 14:38:00 402
原创 软件测试最常用的sql命令大全
整理了一下软件测试者会用到的Top10必须掌握的sql命令增删改查:INSERT INTO table_name (column1,column2,column3,...)VALUES (value1,value2,value3,...);DELETE FROM table_name WHERE id=1;UPDATE table_name SET column1=value1,column2=value2,...WHERE some_column=some_value;select * from
2020-06-02 17:47:42 2970
转载 移动端测试通用测试点
移动端测试通用测试点软件测试者一定要的微信公众号 软件测试技术 ,每天有大量干货更新,不仅仅有测试技术哦~安装/卸载真机上安装、卸载、高版本覆盖安装、低版本覆盖安装、卸载后安装高版本;安装关注点:版本号、渠道号、数字签名(用抓包工具辅助查看)、安装成功后启动向导、安装过程中对意外情况的处理(取消、死机、重启、断电、内存不足、断网)、安装进度条、主要功能流程;卸载关注点:卸载过程中的意外情况处理(取消、死机、重启、断电、内存不足、断网)、卸载进度条;第三方软件协助安装、卸载、高版本覆盖安装、
2020-06-02 17:39:59 1099
原创 接口测试快速mock接口数据的工具——FastApi
FastApi软件测试者一定要的微信公众号 软件测试技术 ,每天有大量干货更新,不仅仅有测试技术哦~fastapi官网介绍如下:FastAPI framework, high performance, easy to learn, fast to code, ready for production.FastAPI框架,高性能,易于学习,代码快速,可投入生产安装版本 python3.6+pip install fastapipip install uvicorn快速上手案例
2020-06-02 17:34:21 2076
原创 软件测试必须掌握的linux常用命令
整理一些最常用的Linux命令关注 软件测试技术 微信公众号,每天有大量干货更新!不仅仅有测试技术哦~cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:cd /root/Docements # 切换到目录/root/Docements cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录 cd ../path # 切换到上层目录中的pat
2020-06-02 17:28:56 1842
原创 Linux安装最新版Vue或者指定版本
ubuntu安装最新版Vue或者指定版本首先已经安装了node.js 使用命令查看$: node -vv10.17.0再使用如下命令:npm install -g @vue/cli安装后查看:$: vue -V@vue/cli 4.3.1安装制定版本:#这个命令是百度的具体没有用过npm install -g @vue/cli@版本号...
2020-04-14 11:37:00 474
原创 flex实现的导航
<html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> * { margin: 0; p...
2020-04-13 19:02:00 127
《图解HTTP》完整彩色版.pdf
2017-09-14
在Python环境下使用NLTK2进行文本挖掘text mining(英文版-书籍).pdf
2017-07-11
[Python灰帽子:黑客与逆向工程师的Python编程之道].(Gray.Hat.Python).Justin.Seitz.文字版.pdf
2017-06-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人