- 博客(139)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 一次web自动化测试框架的搭建
Web自动化测试框架:个人gitlab地址:https://gitee.com/wangxinbo112/WebAutoDemo.gitWeb自动化项目的思想:采用两种思想base page:封装元素定位操作的一些方法包括:获取点击,双击,输入,等待等常用方法分层设计的思想:即分成元素层,页面对象层(业务层),用例层(实际使用层),测试数据层,每一层是对上一层的进一步封装1. 项目的结构如下共分为8个目录+运行脚本目录:common目录:主要是封装的一些公共的模块,类和方法,例如:处理配置
2020-12-02 22:56:40
348
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 接口自动化测试框架搭建总结
自动化测试框架搭建:个人自动化测试框架的gitlab地址:https://gitee.com/wangxinbo112/ApiTestDemo.git1.分为7大目录 + run_script.py运行脚本a.用例目录:cases 编写测试的脚本文件,一个py文件就是一个接口的测试用例例如:login.py文件b.配置文件:config 配置文件的目录 config.conf(配置excel和)和user.confconfig.conf:配置excel以及log日志和sql相关的配置
2020-12-01 23:38:29
3730
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 爬取王者荣耀高清皮肤
爬虫中使用多线程爬虫是一种很常见的方式,可以提高爬取的效率,特别是生产者消费者模型也经常可以见到,今天刚好学习了这种模式,爬取下王者荣耀的高清壁纸,作为练习import requestsfrom urllib import parse,requestimport osimport threadingfrom queue import Queue# 下载高清王者荣耀皮肤壁纸# 1.拿...
2020-04-18 21:22:55
486
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 docker搭建分布式nginx+tomcat
一,创建tomcat容器1.拉取tomcat镜像docker pull tomcat2.创建容器docker run -d tomcat1 tomcatdocker run -d tomcat2 tomcat进入tomcat容器中可以发现,其中有两个webapps,第一个webapps里面是空的,而另一个webapps.dist里面才有tomcat主页等相关的访问页面。所以下面就...
2020-04-06 14:12:29
375
原创 准确率和召回率
计算准确率(Precision)的公式为:TP / (TP + FP)计算召回率(Recall)的公式为:TP / (TP + FN)fN: 假货预测为假货75。TN: 真货预测为假货15。TP: 真货预测为真货5。Fp: 假货预测为真货5。
2023-11-01 23:48:41
227
原创 对gpt的简单认识
需要注意的是,GPT模型并没有真正的理解问题,它仅基于预训练过程中学到的语言知识和模式来生成输出。因此,对于实际应用中的问题,需要进行适当的后处理或评估来确保生成的结果的质量和准确性。生成输出:根据模型的设计和任务要求,前向传播过程可能会在每个时间步长生成一个单词或标记,也可能是在整个序列上生成一次性的输出。类比中的预训练阶段强调了模型(或学生)在大量数据中无监督地学习语言和信息的能力,而微调阶段则重点放在了任务特定的有监督学习上,以提高模型(或学生)在具体任务中的性能。以上只是个人的简单认识!
2023-07-27 00:46:14
1577
1
原创 复习之css(一)
/*首行缩进2个字 em 1个em 就是1个字的大小*/ text-indent: 2em; a. 块级元素(block-level)常见的块元素有~、、、、、等,其中标签是最典型的块元素块级元素的特点(1)比较霸道,自己独占一行(2)高度,宽度、外边距以及内边距都可以控制。(3)宽度默认是容器(父级宽度)的100%(4)是一个容器及盒子,里面可以放行内或者块级元素。注意:只有 文字才 能组成段落 因此
2022-06-02 00:31:02
123
原创 复习之盒子模型(二)
border-collapse:collapse; 表示相邻边框合并在一起一般设置的width和height都是内容的宽高产生问题:撑大原来的盒子解决办法:a. 设置的宽高减去原来的盒子b. 通过设置box-sizing: border-box;对于如下问题,设置了儿子的外边距,结果父亲跟着下来了解决方案:a.给父亲添加border,border: #FAEBD7 solid 1px;b.为父亲定义内边距c.为父亲定义overflow:hiddend.儿子浮动e.儿子绝对定位或者固
2022-06-02 00:29:50
104
原创 使用vue脚手架创建项目
1. 安装(目前默认是vue-cli3)npm install -g @vue/clivue create myproject2. 基于vue2.x的旧模板,创建旧版的vue项目vue cli3 和旧版使用了相同的 vue 命令,所以 Vue CLI 2 (vue-cli) 被覆盖了。如果你仍然需要使用旧版本的 vue init 功能,你可以全局安装一个桥接工具npm install -g @vue/cli-initvue init webpack my-project3.v
2022-05-22 22:12:52
176
原创 python3 windows下的几乎万能爬虫方法
解决selenium下被反扒的情况# -*- encoding:utf-8 -*-import timeimport requestsfrom selenium.webdriver.common.by import Bydef get_data(cookies): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
2022-05-08 20:43:06
1245
2
原创 zipfile模块的基本使用
1. 解压zip文件import osimport zipfilefile = r"E:\testdir\test01\icomoon.zip"z = zipfile.ZipFile(file)print(z.filename)print(z.namelist()) # 返回文件名列表print(z.infolist()) # 返回压缩包中的文件对象列表# 解压单个文件到指定的目录# 方法一:z.extract(z.namelist()[1],r'E:\testdir\tes
2022-05-06 08:38:21
3904
原创 yaml文件的操作
`1.写入yaml文件内容import yamlapiData = { "page": 1, "msg": "地址", "data": [{ "id": 1, "name": "学校" }, { "id": 2, "name": "公寓" }, { "id": 3, "name": "流动人口社区" }],}# sort_keys=False字段表示不改变原数据的排序# allow_
2022-05-04 22:49:56
745
原创 wxpython之入门
import wximport wx.gridclass MyFrame(wx.Frame): def __init__(self,parent): wx.Frame.__init__(self,parent,title="工具",size=(500,400)) panel = wx.Panel(self) # 创建菜单栏 menubar = wx.MenuBar() # 创建菜单 menu .
2022-05-04 22:14:53
461
原创 nodejs实现服务端用户的增删改查(一)
// 搭建网站服务器,实现客户端与服务器端的通信// 连接数据库,创建用户集合,向集合中插入文档// 当用户访问/list时,将所有用户信息查询出来// 实现路由功能// 呈现用户列表页面// 从数据库中查询用户信息 将用户信息展示在列表中// 将用户信息和表格HTML进行拼接并将拼接结果响应回客户端// 当用户访问/add时,呈现表单页面,并实现添加用户信息功能// 当用户访问/modify时,呈现修改页面,并实现修改用户信息功能// 修改用户信息分为两大步骤// 1.增.
2022-04-05 19:11:29
1119
1
原创 js之浅拷贝和深拷贝
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>D.
2022-03-20 19:20:54
195
原创 docker搭建:prometheus+grafana+exporter监控
1.拉取镜像docker pull prom/node-exporter (node-exporterd在被测或者被监控服务器上部署)docker pull prom/prometheusdocker pull grafana/grafana2.安装exporterdocker run -d --name node-exporter_wxb -p 9100:9100 --net=host prom/node-exporter或者:docker run -d -p 9100:9100 .
2022-03-04 21:38:45
820
原创 django之信号
1.目录结构2.在Django/singals.py目录下编写# 系统自带的信号from django.core.signals import request_finishedfrom django.db.models.signals import pre_save,post_savefrom django.dispatch import receiver@receiver(pre_save)def pre_save_func(sender,**kwargs): prin.
2022-02-05 15:28:56
506
原创 django之celery异步任务
1.目录结构2.在DjangoProject\celery.py下面编写from __future__ import absolute_import, unicode_literalsimport osfrom celery import Celeryos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoProject.settings') # 设置django环境app = Celery('DjangoProje...
2022-02-05 13:32:57
1658
1
原创 django查询的一些操作
# and的关系# queryset = Projects.objects.filter(name__contains="TG2.62",tester='wxb')# 或者的关系# queryset = Projects.objects.filter(Q(name__contains="TG2.62")|Q(tester='wxb'))# queryset = Projects.objects.filter(Q(name__contains="TG2.62",tester='wxb')|Q(de.
2022-01-27 18:49:36
1058
原创 python读取pdf并重命名
import osimport refrom pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LAParamsfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pdfminer.pdfpage import PDFPagedir_path =r"F:\pdfs"def parses(path):.
2022-01-08 16:03:10
2561
3
原创 python的GUI编程之实例-计算器
import tkinter as tkfrom tkinter import ttkclass Application(): def __init__(self, master): self.master = master self.initWidgets() self.status =False def initWidgets(self): self.input1 = tk.Entry(master=self..
2021-10-17 19:23:21
279
原创 python的GUI编程之Grid布局的使用
import tkinter as tkfrom tkinter import ttkclass Application(): def __init__(self, master): self.master = master self.initWidgets() def initWidgets(self): input1 = tk.Entry(master=self.master, relief=tk.SUNKEN, font=.
2021-10-17 12:59:40
915
原创 python的GUI编程之tkinter的使用(一)
import tkinter as tkclass App: def __init__(self,master): self.master = master self.initWidget() def initWidget(self): # 创建第一个容器 # pack表示布局 # """ # expand: 是否跟随父容器按比例扩大 # fill.
2021-10-17 12:57:41
346
原创 echarts之地球绘制
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>echarts_3D_earth</title> <script src="./lib/jquery-1.11.3.mi...
2021-09-12 21:34:23
1571
原创 Promise之async(四)
1.async的基本用法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script type="text/javascript" src="js/axios.js"></script> <scrip
2021-08-18 00:18:16
218
原创 Promise之axios(三)
1. axios的基本用法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script type="text/javascript" src="js/axios.js"></script> <scr.
2021-08-18 00:16:50
111
原创 Promise之fetch(二)
1. fetch的基本使用,fetcg是基于promise的封装的<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script type="text/javascript"> /* Fetch API 调用.
2021-08-18 00:14:04
311
原创 Promise(一)
1. Promise的基本用法:function foo() { return new Promise(function(resolve, reject){ setTimeout(function(){ // resolve(123); reject('error'); }, 100); }) } // foo() // .then(function(data){ //
2021-08-18 00:09:53
125
原创 python生成随机的图片验证码
class MyView(View): def get(self, request): # 创建一个画布 img = Image.new('RGB', (200, 100), (0, 50, 200)) # 创建一个画笔,并绑定画布 img_draw = ImageDraw.Draw(img, 'RGB') # 创建一个字体,需要指定STATICFILES_DIRS = [ os.path.join(BASE_DI.
2021-07-18 16:36:02
146
原创 awk的用法实战,统计每位测试人员执行的用例等级
#!/usr/bin/awk -f# c.将1、2合并,同时分别统计每位测试人员执行用例CRITICAL、ERROR日志等级数以及所有测试人员每项总数BEGIN{ printf "%-15s%-15s%-15s%-15s%-15s%-15s\n","tester","pass","fail","case_count","CRITICAL","ERROR"}{ if ($5=="Pass"){ testers_pass[$4] += 1 teste.
2021-07-13 23:27:29
130
原创 python自定义发布包
1.写好一个包目录结构如下所示:2.新建setup.py,在其中编写如下代码# _*_ coding: utf-8 _*_from distutils.core import setupsetup( name="div_de_mul_add", version="1.0", author="wxb", author_email="18710797195@163.com", description="加减乘除", long_desc..
2021-07-10 15:30:58
187
原创 前端:防抖代码
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>开始</title> </head> <body> <input id='app' type=text /> <script type="text/javascript"> // 防抖:用于触发请求过于频繁,只取最后一次 input =.
2021-06-29 22:32:09
331
原创 js计时器
<!DOCTYPE html><html><head><meta charset="utf-8"><title>计时器</title></head><body><p id='dd'></p><button onclick="clearInterval(ll)">点我停止</button><script>function myFunc
2021-06-17 00:15:53
59
原创 shell的一些小技巧
1.字符串的截取${string: start :length} 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。${string: start} 从 string 字符串的左边第 start 个字符开始截取,直到最后。${string: 0-start :length} 从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。${string: 0-start} 从 string 字符串的右边第 start 个字符开始截取
2021-05-19 22:49:02
118
原创 collections包中ChainMap,Counter,OrderedDict的学习使用
1. ChainMapfrom collections import ChainMap# ChainMap可以将字典逻辑上连接起来,这样就不需要update进行物理连接了,相同的key会取第一个a={"name":"laowang1","age":201}b={"name":"laowang2","age":202}c={"name":"laowang3","age":203}d = ChainMap(a,b,c)print(a)print(b)print(c)print(d["na
2021-05-18 23:34:55
181
原创 AJAX学习笔记之发送请求(一)
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <script src="AJAX.js" type="text/javascript" charset="utf-8"></script> <style type="text/css"> #table{ text-align: ce
2021-05-07 23:42:44
103
原创 docker使用gunicorn部署django项目并保存为镜像(一)
拉取镜像pythondocker pull python:3.8-alpine创建容器:docker run -itd --name python:3.8-alpine python进入容器,安装django, pymysql :docker exec -it python shpip install djangopip install pymysqlpip install gunicorn4.新建webapps目录,将宿主中的项目复制到此处docker cp django..
2021-05-06 23:18:38
778
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人