自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

上善若水,水善利万物而不争。

>>专注软件测试技术与质量管理,致力于软件自动化测试技术★性能测试技术★移动互联网★软件质量管理与过程改进。

  • 博客(445)
  • 资源 (10)
  • 收藏
  • 关注

原创 一个摄影爱好者的图虫主页

借着摄影让自己走动起来,欢迎广大摄影爱好者光临我的图虫个人主页,相互交流摄影技术。https://tuchong.com/7088171/

2019-03-25 19:37:56 1144

原创 【测试技术交流群】自动化|性能测试技术交流群

不少测试同行寻问我要测试技术交流群,所以,借CSDN平台发布一下:软件测试技术交流群(纯技术交流)。以下技术交流群为测试同行技术交流用,共同进步。1、自动化|性能测试技术交流群(1群):272819728

2014-06-19 18:44:53 5966

原创 QTP自动化测试基础系列视频(完)

QTP自动化测试系列视频努力地制作中……敬请大家期待!课程前期设计、录制、后期制作都是我自己,希望此系列视频教程能给大家学习QTP带来帮助!-------------------------------------------------(小席老师QTP自动化测试系列视频)视频发布更新(已更新30集):----------------------------------------

2012-11-21 16:17:56 17174 32

原创 字节码实践 -- 使用 ASM 实现 AOP

      ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能...

2018-10-21 22:25:10 2980 2

原创 一个最简单的javaagent demo实例

JavaAgent 是JDK 1.5 以后引入的,也可以叫做Java代理。JavaAgent 是运行在 main方法之前的拦截器,它内定的方法名叫 premain ,也就是说先执行 premain 方法然后再执行 main 方法。那么如何实现一个 JavaAgent 呢?很简单,只需要增加 premain 方法即可,后续可以在此基础上实现注入拦截,AOP等。package com.xifj.age...

2018-04-18 16:13:41 14235 7

原创 浅读Java虚拟机

理解Java虚拟机结构是Java从业人员必备技能,下面描述Java虚拟机结构、垃圾收集器与内存分配策略,在排查java性能问题以及性能优化时大有帮助,掌握Java虚拟机20%的知识能解决工作中80%的Java性能诊断及优化(与JVM相关)问题。更深入的知识请自行研究源码。一、Java虚拟机结构1、程序计数器:是最小的一块内存区域,它的作用是当前线程所执行的字节码的行号指示器,在虚拟机的模型里,字节...

2018-04-01 22:54:19 718

转载 通俗说说DSP、SSP、RTB、DMP是什么

AdNetwork、AdExchange、DSP、SSP、RTB、DMP这些模式之间存在着内在的关系,所以在理解的时候,我们需要联系起来进行理解,不能分开。    1、RTB(RealTimeBidding,实时竞价):  定义:是一种利用第三方技术在数以百万计的网站上针对每一个用户展示行为进行评估以及出价的竞价技术。  个人理解:如果把互联网比作蜘蛛网,那么当任何一只小生物触碰到这张网上的某个节

2017-12-18 22:12:54 15048

转载 SNI: 实现多域名虚拟主机的SSL/TLS认证

一、介绍 早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计,它默认认为:一台服务器(或者说一个IP)只会提供一个服务,所以在SSL握手时,服务器端可以确信客户端申请的是哪张证书。但是让人万万没有想到的是,虚拟主机大力发展起来了,这就造成了一个IP会对应多个域名的情况。解决办法有一些,例如申请泛域名证书,对所有*.yourdomain.com的域

2017-02-20 14:30:51 10931

转载 数字证书原理(HTTPS&SSL)

1.1 之前已经大概说了一个证书由什么构成,但是没有仔细进行介绍,这里对证书的内容做一个详细的介绍。先看下一个证书到底是个什么东西,在windows下查看一个证书时,界面是这样的,我们主要关注一下Details Tab页,其中的内容比较长,我滚动内容后后抓了三个图,把完整的信息显示出来:里面的内容比较多——Version、Serial number、Signature algorithm 等等,挑

2017-01-22 15:30:55 6011

转载 HTTPS抓包详细分析

专题二:实际抓包分析本文对百度搜索进行了两次抓包,第一次抓包之前清理了浏览器的所有缓存;第二次抓包是在第一次抓包后的半分钟内。百度在2015年已经完成了百度搜索的全站https,这在国内https发展中具有重大的意义(目前BAT三大家中,只有百度宣称自己完成了全站HTTPS)。所以这篇文章就以www.baidu.com为例进行分析。同时,作者采用的是chrome浏览器,chrome支持SNI (s

2017-01-22 14:26:19 23119

转载 HTTPS为什么安全?

1、http为什么不安全?http协议属于明文传输协议,交互过程以及数据传输都没有进行加密,通信双方也没有进行任何认证,通信过程非常容易遭遇劫持、监听、篡改,严重情况下,会造成恶意的流量劫持等问题,甚至造成个人隐私泄露(比如银行卡卡号和密码泄露)等严重的安全问题。

2017-01-22 14:19:52 20562 1

原创 DNS域名解析详解

DNS,是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库。DNS能够使用户更方便的访问互联网,便于记忆;也不用去记住能够被机器直接读取的IP地址,同时便于网站扩容与维护。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。相信大部分对DNS域名解析都不陌生,但详细掌握其中细节的并不多。下面这张图,说明了

2017-01-13 15:54:01 5376

原创 Robot Framework-DatabaseLibrary(MySql)

robotframework进行数据库操作,需要使用到Database-Library,以下是安装及使用步骤:一、Robot Framework安装Database-Library使用管道Pip安装:pip install robotframework_databaselibrary二、API文档说明API参数说明Check If Exists In Database查询语句数据库中存在:存在,则

2016-06-15 12:44:06 11942 1

翻译 Selenium2Library与HttpLibrary.HTTP

Selenium自动化测试中经常要用到的Selenium库与HTTP库:Selenium2Library:http://rtomac.github.io/robotframework-selenium2library/doc/Selenium2Library.htmlHttpLibrary.HTTP:http://peritus.github.io/robotframework-httplibra

2016-05-10 17:28:45 11161 1

翻译 使用pabot并发执行robotframework测试

原文地址:https://github.com/mkorpela/pabotPabotA parallel executor for Robot Framework tests. With Pabot you can split one execution into multiple and save test execution time.My goal in creating this too

2016-05-05 11:58:05 19977

原创 Elasticsearch - 理解字段分析过程(_analyze与_explain)

我们常常会遇到问题,为什么指定的文档没有被搜索到。很多情况下, 这都归因于映射的定义和分析例程配置存在问题。针对分析过程的调试,ElasticSearch提供了专用的REST API。_analyze, _explain是Elasticsearch提供的辅助API,经常不为人所知和所用。_explain 用来帮助分析文档的relevance score是如何计算出来的,而_analyze是Elas

2016-04-20 17:29:21 27801

原创 Elasticsearch - edgeNGram自动补全

现代搜索离不开自动补全功能。正是有了该功能,用户可以方便地找到那些不知如何拼写的条目。看如下索引配置:{"settings": { "analysis": { "analyzer": { "standardWithEdgeNGram": { "tokenizer": "standard",

2016-04-16 14:10:24 14601 3

原创 Elasticsearch - 自定义分析器

全文搜索引擎会用某种算法对要建索引的文档进行分析, 从文档中提取出若干Token(词元), 这些算法称为Tokenizer(分词器), 这些Token会被进一步处理, 比如转成小写等, 这些处理算法被称为Token Filter(词元处理器), 被处理后的结果被称为Term(词), 文档中包含了几个这样的Term被称为Frequency(词频)。 引擎会建立Term和原文档的Inverted In

2016-04-16 12:18:35 25387

翻译 Elasticsearch - 短语匹配(match_phrase)以及slop参数

短语匹配(Phrase Matching)就像用于全文搜索的的match查询一样,当你希望寻找邻近的单词时,match_phrase查询可以帮你达到目的。GET /my_index/my_type/_search{ "query": { "match_phrase": { "title": "quick brown fox" }

2016-04-15 13:27:50 47918 10

原创 Elasticsearch - 搜索类型与搜索位置

一、搜索类型:Elasticsearch允许用户选择其所希望的处理查询的方式。因为存在一些不同的情形,对其使用不同的搜索类型才是合适的。为了控制查询的执行方式,我们可以在请求中使用search_type参数,以有下类型可以选择。1、query_and_fetch:通常是最快也是最简单的搜索类型。查询语句在所有需检查的分片上并行执行,并且所有分片返回结果的规划为size参数的取值。因此,该类型返回的

2016-04-10 19:40:51 8784

翻译 Elasticsearch - 自动检测及动态映射Dynamic Mapping

一、自动映射:ES通过查看定义某文档的json格式就能猜测到文档结构,我们称之为自动映射,在开发过程中需要注意这些特性。字段自动检测在某个字段第一次出现时,如果之前没有定义过映射,ES会自动检测它可能满足的类型,然后创建对应的映射。JSON数据ES中的数据类型null不会添加字段true or falsebooleanfloating point numberdoubleintegerlongob

2016-04-07 23:34:34 35337 1

原创 Elasticsearch - 模式映射之核心类型

模式映射用于定义索引结构。在建立mapping映射时需要指定字段的类型,以下详细介绍mapping属性常见字段类型。每个字段类型可以指定为ElasticSearch中某个特定的核心类型。ElasticSearch的核心类型如下:1)字符串类型2)数值类型3)日期型4)布尔型5)二进制型首先介绍一下通用属性。index_name:该属性是存储在索引中的字段名称。如果未指定,则默认为字段定义的对象的名

2016-04-07 13:11:18 12348

原创 logstash+elasticsearch+kibana搭建日志收集分析系统

日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志收集装置,对日志中的关键字进行监控,触发异常时进行报警,并且开发人员能够查看相关日志。logstash+elasticsearch+kibana3就是实现这样功能的一套系统,并且功能更强大。logstash:是一个管理日志和事件的工具,你可以收

2016-03-09 22:08:33 11865 2

原创 Logstash中配置默认索引映射(_default_属性)

ES中使用自动检测对索引字段进行索引,例如IP、日期自动检测(默认开启)、数字自动检测(默认关闭)进行动态映射自动为文档设定索引,当需要为字段指定特定的类型时,可能使用Mapping在索引生成定义映射,Logstash中默认索引的设置是基于模板的。首先我们需要指定一个默认的映射文件,文件的内容大致如下:{ "template" : "logstash-*", "mappings" : {

2016-03-08 00:34:03 26617 6

原创 Elasticsearch DSL中Query与Filter的区别

Elasticsearch支持很多查询方式,除了通过9300(默认)端口通过TCP协议进行查询,另一种就是DSL,它是把请求写在JSON里面,然后进行相关查询。一个DSL例子GET _search{  "query": {     "bool": {       "must": [        { "match": { "name":   "Jim" }},         { "match":

2016-03-07 23:13:21 15667 4

原创 Elasticsearch-4种内置分析器

新手需要特别注意ES中内置的分析器,否则查询结果很可能不是预期的,分析器它直接影响到Search与Index操作。Built-in AnalyzersHowever, Elasticsearch also ships with prepackaged analyzers that you can use directly. We list the most important ones next and, to demonstrate the difference in behavior, we show

2016-03-03 23:38:42 11939 2

转载 Elasticsearch-分词器对String的作用

关于String类型——分词与不分词在Elasticsearch中String是最基本的数据类型,如果不是数字或者标准格式的日期等这种很明显的类型,其他的一般都会优先默认存储成String。同样的数据类型,Elasticsearch也提供了多种存储与分词的模式,不同的模式应用于不同的场景。很多人在初次使用Elasticsearch时,都会很纳闷...为什么我存储的一句话,却查询不到?为什么我输入了

2016-03-03 23:05:26 5633

转载 全文检索-Apache Lucene初探

我们简单的讲解一下什么是全文检索。  比如,我们一个文件夹中,或者一个磁盘中有很多的文件,记事本、world、Excel、pdf,我们想根据其中的关键词搜索包含的文件。例如,我们输入Lucene,所有内容含有Lucene的文件就会被检查出来。这就是所谓的全文检索。  因此,很容易的我们想到,应该建立一个关键字与文件的相关映射,盗用ppt中的一张图,很明白的解释了这种映射如何实现。  在Lucene

2016-03-03 22:30:11 2172

翻译 Elasticsearch - 搜索引擎Lucene

1.1. Scaling Lucene怎样在Lucene之上构建一个分布式、高度伸缩、接近实时的搜索引擎呢?让我们回顾一下在搜索引擎(基于lucene)伸缩性这条路上都做了那些尝试,并且elasticsearch是如何尝试并去解决这些挑战的。首先我们了解下最基础的理论知识 building blocks (这些理论基础是构建分布式近实时搜索引擎的基础)。 接着我们研究一下到底哪种才是最佳的分区策略

2015-11-03 23:52:47 4876

原创 Elasticsearch - Java API(与集群交互)

1. Java API1.1. 与集群交互可以通过两种方式来连接到elasticsearch(简称es)集群,第一种是通过在你的程序中创建一个嵌入es节点(Node),使之成为es集群的一部分,然后通过这个节点来与es集群通信。第二种方式是用TransportClient这个接口和es集群通信。1.1.1. Node方式创建嵌入节点的方式如下:    import static org.elast

2015-11-03 17:15:01 4370

原创 Elasticsearch - 集群管理工具Head插件

elasticsearch-headelasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es。或直接下载源码,在本地打开index.html运行它。该工具的git地址是: https://github.com/Aconex/elasticsearch-head 插件安装方法:1.elasticsearc

2015-11-03 16:44:58 12608 1

原创 Elasticsearch - 配置详解

1.1. 配置详解elasticsearch的config文件夹里面有两个配置文 件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日 志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的 东西。cluster.na

2015-11-03 16:14:03 23632 3

原创 Elasticsearch - 处理冲突

当你使用 索引 API来更新一个文档时,我们先看到了原始文档,然后修改它,最后一次性地将整个新文档进行再次索引处理。Elasticsearch会根据请求发出的顺序来选择出最新的一个文档进行保存。但是,如果在你修改文档的同时其他人也发出了指令,那么他们的修改将会丢失。 但是有些时候如果我们丢失了数据就会出大问题。想象一下,如果我们使用Elasticsearch来存储一个网店的商品数量。每当我们卖出一

2015-11-03 15:18:21 15489 1

原创 Elasticsearch - 搜索引擎入门

Elasticsearch是一个分布式可扩展的实时搜索和分析引擎。它能帮助你搜索、分析和浏览数据,而往往大家并没有在某个项目一开始就预料到需要这些功能。Elasticsearch之所以出现就是为了重新赋予硬盘中看似无用的原始数据新的活力。 Elasticsearch每一个独立的部分都不是新创的。比如全文搜索早就已经被实现,统计系统和分布式数据库也早已存在。但是革命之处在于能将这些独立的功能结合成一

2015-11-03 13:07:20 41199 4

原创 Elasticsearch - 核心概念

对于学习Elasticsearch,掌握以下基本概念非常重要,你可以试着将以下概念和mysql(库、表、数据行、字段)进行对位。基本概念Elasticsearch 有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。接近实时(NRT)Elasticsearch 是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1

2015-11-02 15:30:44 5723

原创 RobotFrameWork--selenium2模拟firefox的UA

这里有一篇模拟chorme UA的文章:http://stackoverflow.com/questions/21155750/how-do-i-modify-google-chrome-user-agent-string-with-robot-framework那么,如果模拟firefox的UA呢?一段简单的脚本代码:脚本运行后,打开firefox,从firebug中可以看到UA与脚本中使用的U

2015-09-09 15:01:32 4212 1

原创 《WireShark数据包分析实战》二、让网络不再卡

TCP的错误恢复我是我们定位、诊断、并最终修复网络高延迟的最好工具。1.TCP重传      重传数据包是TCP最基本的错误恢复特性之一,它被设计用来对付数据包丢失。     数据包丢失可能有很多原因,包括出故障的应用程序、流量负载沉重的路由器,或者临时性的服务中断。数据包层次上的移动速度非常快,而且数据包丢失通常是暂时的,因此TCP能否检测到数据包丢失并从中恢复显得至关重要。     决定是否有

2015-09-05 21:03:34 13846

原创 《WireShark数据包分析实战》一、数据包分析技术与网络基础

1.1、数据包嗅探器工作原理1、收集,数据包嗅探器从网络线缆上收集原始二进制数据。通过情况下,通过将选定的网卡设置成混杂模式来完成抓包。该模式下网卡将抓取一个网段上所有的网络通信流量,而不仅是发往它的数据包。2、转换,将捕获的二进制数据转换成可读形式。3、分析,对捕获和转换后的数据进行真正的深入分析。1.2 网络通信原理1.2.1协议现代网络是由多种运行在不同平台上的异构系统组成。为了使它们之间能

2015-08-28 00:52:01 9253 1

原创 Linux下安装过程中编译PHP时报错:configure: error: libjpeg.(a|so) not found

在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法:检查之后发现已经安装libjpeg,但是/usr/lib目录下没有libjpeg.so这个文件,在/usr/lib64下是有的,使用–with-jpeg-dir=/usr/lib64 依然无效,最后用ln -s /usr/lib64/libjpeg.so

2015-08-24 11:38:17 2101

原创 Linux操作系统修改PATH的方法

1. 临时修改:使用export,例如#export PATH=$PATH:/etc/apache/bin2. 针对用户的修改:vi ~/.bash_profile加入:export PATH=$PATH:/etc/apache/bin然后source ~/.bash_profile3. 全局修改(root权限):vi /etc/profile文件,加入:export PATH=$PATH:/et

2015-08-18 14:01:33 2085

selenium_server_tandalone-2.38.0.jar

selenium_server_tandalone-2.38.0.jar

2013-12-15

Selenium Grid 测试可用

Selenium Grid是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web-app的功能测试。利用Grid,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。

2013-11-24

白盒测试中的六种覆盖方法

白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。本文档讲解了白盒测试中的六种覆盖方法,

2013-03-27

TestLink安装及使用手册

TestLink安装及使用手册,讲述了如何通过XAMPP安装testlink,以及安装过程中的注意事项,对mantis进行打通。

2013-02-01

Web测试技术大全

Web测试技术大全

2013-01-30

QTP场景恢复技术

QTP 场景恢复技术,该文档详细描述了QTP中如何进行场景恢复,图文并茂操作。

2013-01-30

QTP环境变量使用方法

QTP环境变量使用方法,文档详细介绍了QTP环境变量的概念及其使用方法。

2013-01-30

QTP虚拟对象的使用

QTP 虚拟对象的使用方法,在使用qtp录制脚本时会遇到对象不能识别的问题,可以采用创建虚拟对象的方法来解决此问题。

2013-01-11

空空如也

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

TA关注的人

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