自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

loner_fang的博客

读万卷书,行万里路,方能回到内心深处

  • 博客(41)
  • 收藏
  • 关注

原创 初识appscan

最近工作不是很多,花了2天时间学习appscan扫描工具。第一天了解了下工具的使用和原理,感觉使用起来还是很简单的。准备第二天学习一下各种配置。第二天早上来上班,领导说难点在于分析结果,让我找开发爸爸一起分析下,无奈开发们都很忙,自然不会理会我。只能自己研究了一波。研究了一些比较常见的安全漏洞,自我感觉还蛮OK。于是用公司的一个现成系统进行了测试,得到的结果,emmmmm,完全看不懂,开发们又很忙...

2018-07-31 18:37:02 2514 1

转载 接口测试如何测

一.什么是接口?接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。二.接口都有哪些类型?接口一般分为两种: 1.程序内部的接口 2.系统对外的接口系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来...

2018-07-27 14:29:15 4899

原创 前后端的一些交互

数据排序一般来说,要实现数据量大且分页智能的都会采用后端来排序,数据量不大的前提下会采用前端排序。排序一般情况都是后端来排,优势在于实时性好,效率高。后端取数据的时候直接在数据库里就排好序,返回给前端,前端直接展示即可。所以,一般来说,如果系统数据排序错误或者没有排序,一般都是后端的锅。注意,我一直在强调“一般来说”,真正测试时具体问题还是要具体分析的。前后端交互导出excel...

2018-07-26 11:08:40 539

原创 数据测试和业务测试

提高对业务逻辑和数据逻辑的熟悉程度。查询查询性能:数据量较大时,页面响应速度是否可观,如较慢需要考虑优化sql;新增身份证号码:支持输入大小写的X。一般情况下,用户输入小写x,应当自动转换为大写X存储进入数据库。 数据测试1、数据来源:来源于哪张表、哪个字段,数据库中的数值与界面数据的对应例如:数据库中性别存储的是0/1,页面展示的应该是男/女,页面展示是否正确...

2018-07-26 11:05:05 10481 1

原创 爬虫的原理和思路(自我总结)

网络爬虫框架主要由控制器、解析器和索引库三大部分组成,而爬虫工作原理主要是解析器这个环节,解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉,爬虫的基本工作是由解析器完成。解析器的具体流程是:入口访问->下载内容->分析结构->提取内容爬虫的思路:1、查看该网站是否可爬,robot.txt是君子...

2018-07-26 10:58:50 3013

原创 python的os模块(Python基础学习)

import module_name本质导入模块的本质就是把python文件解释一遍,然后赋值给模块名module_name os.path.dirname(__file__)    获取当前脚本的绝对路径的父路径os.path.abspath(__file__)    获取当前脚本的绝对路径os.path.join(path,paths)     拼接urlimport...

2018-07-26 10:50:51 162

转载 chrome浏览器不出现‘Chrome正在受到自动软件的控制’的提示语,解决办法:selenium加载配置参数(转)

自学selenium自动化测试的时候遇到了一些问题,就这些问题,自己找资料总结了一些修改方法的办法,希望对学习的人有帮助一:自动化测试的时候,启动浏览器出现‘Chrome正在受到自动软件的控制’,在浏览器配置里加个参数,忽略掉这个警告提示语,disable_infobarsoption = webdriver.ChromeOptions()option.add_argument('di...

2018-07-24 09:13:53 1451

转载 selenium基础知识大全(转)

自动化测试基础1、软件测试分类根据项目流程:单元测试(编码)、集成测试(设计)、系统测试(需求)、验收测试根据代码是否可见:白盒测试、黑盒测试、灰盒测试功能测试:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试性能测试:负载测试、压力测试手工测试:手工执行测试用例自动化测试:性能自动化和功能自动化冒烟测试:在对系统进行正式测试之前,先验证主要功能是否实现,是否具备可测...

2018-07-21 20:22:59 860

原创 python读写csv文件

普通方法读取: def get_data1(self, path,header): """ :param path: csv文件路径 :param header: 表头 :return: 由多组数据组成的列表 """ list = [] with open(path) as fil...

2018-07-21 19:59:27 246

转载 软件测试的N个大坑(转)

 软件测试干了几年,项目一个接着一个,一路从一个坑跳入另一个坑,有些是开发问题,一些是测试本人问题,大家在测试过程中踩过哪些坑尼? 1.自以为了解业务逻辑,实际浮于表面 这是个深坑,产品迭代跟的久了,功能上闭着眼睛都能说清楚就自以为很了解,实际上连该功能使用的协议,调用的接口都不知道,所以看到问题都是表面的问题。 你只看到了两个操作的入口不一样,提示信息不一样,你就以为...

2018-07-21 12:59:31 538

原创 Scrapy Shell调试代码

Scrapy ShellScrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据。启动Scrapy Shell进入cmd输入命令行:scrapy shell "http://quotes.toscrape.com/"状态码200,表示请求成功。在爬取一...

2018-07-20 22:21:25 827

转载 scrapy豆瓣实战反爬机制(转)

前言scrapy是优秀的Python爬虫框架,最近在使用scrapy爬取豆瓣音乐信息时,着实被其反爬机制搞了一下。虽然豆瓣提供了各种API可以供我们提取信息,但是我就是要用爬虫爬你练手。正文常见的反爬机制有如下几种:1.请求头检查,比如cookies,user-agent,refer,甚至Accept-Language等等,这也是最基本的反爬机制。2.访问频次检查,如果一个ip...

2018-07-20 15:04:50 9251 2

原创 scrapy使用自带类 ImagesPipeline下载图片

 ImagesPipeline是scrapy自带的类,用来处理图片(爬取时将图片下载到本地)用的。实现功能:将下载图片转换成通用的JPG和RGB格式 避免重复下载 缩略图生成 图片大小过滤工作流程:爬取一个Item,将图片的URLs放入image_urls字段 从Spider返回的Item,传递到Item Pipeline 当Item传递到ImagePipeline,将调用...

2018-07-19 12:02:48 5887

转载 前后端数据交互之数据接口(转)

转自:https://www.cnblogs.com/eco-just/p/8490972.html废话就不多说了,我们都知道,前端通常会通过后台提供的接口来获取数据来完成前端页面的渲染。1.前端通过接口调用后台返回的数据<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.o...

2018-07-18 17:52:07 2522

转载 实际中前后端开发数据是如何交互的(转)

转自:https://blog.csdn.net/szMacbook/article/details/783754611.前端请求数据URL由谁来写?在开发中,URL主要是由后台来写的,写好了给前端开发者.如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,这里的查询参数也就是URL请求的参数。 2.接口文档主要由谁来写?接...

2018-07-18 17:33:33 6937

转载 分布式爬虫原理(转)

转自:https://blog.csdn.net/zhusongziye/article/details/80457487我们在前面已经实现了Scrapy微博爬虫,虽然爬虫是异步加多线程的,但是我们只能在一台主机上运行,所以爬取效率还是有限的,分布式爬虫则是将多台主机组合起来,共同完成一个爬取任务,这将大大提高爬取的效率。一、分布式爬虫架构在了解分布式爬虫架构之前,首先回顾一下Scra...

2018-07-18 14:03:31 2015

原创 测试人员应该知道的常用HTTP状态码

常见的几个状态码200-请求成功301-资源(网页)被永久转移到其它url404-请求的资源(网页)不存在400-客户端请求的语法错误,服务器无法理解500-内部服务器错误504-网络请求超时,服务器未在规定时间内返回响应 分类 分类描述 2** 成功,操作被成功接收并处理 3**...

2018-07-18 11:34:40 1408

转载 使用pandas模块从数据库读取数据(转)

转自:http://www.tuicool.com/articles/ZVzEz2N Python中用Pandas进行数据分析,最常用的就是Dataframe数据结构,之前写过一篇文章介绍Pandas的基本用法,后来有些朋友问Pandas怎么从数据库中读取数据,怎么从文件中读取数据之类的问题,因此单独开篇文章介绍Pandas如何读取数据到Dataframe。1. Pandas读取Mys...

2018-07-17 18:28:54 5848

原创 Scrapy实现去重,使用Redis实现增量爬取

一、使用场景:定时爬取某网站的数据,每次爬取只爬取并保存新增的数据到数据库中,之前存过的数据不再入库。scrapy官方文档的去重模块,只能实现对当前抓取数据的去重,并不会和数据库里的数据做对比。当有一天需求变了,在你向mysql 数据库保存的时候,发现已经有一部分已经存在,有一部分新的数据,你又需要添加到mysql数据库中,这时候你就需要通过redis来作为中间件,通过url来确保爬过的数...

2018-07-17 18:23:28 5750 4

原创 对数据库Mysql的初步认识

安装Mysql数据库服务器爬虫写入Mysql数据库,一般安装的Mysql数据库都是服务器端。相当于在自己电脑上安装了一个mysql的服务器,这个服务器会对你发出的请求进行响应。自己电脑请求自己电脑上的服务器。Mysql安装的时候登录名默认为root与服务器mysql通话与服务器mysql通话的客户端不止一种,比如说,纯window下或者liunx下的命令行,可以直接通过命令建立与m...

2018-07-16 16:37:29 588

原创 scrapy保存到mysql数据库

提取到数据后,编写pipeline.py文件,保存数据到mysql。1、保存数据库有两种方法:同步操作:数据量少的时候采用 异步操作:数据量大时采用,scrapy爬取的速度大于数据库插入的速度,当数据量大时就会出现堵塞,就需要采用异步保存。这里多大的数据量才可定义为大??2、须知mysql知识点数据库与表的创建,基本操作;      参考https://blog.csdn.ne...

2018-07-16 13:53:46 17385 2

转载 mysql数据库建库建表(转)

 该文章转载自:https://blog.csdn.net/shalyniu/article/details/79247423   感谢作者提供的文章资料~~~mysql语言规则:1.关键字和函数名称全部大写    2.数据库名称,表名称,字段名称全部小写 1、进入mysql数据库,可通过mysql安装的客户端进入,打开客户端输入密码,即进入数据库 2、通过命...

2018-07-16 11:53:19 8536 1

原创 scrapy实现多级页面爬取(初级练习题)

练习题:Quotes to Scrapes【谚语网站】   等级:初级              爬取每条谚语的信息(谚语、作者、标签、作者出生日期、作者出事地点、作者基本描述)思路:1、初始url[网站网址]:http://quotes.toscrape.com/2、得到初始url的response,传递给parse1函数(负责解析第一级页面),解析response;3、获取...

2018-07-15 13:13:30 5531

原创 一个测试小白浮躁的心望找到安放之处

今天早上在打开电脑准备学习的时候,无意间看到一篇文章《从开发转测试,并坚持了16年》。最近在工作过程中,开发总是需要测试去不停的催催催,各个岗位沟通不到位,测试工作很被动等一系列问题导致工作情绪很不好,说实话有些迷茫彷徨,想要找个支撑,于是看完了这篇长文章,看完其实还是有很多收获的。浮躁的世界,浮躁的人心。生怕停下脚步会被这个世界淘汰,却忘记了有时候需要停下脚步让自己更清晰地看清前方的路。...

2018-07-15 12:17:21 469 2

原创 python3.0中各种编码问题

目前python2.0还在使用,但可以看出python3.0才是未来的主流。因此本文主要研究的是Python3中的各编码问题。UnicodeEncodeError错误:字符编码错误python系统默认编码在python2中,系统默认的编码方式是:ASCII码。字母、标点和其他字符只使用一个字节来表示,但对于中文字符来说,一个字节满足不了需求,因此碰到中文的时候就会乱码。>&...

2018-07-14 22:14:02 933

原创 python json函数(python基础学习)

使用之前需要导入json函数import jsonjson.dumps() 将python对象编码成json字符串 json.loads() 将已编码的json字符串解码成python对象 json.dumps()查看dumps的用法>>> import json>>> help(json.dumps)Help on ...

2018-07-13 11:55:16 1952

原创 scrapy框架的基本使用

一、使用场景在需要爬取的数据量极大的情况下,建议使用scrapy框架。性能好。二、scrapy工作原理engine 引擎,类似于一个中间件,负责控制数据流在系统中的所有组件之间流动,可以理解为“传话者” spider 爬虫,负责解析response和提取Item downloader 下载器,负责下载网页数据给引擎 scheduler 调度器,负责将...

2018-07-13 09:20:06 14663 5

原创 python读取xml文件

读取元素节点nodeName 节点名称(标签名)nodeValue 节点值(标签里的文本)nodeType 节点类型如果节点是元素节点,则nodeType返回1;如果节点是属性节点,则nodeType返回2读取文本节点(获取标签对之间的数据)firstChild 属性返回被选节点的第一个子节点,.data表示获取该节点的数据。读取属性节点getAttribute方法可以获得元素的...

2018-07-12 18:26:39 3767

原创 使用xpath定位元素

一、xpath的基本语法xpath(query) :返回query表达式对应的所有节点的selector list。>>> response.xpath('//div[@class="quote"]//small/text()')[<Selector xpath='//div[@class="quote"]//small/text()' data='Albert...

2018-07-12 17:43:56 54606

转载 Orcale中group by的使用(转)

 1、概述“Group By”根据“By”指定的规则对数据进行分组。 2、原始表 3、简单Group By示例1select 类别, sum(数量) as 数量之和from Agroup by 类别返回结果如下表,实际上就是分类汇总。 4、Group By 和 Order By示例2select 类别, sum(数量) AS 数量...

2018-07-11 15:47:05 741

原创 12306火车刷票(python练习题)

本程序的几个注意点:1、selenium定位元素2、登录时,输入验证码(难点),目前采用手动输入验证码3、选择始发地和目的地(难点),需要结合js调试代码(还有一种,点击需要选择的地点,右键检查;即可调试)from selenium import webdriverfrom time import sleepfrom selenium.webdriver.support.wa...

2018-07-10 11:01:06 1375

原创 python的time模块(python基础学习)

time模块1、time.ctime()方法>>> import time>>> time.ctime()'Mon Jun 11 09:39:13 2018'2、time.gmtime()方法方法返回time.struct_time类型的时间对象。>>> import time>>> time.gmtime()time...

2018-07-10 10:41:09 244

原创 python简易闹钟(python练习题)

import winsoundimport timemy_hour = input('请输入时:')my_minute = input('请输入分:')while True: now = time.strftime("%H:%M", time.localtime()) now = now.split(':') hour = now[0] minute =...

2018-07-10 08:48:08 1385

原创 python小练习题(python练习题)

1、猜数字游戏由某人随机出一个指定范围内的数,然后其他人一个一个猜,猜的过程中区间不断缩小,直到猜中为止。import randomi = int(input("random start:"))j = int(input("random end:")) rand = random.randrange(i,j) # 生成区间内的随机数print('Random number in ...

2018-07-09 20:02:01 11716 1

原创 python列表和字典之间的相互转换

列表转换成字典注:列表不能直接使用dict转换成字典。方法一:使用zip()函数a = ['a1','a2','a3','a4']b = ['b1','b2','b3']d = zip(a,b)print(dict(d)) # {'a1': 'b1', 'a2': 'b2', 'a3': 'b3'}将a和b两个列表内的元素两两组合成键值对。当两个列表的长度不一致时,多出的元素在另一个列表无...

2018-07-06 15:03:05 177082 3

原创 python获取对象信息(python基础学习)

dir()函数可以返回变量的所有属性,返回的属性是字符串列表如果已知一个属性名称,要获取或者设置对象的属性,需要用 getattr() 和 setattr( )函数。class Person(object): def __init__(self, name, gender, **kw): self.name = name self.gender = gen...

2018-07-03 20:49:58 1573

原创 python类的继承与多态

python继承的特点:总是从某个类继承。如果没有继承类,则继承自object类python继承的优点:减少代码量;拥有父类的所有功能,只需要编写子类附加的功能即可。python继承类Student类需要有name和gender属性,因为Person类中有所以直接继承即可。另外需要新增score属性。class Person(object): def __init__(self, name...

2018-07-03 20:43:23 8144 1

原创 python中的类属性、实例属性、类方法、实例方法

定义类class Person(): pass创建实例xiaoming = Person()xiaohong = Person()实例属性xiaoming = Person()xiaoming.name = xiaomingxiaoming.age = 24xiaoming.sex = manxiaohong = Person()xiaohong.n...

2018-07-03 10:45:22 54388 4

原创 在python老版本中使用新版本的特性

通过__future__模块来实现。例如,在python2.0中整数除法运算(/)得到的仍然是整数,在python3.0中则改进为'/'得到的是浮点数,'//'得到的是整数。Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)] on win32Type "help", "copy...

2018-07-01 10:51:21 573

原创 python中的匿名函数(python基础学习)

创建一个函数很简单,为函数起个名字有时候却很烧脑,要做到尽量看名知意,python给我提供了一个非常便捷的匿名函数。语法:lambda *args:表达式匿名函数优缺点优点不必定义函数名;一定程度简化代码;缺点只能使用一次,下次使用函数需要重新创建;只能有一个表达式,不可return;例:print map(lambda x,y:x*y,[1,2,3],[4,5,6])print sorted...

2018-07-01 10:04:03 119

空空如也

空空如也

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

TA关注的人

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