- 博客(35)
- 收藏
- 关注
原创 性能测试指标全解
最近在公司做压测时,对于各个监控工具的监控指标一脸蒙,有时候不清晰,有时候理解错误,于是,恶补基础知识,希望对广大网友有所帮助。一、性能测试指标1、在线用户数此指标指的是某个时间段内,在服务器上保持登录状态的用户数,在线用户数不等同于并发用户数,因为,只要用户不向服务器发送请求,就不会对服务器产生影响。2、并发用户数在性能测试过程中,一般用的比较多的指标是绝对并发用户数,我们也通常直接将绝对并发用户数直接称为并发用户数。相对并发用户数:在某段时间内,与服务器保持交互的用户数。绝对
2022-05-22 18:30:29 6216 1
原创 elasticsearch的group by分组和sum求和
最近在使用es查询某个字段在特定查询条件下的某个字段的求和时,忘记了query语句是怎么写的,简单记录一下,方便自己和他人查阅。一 什么是elasticsearch?elasticsearch是一个分布式的使用 REST 接口的搜索引擎,简称为ES,它是面向文档的,可以存储整个对象或文档。二:elasticsearch的几种操作1对某个字段求和,相当于sql语句的:selectsum(字段名)fromtablewhere条件1 and 条件2#对某个字段求和操作...
2022-05-19 09:45:15 6144
原创 python对时间的灵活处理
在将数据存储于MySQL、Oracle等时,对时间的操作会比较频繁,比如,数据第一次保存于数据库的时间(create_time),数据的更新时间(update_time),查询某个时间等等。在对时间进行操作时,往往会涉及到时间、日期、时间戳之间的各种转换,下面简单介绍几个常用的转换方法。1、用到的模块用到的模块有两个:time模块和datetime模块import time,datetime2、获取不同要求的时间(字符串格式)from datetime import datetime, tim
2022-04-12 09:23:56 358
原创 python如何获取登录用户及主机名?
在日常的测试开发工作中,有时会用到保存本机名和当前登录人的erp的功能,同时,不同人使用的操作系统又大同小异,之前用Windows系统时写的代码,到mac就不可用,于是乎,整理了一些常用的python的获取当前主机名和用户名的脚本,供大家参考import getpassimport socketimport win32api # 此方式仅windows支持# 获取当前登录的用户名winUserName = win32api.GetUserName() # 仅Windows用户可用gen
2022-04-12 09:15:13 3177 1
转载 html之表单
一、表单综述1.1 表单的作用:实现网页上的数据交互,手机客户端输入的数据信息,提交到网站服务器端进行处理。1.2 表单的常见应用场景:1. 注册/登录 2. 搜索 3. 留言/评论 4. 文件上传/文章编辑1.3 表单的结构:表单区域+表单控件(表单元素)二、表单创建表单的创建使用<form>双标签来创建表单。现在将<form>标签的属性简单列举如下属性名 属性值 备注 action url路径 必须的属性!表单要提交的服务器的.
2022-04-09 23:55:51 311
原创 CSS之字体相关内容
1、与字体相关的样式1.1 设置字体的颜色:color1.2 设置字体大小:font-size1.3 设置字体的格式(如微软雅黑)font-family:可以同时指定多个字体,多个字体用逗号隔开,字体优先前面生效font-family的可选值:serif:衬线字体sans-serif:非衬线字体monospace:等宽字体,字母的宽度保持一致 p{ /*设置字体颜色*/...
2022-04-05 23:05:39 209
原创 mysql将不同的表同时查询后计算字段求和
最近在测试需求时,遇到了一个难题,需要计算的字段来自不同的数据表,每次都要单独从没个表查出来再手动加和或者进行其他运算。后来花了点时间写了一个sql,能够解决我的问题。一、问题 从A表中查出A.a、A.b两个字段,从B表中查出B.x字段,从C表中查出C.c字段,从D表中查出D.d字段,然后求A.a+A.b+B.x+C.c+D.d的和。要求查询时各个表的查询条件(包含where条件和group by 条件都相同)。二、解决办法原本想使用全连接,但是mysql(我使用的Navicat)不支持:.
2022-04-02 09:45:19 4139
原创 python NAT和Nan处理为空字符串
我的原始数据为处理方式:import pandas as pdimport numpy as nptest = pd.read_excel('D:\zhangping179\Downloads\\test.xlsx')test["发现日期"] = pd.to_datetime(test["发现日期"], errors='coerce')test["发现日期"] = np.where(test.发现日期.notnull(), test.发现日期.dt.strftime('%...
2022-03-06 18:06:43 3033
原创 如何获取主机名和当前登录用户名
在日常的测试开发工作中,有时会用到保存本机名和当前登录人的erp的功能,同时,不同人使用的操作系统又大同小异,之前用Windows系统时写的代码,到mac就不可用,于是乎,整理了一些常用的python的获取当前主机名和用户名的脚本,供大家参考import getpassimport socketimport win32api # 此方式仅windows支持# 获取当前登录的用户名winUserName = win32api.GetUserName() # 仅Windows用户...
2022-03-06 17:04:48 1776
原创 Java中的日期和时间实现
一、相关类、方法、构造器#1.1 两个类java.util.Date类:java.sql.Date类:数据库类型的时间类1.2 两个构造器两个构造器:Date():创建一个对应当前时间的Date对象Date(long L)创建一个对应毫秒数的Date对象1.3 两个方法toString()–显示当前的年月日时分秒getTime()–显示当前时间的时间戳二、举例//时间戳long startTime = System.currentTimeMillis();//构造器一:Date(
2022-01-03 10:01:59 558
原创 Java中字符串相关内容及其常用方法
String类的常用方法一、替换、匹配、切片替换:replace(oldChar,newChar)匹配:match切片:split /*替换:replace(oldChar,newChar) */ String string = "StringTest";String replaceString = string.replace("T", "t");System.out.println(replaceString);String newString = "12hello34world
2022-01-02 22:43:55 236
原创 webdriver之警告框处理
警告框处理一、使用场景有些弹框是不能通过前端工具进行定位的,可使用switch_to_alert()方法接受这个弹窗#text:返回alert/confirm/prompt中的文字#accept():接受现有警告框#dismiss():解散现有警告框#send_keys(KeysToSend):发送文本至警告框二、举例说明from selenium import webdriverimport timefrom selenium.webdriver.common.action_chai
2020-12-29 17:46:00 228
原创 webdriver之多窗口切换
窗口切换一、使用场景在页面操作过程中有时候会点击某个链接会弹出新的窗口,这时候就需要主机切换到新打开的窗口上进行操作二、举例实现百度首页和百度注册为例from selenium import webdriverimport timedriver = webdriver.Firefox()driver.implicitly_wait(10)driver.get("http://www.baidu.com")sreach_windows = driver.current_window_
2020-12-29 16:28:42 708 1
原创 webdriver之定位一组元素
一、定位一组元素的方法driver.find_elements_by_name("")driver.find_elements_by_id("")driver.find_elements_by_tag_name("")driver.find_elements_by_link_text("")driver.find_elements_by_partial_link_text("")driver.find_elements_by_class_name("")driver.find_elements
2020-12-25 16:56:14 275
原创 webdriver API浅解(前)
一、Webdriver定位元素1.1:通过id1.2:控制浏览器大小二、控制浏览器2.1:控制浏览器大小from selenium.webdriver.common.by import Byfrom selenium import webdriverimport timedriver = webdriver.Firefox()driver.get("http://m.mail.10086.cn")print("设置浏览器宽度480、高800展示")driver.set_wind
2020-12-14 23:02:51 122
原创 面向对象的三大特性:继承、多态、封装--封装
一、封装1、广义的封装:实例化一个对象,给对象空间封装一些属性class A: def __init(self,name): selef.name = name#对象封装属性2、狭义的封装:私有制。 私有成员:私有静态字段、私有动态方法、私有对象私有静态字段(见下方代码):1、实例化对象不能访问私有静态字段2、类名不能访问私有静态字段结论:对于私有静态字段,只能在本类中内部访问,派生类不可访问#类外访问私有静态字段class A: name ="张三"#对象属性,非私有
2020-12-13 10:55:31 162
原创 接口类和抽象类
接口类和抽象类一、接口简述接口:把所有成员组合起来,用来封装一定功能的集合二、使用接口的意义意义:归一化只要是基于同一个接口实现的类,那么所有的这些类产生的对象在使用时,从用法上来说都一样。三、归一化归一化:凡是基于同一个接口实现的类,所有的这些类产生的对象在使用的时候,从用法上来说都一样归一化的好处:1、无需关心对象的类是什么,只知道这些对象具备哪些功能即可2、归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合四、抽象类python中没有接口的概念,没有interf
2020-12-12 23:02:30 200
原创 python的类的组合
类的组合一、定义组合:为一个类的对象封装属性,这个属性是另一个类的实例二、组合举例1、模拟游戏类:要求:(1):创建一个任务角色类Gamerole,构造方法中封装三个属性:name,ad(攻击力),hp(血量) (2):Gamerole类中定义一个方法attack:实例化两个对象以及互相攻击的功能 (3):创建一个工具类Weapon,构造方法中封装三个属性:name,ad(攻击力) (4):Weapon类中定义一个方法fight:实例化工具对象以及攻击的力度 方案一 和方案2 对比:方案
2020-12-06 11:05:26 1871 4
原创 python类和对象浅解
类和对象一、类和对象的形象化解释1、类:具有相同属性和技能的一类事物,如人类就是一个类2、对象:类中的一个具体的实例,如我们每个人就是一个实例(对象)二、类的创建1、类名规则:首字母一般大写class 类名(): def __init__(self): pass2、 类的主体由一系列的属性和方法组成3、举例;定义一个Person类class Person():#定义一个类 mind ='有思想的'#静态变量(静态字段) faith = '有信仰的' def __init_
2020-12-04 10:39:44 121
原创 二分查找的三种方法
二分查找要求: 查找的序列必须是有序序列.1、将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;2、利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功代码:非递归方法:lst =[11,22,33,44,55,66,77,88,99]n = 33count =0#找的次数left =0right =len(ls
2020-11-28 20:48:09 628
原创 排序窗口函数
题目描述:对所有员工的当前(to_date=‘9999-01-01’)薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));接下来,
2020-11-23 11:07:43 1188 1
原创 测试工程师面试问题--------数组与链表的区别
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、数组 1.定义 2.存储方式 3.优缺点 二、使用步骤 1.引入库 2.读入数据 3.读入数据 总结一、数组1.定义 相同数据类型的元素按照一定的顺序排列的一个集合2.存储方式 数据的存储区间是连续的,即在内存中,数据的存储空间是连续的3.优缺点 优点: 缺点二、使用步骤1.引入库代码如下(示例...
2020-10-18 09:56:57 151 1
原创 线性顺序表、单链表、循环链表、双向链表的区别
线性顺序表、单链表、循环链表、双向链表的区别1、线性顺序表用一种地址连续的存储单元依次存储线性表的数据元素2、单链表(又称线性链表)用一组任意的存储单元(此存储单元可以是连续的也可以是不连续的)来存储线性表的数据元素。通过指针指向逻辑上的下一个数据元素的地址,从而找到下一个元素。线性链表包含两个域:数据域和指针域(用来存储直接后继存储位置)只可单向遍历3、循环链表循环链表与线性链表相同,都是用一组任意的存储单元来存储线性表的数据元素。不同的地方在于循环链表的最后一个结点是指向头结点的,所以
2020-10-17 23:12:28 3659
原创 http请求的8种类型以及post和get的区别
http请求的8种类型以及post和get的区别一、http的8种请求类型:1、get:请求指定的页面信息,并返回实体主体2、post:向指定资源提交数据并进行处理请求。数据被包含在请求体中,post请求可能会导致新的资源的建立或已有资源的修改3、head:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头4、options:允许客户端查看服务器的性能5、put:从客户端向服务器传送的数据取代指定的文档的内容6、Delete:请求服务器删除指定的页面7、Trace:回显服务器收
2020-10-12 10:41:12 3899
原创 python中字典的get方法使用详解
1、功能:返回字典中指定键的值,如字典中不存在此值,返回默认值2、语法:dict.get(key, default=None)key – 字典中要查找的键。default – 如果指定键的值不存在时,返回的默认值3、举例说明dic ={'china':'北京','USA':'华盛顿','Japan':'东京'}pringt(dic.get('china'))pringt(dic.get('UK','nothing'))结果:北京nothing...
2020-08-27 22:40:28 1119
原创 数据清洗的相关指标
数据清洗的相关指标1、首先给出混淆矩阵对于混淆矩阵,作以下说明:TP:实例为正类,同时预测为正类FP:实例为负类,但是预测为正类FN:实例为负类,同时预测为负类TN:实例为正类,但是被预测负类2、我们定义:准确率(正确率)=所有预测正确的样本/总的样本 (TP+TN)/(TP+TN+FP+FN)精确率= 将正类预测为正类 / 所有预测为正类 TP/(TP+FP)召回率 = 将正类预测为正类 / 所有正真的正类 TP/(TP+FN)F1值 (精确率和召回率的调和平均值)= 精确率
2020-07-12 10:33:31 1167
原创 wm_concat()和group_concat()函数
wm_concat()和group_concat()函数这两个函数的作用形同,实现的功能都是:实现行转列功能,即将查询出的某一列值使用逗号(默认,可改)进行隔开拼接,成为一条数据。语法:1、group_concat()函数select group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] ) from table_name where condition2、wm_concat()函数:默认为‘,‘割
2020-07-07 15:41:16 1312
原创 SQL中的并、交、差运算
SQL中的并、交、差运算1、交(对应于集合中的交集操作,A∩B)注:返回查询结果中相同的部分既他们的交集,想保留所有的重复,必须用INTERSECT ALL代替INTERSECT(select * from table1) intersect (select * from table2)2、差集(对应于集合中的差集操作,A-B)注:返回在第一个查询结果中与第二个查询结果不相同的那部分行记录,即两个结果的差集,EXCEPT运算自动去除重复,如果想保留所有的重复,必须用EXCEPT ALL代替EXC
2020-07-07 00:00:50 7972
原创 sqlite数据库的系统表sqlite_master
sqlite数据库的系统表sqlite_master1、概述每一个sqlite数据库都有一个叫sqlite_master的表,用来定义数据库的模式。此表中记录着这个数据库中的所有表的信息,比如表的名称、用于创建此表的sql语句、索引、索引所属的表、创建索引的sql语句等。2、表结构如下:字段 name 是所有表的名字,而且对于自己创建的表而言,字段 type 永远是 ‘table’create table sqlite_master( type text, name text,
2020-07-03 10:42:55 635
原创 sql中的几种删除操作
sql中的几种删除操作用法与区别1、delete语句Delect删除表数据,保留表结构,且可以加where,删除一行或多行。执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作delect from 表名 where codition2、Truncate删除表数据,保留表结构,不可以加where,一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。T
2020-07-02 22:46:56 23739 1
原创 sql 中的alter操作总结
alter用法总结1、增加列alter table 表名 add column 列名 类型 ‘描述’2、删除列alter table 表名 drop column 要删除的列名3、修改列类型、长度ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 新属性或alter table 表名 modify column 列名 属性(col-type);4、重命名列ALTER TABLE 表名字 CHANGE COLUMN 列名 新列名 属性5、重命名表ALTER
2020-07-02 22:01:00 1210
原创 如何创建并强制使用索引
如何创建并强制使用索引■语法◆创建索引creat index index_name on table_name(column_name);◆强制使用索引查询•在SQLite中:select * from table_name(创建索引的表) indexed by index_name where condition•在Mysql中:select * from table_name(创建索引的表)FORCE INDEX (索引名) where condition...
2020-07-02 15:50:45 2092
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人