自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python数据结构与算法之冒泡排序

python数据结构中最基本的算法,需要记住

2022-07-16 18:47:51 283 1

原创 Python学习之随机数、元组、命名元组

1.随机数random模块randint(a,b)返回[a, b]之间的整数import randomrandom.randint(1,2) #[1,2]1random.randrange(1,2) #[1,2)1choice(seq)从非空序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数lst = list(range(0,10))lst[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]for i

2021-12-19 17:20:59 1642

原创 Python数据结构之基础数据结构

2.列表索引、查询、修改、扩展列表list:连续、有序、适合查询链表:有序、适合增删queue:先进先出栈:后进先出2.1 列表初始化l1 = []l2 = [1,2,'1,b,c']l3 = list()l4 = list(range(1,5))列表中的元素可以是任何合法的元素,包括它自己2.2 列表的索引l6 = list(range(1,10))l6[1, 2, 3, 4, 5, 6, 7, 8, 9]正索引:l6[0]-》0l6[8]-》9负索引:l6[-1

2021-12-18 18:22:27 1061

原创 python复习之多线程编程

1.多线程编程的定义def myThread(arg1,arg2): print('%s %s' %(arg1, arg2))for i in range(1, 6, 1): t1 = myThread(i, i+1)运行结果:1 22 33 44 55 6这是没有多线程编程,用的是循环来做的,在运行的时候从for开始运行,然后依次调用函数import threadingimport timefrom threading import current_thre

2021-09-22 11:23:37 97

原创 Python复习之标准库

#日常应用广泛的模块是:#1.文字处理re#2.日期类型的time,datetime#3.数字和数字类型的math、random#4.文件和目录访问的pathlib、os.path#5.数据压缩和归纳的tarfile#6.通用操作系统的os、logging、queue#7.多线程的threading、queue#8.Internet数据处理的base64、json、urllib#9.结构化标记处理工具html、xml#10.并发工具unittest#11.调试工具timeit#12.

2021-09-22 11:23:09 77

原创 Python复习之机器学习之Nump和Pandas

数据采集-》数据预处理-》数据的清洗、建模以及测试数据采集:调查问卷、网络信息收集整理数据预处理:工具将单位统一、格式调整数据的清洗:缺失值、异常值删减建模以及测试:数据算法1.numpy库用于高性能科学计算和数据分析,是常用的高级数据分析库的基础包numpy对矩阵的操作import numpy as nparr1 = np.array([2,3,4])print(arr1)print(arr1.dtype)arr2 = np.array([1.2,2.3,3.4])

2021-09-22 11:22:45 188

原创 Python学习之函数

1. 函数迭代器yeald生成器,也是迭代器的一种def frange(start, stop, step): x = start while x < stop: yield x x += stepfor i in frange(10, 20 ,0.5): print(i)2.闭包内部函数引用外部函数变量定义内部函数后,使用return做外部函数返回值时,要返回内部函数的函数名称def func(): a = 1

2021-09-15 11:09:48 82

原创 Jmeter性能测试+自动化

一、性能测试应用场景:服务器的接口性能测试80% - 20%(UI性能:web渲染,app反应)APP微信小程序webH5模拟器——Jmeter/LRhttp协议,连接到后台服务器(web服务器 + 数据库服务器(mysql) + Linux)通过http协议连接到后台的web服务器,web服务器通过数据库服务器来访问数据,mysql运行在Linux上性能:关键领域的性能才是重点时间、成本、质量二、性能测试目的1.基本目的:验证是否到达用户的性能指标发现软件中存在的性能瓶颈并

2021-08-22 11:50:17 703

原创 Selenium +Python项目实践(unnitest)

1.使用unittest时需要将unittest导进来使用unittest的类必须要继承unittest类case必须是以test开始import unittestclass FirstCase01(unittest.TestCase): def testfirst01(self): print("这是第一条case") def first02(self): print("这是第二条case")if __name__ == '__main__':

2021-08-17 18:08:09 470

原创 Selenium +Python项目实践(注册流程)

目录第一节 如何搭建Selenium环境1.1 Selenium3.0工作原理工作原理详解:1.Client端上运行脚本的时候通过Driver和浏览器进行会话2.进行会话的时候创建一个独一无二的会话Session,创建Session之后就直接和浏览器进行会话3当浏览器再次收到Client发送的脚本时,浏览器会直接解析这个脚本4.在浏览器中执行脚本中的相应操作,执行完之后会将这个结果返回给Client端...

2021-08-15 18:58:37 616

原创 python学习之爬虫初识

步骤:1.根据URL,利用python获取网页的HTML信息(1)安装requests库安装requests库有两种方式:通过pip命令安装pip install requestspycharm中setting->project python->project interpreter安装2. 用python解析网页源码python解析网页源码有很多种方法,比如BeautifulSoup、正则、pyquery、xpath等2.1 源码解析器BeautifulSoup

2021-03-15 18:39:02 380

原创 用selenium+unittest写测试用例

一、使用Unittest编写测试用例通常用selenium编写测试用例,selenium包本身不包含测试工具或框架,所以可以用python自带的框架Unittest来编写测试用例项目需求:对百度网站搜索写测试用例1.导入需要模块import timeimport unittestfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysunittest模块:基于Java Junit的pytho

2021-03-15 18:01:31 456

原创 python+selenium自动化初始

项目需求:打开百度网页,搜索指定关键词一、环境准备1.浏览器:firefox2.驱动:geckodriverhttps://github.com/mozilla/geckodriver/releases/3.解压驱动将解压后的geckodriver放置在python安装目录下的scripts目录下(添加环境变量)4.验证驱动是否安装成功cmd窗口输入geckodriver出现如上图所示,即表明驱动安装成功二、简单实例1.创建firefox webdriver实例2.driver.g

2021-03-15 15:41:33 332

原创 python实现简单GUI窗口

1.Tkinter组件之Menu菜单标签Menu参数Menu 组件通常被用于实现应用程序上的各种菜单,由于该组件是底层代码实现用法创建一个顶级菜单,你需要先创建一个菜单实例,然后使用 add() 方法将命令和其它子菜单添加进去:1.1 实现一级菜单(1)导入Tkinter组件包import tkinter as tk(2)实例化objectt,建立窗口windowwindow = tk.Tk()(3)创建菜单栏,之后用add_command()方法将菜单项加入顶级菜单栏mainm

2021-03-10 11:57:08 1582

原创 python连接Mysql数据库之mysql connector连接数据库

python3.0操作Mysql数据库有两种驱动方式,分别是pyMysql和mysql.connector(1)PyMySQL 是 Python 中用于连接 MySQL 服务器的一个库,它遵循 Python 数据库 API 规范 V2.0,并包含了 pure-Python MySQL 客户端库。MySQL-python :是封装了 MySQL C驱动的 Python 驱动。(2)mysql.connector: MySQL 服务器以独立的进程运行,并通过网络对外服务,所以,需要支持 Python 的

2021-02-20 11:38:30 958

原创 上传csv文件后出现乱码

问题背景:在做某些上传文件的操作时,正常打开csv文件没有出现乱码,但是上传成功后会出现乱码出现这种问题的原因是csv的编码格式不是正常使用的编码格式1.将csv文件使用记事本打开,然后再另存为csv文件时可以看到csv默认编码时ANSI格式解决办法:将上述用记事本打开的文件另存为csv文件的时候,编码格式改为utf-8保存即可再次上传保存好的csv文件,中文内容就不会显示乱码了...

2021-01-08 14:10:05 1755

原创 MySQL语句学习之LEFT JOIN(2)

1.定义left join(左联接) 返回包括左表中的所有记录和右表与关联键相等字段的记录 。right join(右联接) 返回包括右表中的所有记录和左表与关联键相等字段的记录。inner join(等值连接) 只返回两个表中同一关联键相等的行2. 如何解决一对多以上是一对多问题2.1 解决一对多问题group by把一对多的问题转化成聚合查询2.使用distinct解决一对多的问题2.2 group by 和distinct的比较...

2020-12-02 14:02:11 299

原创 MySQL语句使用之LEFT JOIN(1)

1.查看数据库show DATABASES;2.创建表CREATE table table_name{列名1 类型(长度) [约束],列名2 类型(长度) [约束],......}长度区别:int:不影响存取值,即使设定的值超出了长度的范畴,也能存,如果没有达到设定的长度,则使用空格自动填充到设定的长度char:不可变字符,设定的长度就是规定当前字段能存的数据的最大长度,若超出长度,则会报错,若没有达到长度,使用空格填充到设定的长度varchar:可变字符,设定的长度同样是规定当

2020-12-01 17:44:08 1258

原创 SQL语句日常积累

1.create table 字段解释CREATE TABLE t_age(id bigint(20) NOT NULL AUTO_INCREMENT,tdt datetime DEFAULT NULL,tage int(20) DEFAULT NULL COMMENT '年龄',tprovince VARCHAR(20) DEFAULT NULL COMMENT '省份',PRIMARY KEY(id))ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHAR

2020-12-01 17:42:03 87

原创 记安装使用MySQL中遇到的问题

1.MySQL安装成功后,且已经配置好环境变量,打开“MySQL Command Line clent”,如下图所示,此时输入密码会提示后弹框消失,或者尝试进入到mysql的安装目录输入相关命令,出现如下图所示等等,网上搜索多种解决方法,仍然不能解决此问题时。接着往下看…通过“我的电脑-》管理-》服务与应用程序”展开后找到我们的MySQL数据库一下就豁然开朗了,既然MySQL服务是启动好了,前面的一切异常就都可以解释了,不需用输入密码再次连接数据库了...

2020-11-23 18:37:31 74

原创 Postman请求方式及参数

postman的几种请求五种请求:get请求、post请求、带cookie、带Header、上传文件1.get请求:输入URL就能完成步骤:1.新建一个Tab页;2.输入URL,选择请求方式为GET;3.点击“send”按钮;4.查看返回码是否异常2.post请求:post请求与get请求的区别在于post请求需要添加请求体,请求体多半为json格式步骤:1.新建一个Tab页;...

2020-11-10 10:40:48 5617

原创 selenium录制脚本

1. Selenium IDE下载1.1 下载地址1、官方下载地址:https://www.selenium.dev/selenium-ide/,这个不翻墙是下不了的,这里不演示步骤。2、国内下载地址:https://www.crx4chrome.com/crx/77585/ ,这个网络正常基本可以下载。1.2 添加Selenium扩展程序到Chrome2.Selenium录制脚本在浏览器右上角,找到selenium IDE的图标,单击打开。如图所示:2.1 新建一个测试项目2.2

2020-08-24 16:01:44 2172

原创 Monkey测试工具使用

目录1.monkey测试原理2.Monkey启动架构图3.Monkey为什么是Android测试工具原理解析4.Monkey命令5.Monkey日志分析1.monkey测试原理monkey是向系统发送一系列的伪随机的用户事件流,这些事件流包括:按键输入、触摸屏输入、手势输入。实现对应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性和健壮性。2.Monkey启动架构图3.Monkey为什么是Android测试工具原理解析Monkey 程序是由 Android 系统自带,使

2020-08-24 11:18:45 5019 5

原创 MySQL学习

1.MySQL 创建数据表创建MySQL数据表需要以下信息:表名表字段名定义每个表字段注意:MySQL命令终止符为分号 ; 。1.1 GROUP BY 语句GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组1.2 left join,right join,inner join,full join之间的区别inner join(内连接),在两张表进行连接查询时...

2020-08-04 19:48:34 65

原创 使用Jmeter完成简单性能测试

Jmeter性能测试由于JMeter支持录制不够好,现在常用的方法是使用Badboy录制,生成JMeter脚本,然后用JMeter打开,添加监听器来查看结果。1.安装Badboy工具,并打开录制脚本,地址栏中输入要测试的网址recording说明在录制状态2.点击工具栏中红色按钮,开始录制脚本,脚本录制结束后点击红色按钮暂停录制开始录制后,你可以直接在Badboy内嵌的浏览器(主界面的...

2020-07-17 11:42:14 577

原创 java+Selenium元素定位

1.查看页面元素以百度为例可以看到页面元素有:id=“kw” class=“s_ipt” name=“wd”2.Id定位find_element_by_id()3.name定位: find_element_by_name()4.class定位:find_element_by_class_name()5.tag定位:find_element_by_tag_name()如果懂HTML知识,我们就知道HTML是通过tag来定义功能的,比如input是输入,table是表格,等等…。每个元素其实就

2020-07-17 11:41:17 300

原创 JAVA自学知识点

1.Java数据结构在Java中的数据结构主要包括以下几种接口和类:枚举(Enumeration)位集合(BitSet)向量(Vector)栈(Stack)字典(Dictionary)哈希表(Hashtable)属性(Properties)栈(Stack)栈是Vector的一个子类,它实现了一个标准的后进先出的栈。堆栈只定义了默认构造函数,用来创建一个空栈字典(Dictionary)字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构。当你想要通过特定的键而不

2020-06-12 09:10:02 211

原创 测试用例覆盖率

测试覆盖率通常被用来衡量测试的充分性和完整性,从广义的角度来讲,测试覆盖率主要分为两大类,一类是面向项目的需求覆盖率,另一类是更偏向技术的代码覆盖率。需求覆盖率需求覆盖率是指测试对需求的覆盖程度,通常的做法是将每一条分解后的软件需求和对应的测试建立一对多的映射关系,最终目标是保证测试可以覆盖每个需求,以保证软件产品的质量。需求覆盖率统计方法属于传统瀑布模型下的软件工程实践,传统瀑布模型追求自...

2020-03-25 16:11:00 6192

原创 测试用例设计方法

“好的”测试用例必须具备哪些特征?一个“好的”测试用例,必须具备以下三个特征。1.整体完备性: “好的”测试用例一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求。2.等价类划分的准确性: 指的是对于每个等价类都能保证只要其中一个输入测试通过,其他输入也一定测试通过。3.等价类集合的完备性: 需要保证所有可能的边界值和边界条件都已经正确识别。第一,等价类划分方法等价类中...

2020-03-22 11:16:18 283

原创 为图表添加自定义工具提示

1. 工具提示:在pygal中,将鼠标指向条形将显示表示的信息项目描述:创建一个自定义工具提示,并同时显示项目的描述# 5.根据每个项目的星数。获取所有项目的星数names, plot_dicts = [], [] # 创建两个空列表for repo_dict in repo_dicts: names.append(repo_dict['name']) # 对每个项...

2019-08-16 16:51:09 195

原创 爬取GitHub上星级最高的Python项目,并对爬取到的数据进行可视化

使用Pygal可视化仓库创建一个交互式条形图,条形的高度表示项目获得了多少颗星。单击条形图将带你进入项目在GitHub上的主页1.导入要使用的包文件import requestsimport pygalfrom pygal.style import LightColorizedStyle as LCS,LightenStyle as LS # 导入了pygal以及应用于图标的P...

2019-08-15 16:25:27 1504

原创 单元测试之城市和国家

编写一个函数,它接受两个参数:一个城市名和一个国家名,这个函数返回一个格式为City, Country的字符串,如Santiago, Chile, 将这个函数存储在一个名为city_functions.py的模块中。创建一个名为test_cities.py的函数......def get_city_country(city, country): str = city.title(...

2019-08-13 16:38:36 234

原创 单元测试

1.单元测试和测试用例Python标准库中的模块Unittest提供了代码测试工具。1.1 可通过行测试要为函数编写测试用例,可先导入unittest以及要测试的函数,再创建一个继承unnittest.Testcae的类,并编写一系列方法对函数行为的不同方面进行测试"""该测试用例只包含一个方法,它检查函数get_formatted_name()在给定名和姓时能否正常工作"""...

2019-08-11 18:18:24 79

转载 集成工具——Jenkins实现分布式构建和测试

目前很多公司的项目集成都是用的Jenkins工具。因为通过Jenkins工具可以自动化代码从变更到到上线过程中的多个步骤,实现快速迭代,除了加速构建通过Jenkins也可以实现测试的持续集成1.开发变更代码并提交到Git/SVN等库,Jenkins识别到开发代码的变更,按配置进行手动或自动更新待测应用对应的Jenkins工程2.测试人员新增待测应用的自动化测试工程,通过Hook和待测...

2019-06-11 15:09:03 204

空空如也

空空如也

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

TA关注的人

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