自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

原创 Struts2登录拦截器的简单示例

登录拦截几乎每个WEB系统都会用到.在这里记录一下自己对于Struts2登录拦截的简单实现.逻辑也非常简单: 用户通过登录页面,进入到主页.如果不通过登录强行进入到主页,则会调转到登录页面.1.前台的JSP页面登录页-UserLogin.jsp User Login Usernam

2016-06-01 17:41:24 943

原创 Struts2的三种传值方式

1.普通的传值方式UserActionForCommonParam类Action类接收三个参数,分别是id,username,content.package com.struts.action;public class UserActionForCommonParam { private int id; private String username;

2016-05-31 11:32:29 9479 2

原创 使用Eclipse搭建Python开发环境

因为要进行自动化测试,所以要搭建python开发环境.这里将使用Eclipse+pyDev进行搭建,在此作为笔记记录下来.需要的组件:1.Eclipse SDK 3.7(这里将不再叙述Eclipse的安装步骤)2.python--下载地址:http://www.python.org/getit/(我使用的是2.7.3,具体安装步骤也不在叙述)3.pyDev for Eclipse

2012-12-26 23:43:02 1189

转载 LoadRunner命令汇总

命令行分析函数(1)lr_get_attrib_double() 检索脚本命令行中使用的double类型变量(2)lr_get_attrib_string() 检索脚本命令行中使用的string类型变量(3)lr_get_attrib_long() 检索脚本命令行中使用的long类型变量信息型函数(1)lr_user_data_point() 用户自定义数据监控(2

2012-10-09 08:39:53 1921

原创 如何在LoadRunner场景设计中设置串行脚本执行

以前有人问过我怎么在LoadRunner中做串行脚本的执行.当时不是很在意这个问题.放假的时候突然回想来,就着手试一下.查阅了一些资料,找到对应的解决办法.既然是脚本串行执行,那在场景设计中必然是要用多个脚本,要注意的是需要将Scenario Schedule中的Schedule by设置为Group的模式.然后按实际需要依次设置每个脚本的Schedule.要事先计算好每个脚本的整个执行时间,

2012-10-09 08:25:19 3051

转载 对于测试外包的揭秘

这里主要是以赴IBM测试工程师为例,微软,HP等其他外企的测试外包也都大同小异。 1.测试外包的分类 测试外包可以分为两种: 一种是甲方公司将项目完全包给乙方公司,由乙方公司完全出人力物力,在乙方所在地完成项目; 一种是甲方公司“借用”乙方公司的员工,同甲方员工一起在甲方公司完成项目项目。 凡是赴某某外企工程师的职位都是属于后者。 2.IBM为什么要做测试外包? 可以降低成

2012-09-27 20:32:58 2956 1

转载 为什么场景的平均响应时间比是实际操作的响应时间要长

在跑场景时,会碰到这样一种情况,使用LoadRunner测试出来的响应时间比实际使用浏览器感受到的时间要长,例如,实际使用浏览器打开一个系统时只需要1~2秒,而使用LoadRunner跑一个用户所得出的结果可能是远远超过实际操作的响应时间.针对上述问题进行分析总结,有3种情况:1、在运行LR场景时没有忽略Think Time(思考时间)和记录log的时间.2、施压机或服务器的机器配置不

2012-09-25 14:59:26 4045

原创 使用JConsole远程监控JVM

虽然可以使用LoadRunner编写脚本的方式并采用自定义数据项来监控JVM的内存消耗.但是终归还是第三方工具.所以这次采用JDK中自带的JConsole来监控JVM内存情况.服务器环境:CentOS 6.2 + JDK1.6 + Tomcat6.0首先在$TOMCAT_HOME/bin中找到Catalina.sh文件,在文件中加入:JAVA_OPTS="$JAVA_OPTS -D

2012-09-15 14:16:59 2671

原创 LoadRunner参数和变量之间的转换

这是用LoadRunner自定义监控Tomcat的脚本为基础而写的脚本.阐述了参数相互之间以及参数与变量之间复制传递原理.下面的代码注释是按照自己的理解写的,正确性不一定保证.Action(){ //定义三个字符数组用于条件判断 char jFM[100]; char jTM[100]; char jMM[100]; //必须要预先声明数据转换函数,否则得到的监控结果不正确.

2012-09-06 14:58:52 5808 1

转载 WebDriver常用的鼠标/键盘操作

注:driver为一个WebDriver的实例,xpath为一个元素的xpath字符串,在本文中一律采用xpath的方式定位元素1、鼠标右键点击操作:Actions action = new Actions(driver) ;action.contextClick(driver.findElement(By.xpath(xpath))) ;2、鼠标左键双击操作:Acti

2012-09-05 17:28:03 2939

原创 LoadRunner上传附件脚本

这是上传产品图片的一个实例。参看了LoadRunner的Function Reference,这里记录一下上传脚本的实现方式(比较简单),给自己做一个笔记。 int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex("ParamName=imgRandName", "LB=\"sourceImgPath\":\

2012-08-31 09:51:03 8683 1

转载 HTTP协议详解

转载自:http://blog.csdn.net/gueter引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议

2012-08-28 20:13:17 1673

原创 64位Win7安装Oracle10g+PL SQL注意的问题

由于PL-SQL只能识别32位Oracle客户端所以需要设置环境变量.配置环境变量,右击“我的电脑”->“属性”->“高级”->“环境变量”->“系统变量”,增加如下内容:1 变量名:ORACLE_HOME    变量值:D:\oracle\product\10.2.0\client_12 变量名:TNS_ADMIN    变量值:D:\oracle\product\1

2012-08-28 09:38:44 1086

原创 JProfiler7 Windows客户端监控Linux-适用于Tomcat监控

监控方式介绍:1.Wait for a connection from the Jprofiler GUI,此模式为,在启动Weblogic时,需要等Jprofiler连接后才能启动;2.Start Immeditely,此模式下, Weblogic独立启动,Jprofiler随时可以连接;3.Profile offline, Jprofiler GUI cannot connect

2012-08-28 09:34:54 2389

原创 Ajax里的onreadystatechange的作用

发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态,XMLHttpRequest对象提供了onreadyStateChange事件实现这一功能。这类似于回调函数的做法。 onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果,如: ajaxObj=createAjaxObject(); var

2012-08-28 09:32:16 920

原创 LoadRunner中web_custom_request和web_submit_data的差别

web_custom_request方法可以发送POST和GET类型的请求web_submit_data只能发送POST类型的请求所有web_submit_data方法发送的请求都可以使用web_custom_request来实现web_custom_request可以实现web_submit_data无法实现的请求,比如“查询所有邮件并删除”这个案例中,查询时我们使用关联

2012-08-28 09:27:38 7916

原创 lr_save_string和sprintf的使用

一、lr_save_string函数1.该函数主要是将程序中的常量或变量保存为参数。格式://将常量保存为参数lr_save_string("777","page");web_url(http://www.sina.com.cn/{page});lr_eval_string("{page}");//将变量保存为参数,tmp为变量lr_save_string(tmp,"page

2012-08-27 09:52:33 3356

原创 LoadRunner的Action逻辑运行选择

如果你有三个Action那么你怎么选择他们的运行逻辑呢?例如:你想实现一个脚本需要实现两种路径运行.第一种逻辑是1-2-3,第二种逻辑是1-3.但是LoadRunner总是顺序去执行Action),起初不知道怎么解决.不过稍微想想我们有办法去解决这个问题,还是看代码吧.Action(){ int i = 1; lr_output_message("%s", "Action1-1

2012-08-27 09:37:43 6963

原创 LoadRunner函数简介--事务型函数

很久以前在网上摘到的,忘记从哪里转载的了,这里做一下备份.事务型函数(1)lr_start_transaction() 标记LoadRunner事务开始(2)lr_end_transcation() 标记LoadRunner事务结束(3)lr_start_sub_transaction() 标记子事务开始便于性能分析(4)lr_end_sub_transaction()

2012-08-27 09:18:37 1682

原创 迷茫之后....

虽然做测试有些年头了,回想以前所做的云云,感觉自己是偏离这个行业的本质,始终在这个行业的边缘打转。迷茫的感觉油然而生,一直都不知道怎么去调节。直到有一天很无聊,自己去搜一些关于测试职业发展的帖子,看到有人做了很多年的测试却感觉到迷茫的博文,当然也有前辈帮忙解答的,那些答案给了自己的很大启发。想想自己以前的时候过于沉浸在技术实现上。而自己的质量意识没有什么太大长进,偏科偏的厉害。错过了很多东西。

2012-08-25 14:36:56 952

转载 TestNG 八 并发测试

一、 Concurrenttesting:下面的例子是输出进程ID,threadPoolSize用来指明线程池的大小,也就是并发的线程数目是多少5次调用,有3个线程可调用@Test(invocationCount = 5, threadPoolSize = 3,groups = { "t9"})public void smallThreadPool() { System.out

2012-08-15 10:21:33 6360

转载 TestNG 七 annotation

TestNG中用到的annotation的快速预览及其属性。 @BeforeSuite:   被注释的方法将在所有测试运行前运行@AfterSuite:  被注释的方法将在所有测试运行后运行@BeforeTest:  被注释的方法将在测试运行前运行@AfterTest:   被注释的方法将在测试运行后运行 @BeforeGroups:   被配置的方法将在列表中的gou

2012-08-15 10:17:37 1453

转载 TestNG 六 测试结果

一、成功、失败和断言如果一个测试没有抛出任何异常就完成运行或者说抛出了期望的异常(参见@Test注解的expectedExceptions属性文档),就说,这个测试时成功的。测试方法的组成常常包括抛出多个异常,或者包含各种各样的断言(使用Java "assert" 关键字)。一个"assert"失败会触发一个AssertionErrorException,结果就是测试方法被标记为失败(记住

2012-08-15 10:14:17 10978

转载 TestNG 五 运行TestNG

一、并行运行于超时可以通过在suite标签中使用 parallel 属性来让测试方法运行在不同的线程中。这个属性可以带有如下这样的值:1.parallel="methods": TestNG 会在不同的线程中运行测试方法,除非那些互相依赖的方法。那些相互依赖的方法会运行在同一个线程中,并且遵照其执行顺序。2.parallel="tests": TestNG 会在相同的线程中运行

2012-08-15 10:07:07 5987

转载 TestNG 四 测试方法之工厂

工厂允许你动态的创建测试。例如,假设你需要创建一个测试方法,并用它来多次访问一个web页面,而且每次都带有不同的参数:public class TestWebServer { @Test(parameters = { "number-of-times" }) public void accessPage(int numberOfTimes) { while (numberOfT

2012-08-15 10:03:13 2183

转载 TestNG 三 测试方法

一、设置参数测试方法是可以带有参数的。每个测试方法都可以带有任意数量的参数,并且可以通过使用TestNG的@Parameters向方法传递正确的参数。设置方式有两种方法:使用testng.xml或者Data Providers 。(一)使用 testng.xml 设置参数1.如果只使用相对简单的参数,可以在 testng.xml文件中指定:@Parameters({ "fi

2012-08-14 10:11:42 6832 1

转载 TestNG 二 测试组

一、测试组 TestNG 允许你将测试方法归类为不同的组。不仅仅是可以声明某个方法属于某个组,而且还可以让组包含其他的组。这样TestNG可以调用或者请求包含一组特定的组 (或者正则表达式)而排除其他不需要组的集合。这样,如果你打算将测试分成两份的时候,就无需重新编译。这个特点,会给你在划分组的时候带来很大的灵活性。例如,通常将测试划分为两种类别是再常见不过的了:检查性测试(Check

2012-08-14 09:37:52 2353

转载 TestNG 一 基础概念

一、 概论        TestNG,即Testing, NextGeneration,下一代测试技术,是一套根据JUnit 和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试。        因为TestNG是从Junit的思想构建而来,所以TestNG具备junit等所不具备的多重功能。而且TestNG目前的使用比较广泛,goog

2012-08-13 09:47:10 1723

C++:The Core Language

Gregory Satir & Doug Brown写的一本很受用的书.

2011-04-15

Subversion教程

使用Subversion进行版本控制 --针对Subversion 1.4

2008-09-05

空空如也

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

TA关注的人

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