使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序

使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序
使用 Lotus Notes 和 Eclipse 管理和运行 Java 程序

使用Lotus Notes 和Eclipse 管理和运行Java 程序

级别: 初级

Ian Connor

软件工程师, IBM Corporation

2004 年10 月

利用Eclipse IDE 为Lotus Notes/Domino 开发Java 代理。下载并安装Eclipse,然后了解使用Eclipse 创建项目、调试Java、重构代理以及将代理导入Domino Designer 是何等轻松。Java 和Lotus Notes/Domino 是理想的开发组合。将它们组合在一起,可以使Notes/Domino 开发人员充分利用其常用开发环境Domino Designer 中目前可用的所有Java 代码和包。

Eclipse 大概是最好的集成开发环境之一,它提供了非常丰富的特性,其中包括上下文相关操作、视图、富调试程序(rich debugger)和重构。重构可以将Java 代码重新命名、移动、添加和提取到新的方法中,以减轻清除初始编码尝试的工作量,使其简洁易读,并使其成为您要向其他开发人员显示的代码。对许多开发工作来说,重构是Eclipse 最好的一项功能。

有了调试Lotus Notes/Domino 7 中的Java 代理的能力,现在就可以协调Lotus Notes/Domino 和Eclipse,为Notes/Domino 应用程序创建设计优良的可调试Java 代理项目。

进行任何Lotus Workplace 开发都需要确实了解Eclipse 是如何工作的。Lotus Notes/Domino 7 提供了一个现在开始学习Eclipse 的极好理由,既将它用于Notes/Domino 的一些操作,增加将来也可以应用于Lotus Workplace 项目的技能。

本文讲述了如何安装Eclipse,如何为Lotus Notes/Domino 创建项目,以及如何将这个项目导入Domino Java 代理中,然后调试该代理。本文还提供了调试这些代理的一些技巧和可能遇到的陷阱。

安装Eclipse

WebSphere Studio Application Developer 是基于Eclipse 的,所以如果安装了Eclipse,就可以随同本文了解如何使用WebSphere Studio Application Developer。如果没有安装Eclipse 或WebSphere Studio Application Developer,那么您需要先获得这两个应用程序。Eclipse 可以从Eclipse 基础网站免费下载。WebSphere Studio Application Developer 的试用版也能找到。

下载Eclipse 或WebSphere Studio Application Developer。Eclipse 很容易安装;Eclipse 的Web 站点上有安装说明。下载了用于Windows 的zip 文件之后,需要运行eclipse.exe 文件。WebSphere Studio Application Developer 比较复杂。请参考相应文档,以获得安装说明。

注意:下面的步骤讲述的是Eclipse 3.0。如果您安装了Eclipse 的其他版本,可能会发现用户界面以及步骤与本文中讲述的有所不同。

Eclipse 和Rational ClearCase 源代码控制

如果要集成Eclipse 和Rational ClearCase 源代码控制系统,可以下载并安装IBM Rational ClearCase SCM adapters for Eclipse 2.11。否则,默认源代码控制系统是CVS。

在Eclipse 中创建新的Java 项目

安装了Eclipse 和所有插件后,现在就可以创建项目,并以此作为Notes/Domino 工作的开始。必须在一个项目内存储所有Java 代码。在工作区中可以有多个项目。在计算机中还可以有多个工作区,可以使用eclipse.exe 的–data 开关来指向不同的工作区。

要创建新的Java 项目,需要打开Eclipse,选择File - New - Project。然后在New Project 对话框中选择Java Project,最后单击Next。

图 1. New Project 对话框

输入项目名称,然后单击Finish。创建了项目后,要更改项目属性中的路径,使其指向Notes.jar 文件。右击Package Explorer 附签中的项目并选择Properties。在Properties 对话框中,选择Java Build Path,然后选择Libraries 附签。单击Add External JARs 按钮,导航到Notes.jar 文件,以将其添加到类路径中。

图 2. Properties 对话框

添加了JAR 文件之后,可以使用项目中Notes Java API 定义的类和接口。Domino Designer on-line help 中有关于Notes Java API 的文档。

接着,需要下载Sun 1.3.1 JRE。或者,如果计算机上安装了Domino 服务器,可以使用该服务器的JVM。Notes 客户机和Domino 服务器应该是匹配的,以确保构建项目所用的JVM 与从服务器任务或代理服务器任务调用时代理和程序将运行的JVM 相同。

Lotus Notes/Domino 的当前版本使用的是Java 1.3.1,所以必须安装该软件以使用正确的版本来构建项目。(Lotus Notes/Domino 7 使用JDK 1.4。)虽然许多Java 代理和程序都可以编译,而且没什么问题,但可能会陷入另一些问题,比如使用一个JDK 版本构建程序,却在另一个版本上运行。如果安装了Eclipse 3.0,因为它是基于Java 1.4.2 的,所以需要删除JDK System Library 并创建一个新库来指向JDK 1.3.1 安装。要进行这项操作,需要选中Libraries 附签的Properties 对话框中的JRE System Library,并单击Remove。

要添加新库,可以单击Add Library 按钮。在Add Library 对话框中,选择JRE System Library,然后单击Next。选择Alternative JRE 选项(如果尚未选择)。然后单击Installed JREs 按钮。单击Add 并完成Add JRE 对话框来添加JDK 1.3.1。

图 3. Add JRE 对话框

保存对项目的更改。

创建第一个Java 代理

Domino Designer 在开始时会自动为您填充第一个Java 代理。不过,Eclipse 不会这样,所以它需要创建新类,来实现正确的AgentBase 接口,获取Domino 会话和agentcontext 对象。可以使用Domino Designer 中的代码作为指导。

图 4. Domino Designer Java 代理

将骨干Java 代码从Domino Designer 直接复制到Eclipse 项目中的新类中。我们建议您创建新的包,并于其中存储代理。这将有助于组织项目,并且这符合一般Java 设计原则。要创建新的包,可以选择File - New - Package。

图5. New Java Package 对话框

我们创建名为com.ibm.NotesJava.agents 的包,因为是在IBM 工作,并且这是我们的Notes Java 项目。我们将在这个包中存储代理。可以看到的其他常见包是com.sun.*、org.apache.* 和核心Java 语言函数的https://www.360docs.net/doc/cf6537959.html,ng.*。至于如何组织包有一整套原则,但这不在本文讨论范围内,重要的是不要将代理和代码放在默认包中,因为这个包杂乱且不专业。

现在已经有了新包,所以可以创建新的Java 类。要在Eclipse 中创建新的Java 类,可以选择File –New –Class。Eclipse 的效率非常高,所以如果已经选择了包,那么Eclipse 将填充包名称。可以在这里添加名称和超类了。对于Notes 代理,超类必须始终是lotus.domino.AgentBase。在Domino Designer 中,该操作是自动进行的,但在Eclipse 中,必须手工完成这项操作。

图 6. New Java Class 对话框

在创建类之后,就可以输入剩余的代理代码,从而使其看起来与Domino Designer 示例中的代理一样。

图7. Eclipse 中的JavaAgent

构建代理时,将在包目录中创建JavaAgent.class 文件。现在已经有了类文件,我们可以将其导入Domino Designer 中的代理中,并在Eclipse 中管理代码。在Domino Designer on-line help 中,请参阅“Import Java”主题,以获取更多信息。在将文件导入代理中之后,当调用该代理时,可以运行已经编写的Java 代码。现在就可以使用Eclipse 调试程序来调试该代码了。

调试Java 代码

Eclipse 封装了Java 调试程序,使您能够遍历和更改变量,监视项并在Java 代码中添加断点。第一步是在调试模式下加载Lotus Domino 中JVM。这样可以强迫JVM 停止,等到附加了调试程序后再继续进行其操作。Lotus Notes/Domino 6 或之后的版本中包含这项功能,要启用该功能,可以添加Notes.ini 变量JavaEnableDebug=1,然后重新启动服务器。

下一阶段是在服务器上运行代理,并等待服务器冻结代理的执行。在冻结代理的执行之后,JVM 将等待调试程序附加到TCP/IP 端口9788。

打开Eclipse 和项目。选择Run - Debug 来打开Debug 对话框,然后选择Remote Java Application,单击New 创建新的调试会话。最后,在Connect 附签中,指定服务器的主机名称,如果服务器在所调试的计算机上,则指定本地主机的名称。

图8. Debug 对话框

对于高级用户,可以按如下所示改变端口号和调试设置:

JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000

Suspend=n 没有冻结服务器来等待调试连接,所以可以错过代理的启动。该调试设置允许您将额外参数传送给服务器中的JVM 调试程序。如果您有自己喜欢的设置,也可以在这里使用。

最好是代理代码中已经设置了断点。当在调试模式下使用Eclipse 将代码附加到服务器时,它应该会自动断开,并允许您检查变量,设置其他断点,执行需要使用的其他所有调试任务。

其他Eclipse 指针

现在Eclipse 中已经有了项目,它提供了Domino Designer 内大型Java 项目所没有的许多增强开发和组织任务。Domino Designer 适用于较小的Java 任务,比如获取或设置多个值或简单的报表。不过,一旦开始将代码分入不同的包、定义接口并将工作委托给其他人,项目管理会变得更复杂。

Eclipse 包含用于协同工作的内置工具,其中包括CVS 源代码控制集成。Rational ClearCase 源代码控制插件允许您附加到ClearCase 中存储的Eclipse 项目中。它提供了自动或即时的代码检入和检出、简洁的修饰符,从而可以轻松地标识源代码控件中的对象及其状态。

Eclipse 中另一项非常有用的功能是可以重构项目。例如,可以选择代码的一部分并将其移至它自己的方法中。如果您有一个非常长的方法,想将其分入较小的步骤中,那么可以将这项操作自动化,Eclipse 能够帮助您实现该自动化。下列代码片断是一个重构示例:

Initial function

public void NotesMain() {

try {

Session session = getSession();

AgentContext agentContext = session.getAgentContext();

Database db;

// I am running this, use the server - or it can assume it is local

if (session.getUserName().equals("CN=Ian Connor/OU=Westford/O=IBM") == true) db = session.getDatabase("support/iris","support/retain.nsf");

else

db = session.getDatabase("","support/retain.nsf");

System.out.print(db.getFileName());

} catch(Exception e) {

e.printStackTrace();

}

}

可以选择要移至其自己的函数的代码部分,然后选择Refactor - Extract Method。这将确定需要传送的参数和应该返回的数据。您所需要做的就是选择方法名称。然后可以预览更改,查看要进行的操作。这将有助于您更好地组织代码,使试图了解代码的其他人更容易维护代码。

正如所有开发人员都知道的,包含较短函数的、简洁的、组织良好的代码基数(code base)要比非常长的、似乎不会结束的1000 行函数容易使用得多。

public void NotesMain() {

try {

Session session = getSession();

AgentContext agentContext = session.getAgentContext();

Database db;

db = getRetainDatabase(session);

System.out.print(db.getFileName());

} catch(Exception e) {

e.printStackTrace();

}

}

private Database getRetainDatabase(Session session) throws NotesException {

Database db;

// I am running this, use the server - or it can assume it is local

if (session.getUserName().equals("CN=Ian Connor/OU=Westford/O=IBM") == true) db = session.getDatabase("support/iris","support/retain.nsf");

else

db = session.getDatabase("","support/retain.nsf");

return db;

}

重构是所有开发工作的基础部分。我们总是不愿意立即共享代码的第一个cut。在使用新的API 或新的工作方式时更是如此。先是花费大量时间编写了一小部分代码,以测试其如何工作,然后当可以运行该代码时,将停下来适当组织代码,使查看该代码的人能够看懂。

结束语

Eclipse 是Notes 开发人员可以在其当前和将来项目中使用的非常有用的平台。它可以帮助开发人员更好地组织项目,与小组中的其他人共享代码,并更好地利用Java 设计技术,如接口和代码分隔。随着Lotus Workplace 和Lotus Notes/Domino 的集成度越来越高,Java 和Eclipse 将发挥重要的作用。Notes 开发人员现在可以凭借自己的合并和群件技能进行构建,同时还要准备应付未来的挑战。

新的产品或工作方式必须具有一些重要功能和优点,才能确保人们愿意采用该产品或方式。对于必须提交编写得很好的、提供优质Java 代码的应用程序的Notes 开发人员来说,Eclipse 提供了调试、重构和源代码控制。所有这些在任何重要的开发工作中都是重要的功

能,它们将确保与得到的成果相比,您花费时间学习如何使用Eclipse 进行Notes 开发是非常值得的。

本文来自CSDN博客,转载请标明出处:https://www.360docs.net/doc/cf6537959.html,/cai_yb/articles/173946.aspx

LoadRunner常见问题分析及解决办法

LoadRunner常见问题分析及解决办法 2010-09-23 08:02 在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协议(如Web、Web Services协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。 需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。 1.LoadRunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。 错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。 错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner 中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。 解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。 错误现象 2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do 错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。 如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。 解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。 如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。 最后,增加一下运行时的超时设置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect

LoadRunner错误及解决方法总结

LoadRunner错误及解决方法总结 1. error:missing newline in d:\loadrunner\name.dat 场景执行时报error:missing newline in d:\loadrunner\name.dat 第二次执行不报 两个解决办法: 第一:如果参数不是很多的话,不要打开记事本去编辑参数,就直接在LR提供的参数的表格中进行编辑即可。 第二:如果参数很多超过100条的话。在记事本中编辑好了之后,记着在最后一个参数后打个回车,让鼠标的光标移动到下一行。 2.load generator is currently running the maximum numb er of vuser of this type 使用的是loadrunner8.0,有10000个用户的web的license,global的有10个。在测试的时候发现running vuser到达1000以后就不能再提高,后面的vuser 就会出错。错误是 “The load generator is currently running the maximum number of vuser of this type”. 已经可以排除是load generator机器本身资源的问题。因为换了性能比较强的酷睿2还是同样的问题,CPU和memory都有空闲。 解决办法:在load generator中有一个Vuser limits tab,可以设置running user 的最大数目。即设置load generator----Details------Vuser limits ----Other Vusers 的最大参数。 3. ERROR-26374及ERROR-26377错误no match found for the requested parameter ”Siebel_Analytic_search_id2”.check whether the requested boundaries exist in the response data. 如果初期或脚本单独回放时即出现此错误,则可能是关联问题: 1.首先看下脚本中有没有使用了自动关联(web_reg_save_param) 2.在Virtual的脚本里查询下web_reg_save_param的参数使用位置,然后把这个参数化给还原回来。 如果初期没这个错误,或脚本单独回放时没有问题,而是压力越大错误率越高的话,怀疑是服务器反馈不及时,或反馈信息错误,或丢包了。导致LR没有从反馈信息中得到这个值。 Error -26609: HTTP Status-Code=503 (Service Unavailable) for "https://www.360docs.net/doc/cf6537959.html,:8090/logon.cfm"引起的原因解释: 一、如果出现“Service Unavailable”的提示,刷新几下又可以访问。

loadrunner常见错误解决方法

1.Error -27727: Step download timeout (120 seconds)has expired when downloading resource(s). Set the “Resource Page Timeout is a Warning” Run-Time Setting to Yes/No to have this message as a warning/error, respectively 处理方法: Run-Time Setting ------ Internet Protocol ------ Preferences ------Option ------ Step download timeout(sec)改为32000 A、应用服务参数设置太大导致服务器的瓶颈 B、页面中图片太多 C、在程序处理表的时候检查字段太大或多 Error -27728: Step download timeout (120 seconds)的解决方法 语法检查通过,但是在并发执行一个查询时候报错Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)设置了runt time setting中 的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项, 选项后再回放就成功了。 2.Action.c(7): Error -27791: Server “192.168.1.77″ has shut down the connection prematurely 解决方案如下:

loadrunner学习入门到精通 常见问题解决方法(七)

第七课LoadRunner常见问题解决方法 一.V uGen的问题 1.使用LoadRunner如何打开不同的浏览器录制? 答:录制时点击Start Record打开录制选择浏览器和地址页面如下图 然后选择要默认打开的浏览器。不设置时,默认打开Internet浏览器。 2.LoadRunner打不开火狐浏览器如何解决? 答:当有一天机器安装了好多浏览器时的时候,我们打不开浏览器怎么办,可以进入浏览器选项,切换到高级标签,去掉“第三方浏览器扩展”选项(去后要重启),然后再次运行vugen即可。 注:使用LoadRunner时要关闭杀毒软件。 3.录制的脚本有乱码如何解决? 答:这是要重新进行录制,但在录制前要在recording options---advanced—surport charset 里选中UTF—8即可。 4.解决在web窗体中有Java script脚本时,不能再tree view视图中显示的方法? 答:将tools—generdl options—correlation—enable scripting and Java applets on snapshots viewer选中即可。 5.录制时的注意事项 (1)脚本中设置了检查点,要选中proforances—checks—enable image and text check 的操作。 (2)集合点要和事务结合使用,集合点只能插入到action部分,vusers_init和vusers_end中不能插入集合点。 6.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时, 如果进行回放则只能成功迭代一次。为什么从第二次迭代开始发生错误?

loadrunner常见问题及解决方法

loadrunner常见问题 1..关于loadrunner11录制脚本时IE打不开问 1、ie浏览器去掉启用第三方浏览器扩展 2、loadrunner11 键盘F4,在browser Emulation点击change,在弹出的提示框中Browser version 选择8.0,platform. 选择windows7 3、loadrunner11 键盘ctrl+F7在弹出的提示框中选择最后一项Correlation,将Enable correlation during recording 下面的勾全去掉,有需要的再勾 4、退出杀毒软件(金山啊360啊什么的都退了) 5、退出迅雷软件 6、计算机——属性——高级系统设置——性能里的设置——数据执行保护——选择“为除下列选定程序之外的所有程序和服务启用”——添加IE浏览器——应用——确定 1.2.controlle打开失败: controller一添加完脚本就崩溃了,报错:试读执行系统不支持的操作;Runtime error!c:\Program Files\hp\LoadRunner\bin\Wlrun.exe abnormal program termination。 解决方案:1.E:\Program Files (x86)\HP\LoadRunner\bin文件下将wlrun.exe文件删除,2.进入“我的电脑”下---控制面板\卸载或更改程序中---右击HP Loadrunner修复。 1.3.设置并发数: User generator tools—create controller scenario—number of vusers 1.4.Loadrunner11安装: 1. 安装完成后,退出loadrunner 2. 把下载的lm70.dll,mlr5lprg.dll 拷贝到../HP/Loadrunner/bin覆盖掉原来的 3. 使用注册表删除工具,点击deletelicense.exe 删除注册表信息 4. 再次打开loadrunner, configuration->loadrunner license->new license,在弹出的输入框中输入license序列号

LoadRunner性能测试指标参考

性能测试指标参考 目录 1术语 (2) 1.1响应时间 (2) 1.2并发用户数 (2) 1.3在线用户数 (2) 1.4吞吐量 (3) 2 Vuser图 (3) 2.1 “运行Vuser ”图(Running Vusers) (3) 2.2 “集合”图(Rendezvous) (3) 3 错误图 (3) 3.1 “每秒错误数(按描述)”图(Error Statistics) (3) 4 事务图 (4) 4.1 “平均事务响应时间”图(Average Transaction Response Time) (4) 4.2“负载下的事务响应时间”图(Running Vuser –Average Transaction Response Time) (4) 4.3“页面细分”图(Web Page Diagnostics图) (5) 4.4“每秒事务数”(Transactions per second 简称:TPS) (6) 5 Web资源图 (6) 5.1“每秒点击次数”图(Hits per Second) (6) 5.2“吞吐量”图(Throughput) (6) 6 系统资源图 (6) 6.1 LoadRunner下监控的UNIX资源指标 (6) 6.1.1平均负载(Average load) (6) 6.1.2 CPU利用率(CPU utilization) (7) 6.1.3 每秒传入的包数(Paging rate) (7) 6.2使用NMON工具监控Linux资源 (7) 6.2.1 系统资源汇总(SYS_SUMM) (7) 6.2.2 磁盘资源汇总(DISK_SUMM) (8) 6.2.3 内存资源(MEM) (8) 7 网络监控器图 (9) 7.1 “网络延迟时间”图(Network Delay Time) (9) 8 数据库服务器资源图 (10) 8.1 Oracle服务器监控度量 (10) 8.1.1 添加Oracle自定义计数器 (11) 8.1.2 性能分析工具Statspack所提供的性能分析指标 (15) 8.2 SQL Server服务器监控度量 (18)

loadrunner录制脚本常见错误

LoadRunner脚本录制常见问题整理 LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。 2.录制Web脚本时,生成的脚本中存在乱码该如何解决? 录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。再次录制,就不会出现中文乱码问题了。 3.HTML-based script与URL-based script的脚本有什么区别? 使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。 通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-based script”模式进行录制。 4.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行? 由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。要想开启检查功能,必须修改运行时的配置Run-time Setting。 进入“Run-time Setting”对话框,依次进入“Internet Protocol→Preferences”,勾选Checks下的“Enable Image and text check”选项即可。 检查执行结果时推荐使用web_reg_find方法。

LoadRunner常见问题解决方法积累

LoadRunner常见问题 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉"启用第三方浏览器扩展(需要重启动)"的勾选,然后再次运行VuGen即可解决问题 还有就是点击“我的电脑-》属性-》高级-》性能设置-》数据执行保护-》选择“仅为基本WINDOWS 程序和服务启用DEP” 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。 2.录制Web脚本时,生成的脚本中存在乱码该如何解决? 录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选"Support charset",然后选择中支持UTF-8。再次录制,就不会出现中文乱码问题了。 3.HTML-based script与URL-based script的脚本有什么区别? 使用"HTML-based script"的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用"URL-based script"模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。 通常,基于浏览器的Web应用会使用"HTML-based script"模式来录制脚本;而没有基于浏览器的Web 应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用"URL-based script"模式进行录制。 4.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行? 由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。要想开启检查功能,必须修改运行时的配置Run-time Setting。 进入"Run-time Setting"对话框,依次进入"Internet Protocol→Preferences",勾选Checks下的"Enable Image and text check"选项即可。 检查执行结果时推荐使用web_reg_find方法。 5.运行时的Pacing设置主要影响什么?

性能测试常见问题

压力测试常见问题记录 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。 2.在Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题? 这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的运行时配置。 进入“Run-time Setting”对话框后,依次进入“Internet Protocol→Preference”。然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。 3.如何让场景的用户执行发生错误继续运行,以保证不间断进行压力测试? 用VuGen打开虚拟用户脚本后,进入“Run-time Settings”对话框后,依次进入“General →Miscellaneous”,可以看到Miscellaneous设置中关于“Error Handling”的配置。勾选“Continue on error”即可让虚拟用户发生错误继续运行。 4.测试分析结果中会统计Action时间,而实际上可能并不须要这些数据,如何只显示自己定义的用户事务? 进入脚本的运行时设置,依次进入General→Miscellaneous。默认情况下,自动事务配置“Automatic Transactions”下有两个选项:第一个是把脚本的Action部分定义为一个事务;第二个时把脚本的每一部分定义为一个事务。去掉这两个勾选后,测试结果将会只显示自己定义的用户事务。 5.统计结果中的总点击量Total Hits时用户的鼠标点击次数吗? Total Hits不时按照用户的鼠标点击次数来计算的,而是按照各个虚拟客户端向后台发起的总的请求数来进行统计的。例如在向服务器请求的一个页面中,如果该页面包含5个图片,用户只要单击鼠标就可以访问该页面,而单个虚拟用户在LoadRunner访问的点击量为1+5=6次。 6.有些Web测试结果分析图(例如每秒返回页面数)在测试结果分析图中无法看到,如何进行配置? 用VuGen打开虚拟用户脚本后,进入“Run-time Settings”对话框后,依次进入“Internet Protocol>Preference”,可以看到一些Web性能图配置。勾选上面得选项后,Controller将会在测试执行过程中生成数据,然后可在Analysis中查看相应的性能结果分析图。 7.LoadRunner HTTP服务器状态: 在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。 错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。

使用loadrunner集群进行分布式测试介绍

b u c e p h a l u s 使用loadrunner 集群进行分布式测试介绍 使用loadrunner 集群可以大大扩展测试机发起负载的能力: ? 解决一台性能测试机不能发起足够大的负载的问题 ? 解决单台性能测试机带宽资源有限的问题 ? 广域网测试中可以模拟分布在不同地域的负载 1. 背景简介 在针对应用系统进行大规模的负载测试时,一台测试机的CPU 、内存、网络、磁盘等资源往往是有限的,难以发起大规模的负载。这时候需要投入更多的硬件资源进行负载测试,loadrunner 提供了进行分布式测试的方法。可以通过一台主控机加上多台agent 机器的方法进行大规模的测试,解决单台测试机压力不足的问题,大大扩展了测试能力。 在rigel 团队中,进行下载、上传等网络带宽资源消耗比较严重的操作时,单台测试机的网络吞吐量容易成为瓶颈,我们通过分布式测试的方法,使用多台机器发起压力,客服了单台测试机吞吐能力不足的问题。 另外,在银行、保险以及大型企业跨地域的系统等大型应用系统中,不可避免的需要将压力产生机分布在各省、地的分公司中,此时使用分布式测试也是必然的选择。 2. 集群环境安装与配置 1. 在中心控制机上安装完整的loadrunner 应用程序; 2. 在从机上安装load generator (也可以选择安装完整的loadrunner 应用程序); 3. 配置agent 环境 4. 添加从机;

b u c e p h a l u s 注:loadrunner 现在也支持load generator 安装在unix/Linux 服务器上,因此我们可以从windows 机器控制unix/linux 作为负载产生机来进行压力测试。测试过程中注意如果脚本中含有文件路径相关的操作存取操作,请注意脚本更改和调试。 5. 测试中心控制机和从机的连接; 选择要使用的从机,点击connect 进行测试。如果成功就可以使用中心机进行调度了。如果失败需要检查失败原因,一般要重点检查一下防火墙(windows 自带和防火墙软件)的安全策略以及网络安全策略。 6. 查看agent 的状态 主机和从机连接成功之后,可以在从机上查看agent 的状态。在任务栏右下角有个云朵样的tray 图标,双击打开后可以看到该服务当前服务的主机和当前状态。 例如,下图中服务于DELLD530的agent 正在运行一个虚拟用户,ecom ‐y12则没有运行任何用户。 细心的同学还可以看出,一个load generator 机器可以同时开多个agent 进程服务于不同的主机(controller 所在机器)哦。

loadrunner常见问题汇总

loadrunner常见问题汇总 余勇俊 目录 一、loadrunner不能打开网页细分模块说明 (2) 二、Action.c(8): Error: Cannot start transaction问题处理 (3) 三、Error -27740: Overlapped transmission of request重叠传输请求失败问题处理 .. 4 四、Action.c(11): Error -27796: Failed to connect to server问题处理 (5) 五、loadrunner连接超时的设置 (7) 六、loadrunner中对https证书的配置 (11) 七、Two Way Communication Error问题处理 (13) 八、Action.c(11): Error -26601:问题解决办法 (15) 九、修改win 7 64位系统的TCP连接数限制设置 (16) 十、Action.c(24): Error -27195:问题处理 (18)

一、loadrunner不能打开网页细分模块说明 loadrunner不能打开网页细分模块的原因是:loadrunner的汉化安装包问题导致。解决办法: 下载loadrunner11.0官方英文版安装包和破解包。 测试场景中配置如下:

二、Action.c(8): Error: Cannot start transaction问题处理 出现这个错误的原因,是脚本的开始和结束语句的字符没统一造成的。 Action.c(8): Error: Cannot start transaction "点击1K静态页". This Vuser already started a transaction with the same name, and has not yet processed the corresponding lr_end_transaction statement. Action.c(8): Error: Cannot start transaction "点击1K静态页". This Vuser already started a transaction with the same name, and has not yet processed the corresponding lr_end_transaction statement.

LoadRunner使用常见问题解答

loadrunner常见问题解答 LR由哪些部件组成? 使用LR 完成测试一般分为四个步骤: 1)Virtual User Generator 创建脚本 创建脚本,选择协议、录制脚本、编辑脚本 检查修改脚本是否有误 2)中央控制器(Controller)来调度虚拟用户 创建Scenario,选择脚本、设置机器虚拟用户数、设置Schedule 如果模拟多机测试,设置Ip Spoofer 3)运行脚本 分析scenario 4)分析测试结果 安装LR 中文版 LR 分为Windows 版本和Unix 版本。如果我们的所有测试环境基于Windows 平台,那么我们只要安装Windows 版本即可。本章讲解的安装过程就是LR7.8中文的Windows 版本的安装。 如何对图表进行合并,定位系统瓶颈 合并图的三种方式:叠加(Overlay),平铺(Tile)和关联(Correlate) 在结果分析图中,Open a new Graph ,右击选择【Merge Graphs】,然后选择要合并的图,选择合并图的类型

(1)叠加方式:合并的图使用相同的横轴,使用各自的纵轴。 (2)平铺方式:平铺的图使用相同的横轴,使用各自的纵轴。 (3)关联方式:合并图的纵轴变为合并图的横轴,被合并的图的纵轴变成合并图的纵轴。如何根据分析结果判断性能是否有所改善 LR Analysis 提供了对性能测试结果的交叉比较功能。 操作步骤:【file】>【Cross With Result…..】在Cross Result 中【add】要比较的两个或多个测试结果路径,系统会自动创建两次测试结果的归并对比图。

LoadRunner调用不了IE浏览器录制脚本的解决办法

在使用Load Runner进行性能测试时,录制脚本的时候,发现LOADRUNNER不能调用IE ,不能自动启动IE ;还有一种情况就是:能够调用IE ,但是录制不到内容,Action的内容为空;一般遇见这样的问题,总结一下,共有以下几种问题和解决办法 1,系统安装多个浏览器 问题描述: 当系统安装多个浏览器时,默认的浏览器不是IE 浏览器,这样就导致LOAD RUNNER打开的默认浏览器不是IE ,自然不能调用IE并录制内容了; 解决办法: 设置IE 浏览器为默认浏览器,重启LOADRUNNER 即可进行录制。 2,版本支持问题 问题描述: 大家可能都知道,loadrunner8.1(包含loadrunner8.1版本)以下的版本,只支持IE的老古董-IE6版本;loadrunner9.*的版本,只能支持IE7以及IE6两个版本,而loadrunner11,才能完全兼容支持IE8,如果你使用的是IE9的话,那抱歉了,LoadRunner就不能录制IE 脚本了。解决办法: 1,根据自己的IE版本选择合适的loadRunner版本进行安装 2,如果loadrunner只有当前一个版本的话,那就选择一个当前版本你的loadrunner支持的IE 版本进行测试,如果IE版本过高就卸载IE ,安装低版本IE 浏览器。 3,Loadrunner设置问题 问题描述: 在loadrunner进行录制时,loadrunner设置的浏览器程序路径地址不对,找不到浏览器程序而导致loadrunner不能调用IE 解决办法: Loadrunner中recording options的设置正确browser的ie的路径,或者重新指向一下。4,IE插件问题 问题描述: 浏览器禁用第三方插件,导致loadrunner的IE插件不能正常工作,不能监控IE 、打开IE;解决办法: 启动第三方浏览器扩展:IE--→工具--→Internet选项--→高级,把“启动第三方浏览器扩展”前面的勾去掉,在“确定”; 5,注册表问题 问题描述: 安装其他软件时,导致loadrunner的注册表信息被修改,loadrunner系统的注册信息异常,loadrunner不能找到IE的路径,不能打开IE,自然不能调用IE来录制; 解决办法: 1,重新注册loadrunner信息即可:在lr的安装目录(例如C:\Program

LoadRunner常见问题

loadrunner 常见错误 1.lr_think_tim e默认是没有启用的。所以我们在执行测试或在回放的时候启用它。具体操作为:Vugen--》Vuser---》Runtim e-settings-----》thinktim e-----》选中Replay thinktim e,其他设置根据实际需要。 关于thinktim e的一个详细的介绍和用法,见: https://www.360docs.net/doc/cf6537959.html,/htm l/19/n-155019.htm l 2.设置Rendezvous的时间。 在Controller中,Scenarioc菜单-----》Rendezvous 进入就可看到目前脚本中的各个集合点,选中一个,然后点击“Policy”进入后,就可以设置集合点的属性,Rendezvous默认为30秒,可以重新设置成自己期望的值。 3.Step download tim eout(sec) 设置。 这个默认是120秒,但是经常我们要设置的更大一些,具体设置方法:Vugen--》Vuser---》Runtim e-settings----》Preferences------》option,将Step download tim eout(sec)默认值120s改为自己需要的值,其次要改变H TTP-reguest connnect tim eout(sec)和H TTP-reguest receive tim eout(sec)也为相应的值。 4.修改本机tcp连接数。 因为个人pc机的默认的tcp连接数只有15个(xp),所以我们在模拟虚拟多个用户时,就会遇到tcp的连接限制,从而报错。修改的方法:windows下运行 Patch.exe 输入C,再输入你要的TCP/IP连接数字(一般为500~2000)回车确认 输入Y 回车确认。 倒计时15秒后结束。 接着再运行下Patch.exe,看连接数是不是由原来的10变成自己改了的数值。 Patch.exe 下载地址: https://www.360docs.net/doc/cf6537959.html,/2007/05/% ... %E6%8E%A5%E6%95%B0/ 6.对LR中报WSA_IO_pending的解析和解决 Message Code 27740 Overlapped transm ission of request to '%1' for URL 'URL' failed. The transm ission of data to the server failed. It could be a network, router, or server problem. The word Overlapped refers to the way LoadRunner sends data in order to get a Web Page Breakdown. Troubleshooting Add the following statem ent to the beginning of the script to disable the breakdown of the "First Buffer" into server and network tim e: web_set_sockets_option("OVERLAPPED_SEND", "0");

LR常见问题

1、三大组件 Agent Configuration 脚本工具VuGen:脚本编辑器 Controller可以调用脚本 monitor: Analysis: 报表分析器 2、性能指标:响应时间、点击次数、吞吐量、请求数 4、脚本录制、编译(检查有没有语法错误)、脚本回放、脚本优化、脚本验证 4.1录制:划分action,操作之前切换action,比如登陆之前重新切换action,可以新增action如submit_login,然后切换到这个action,Action 退出登录放到,首页—初始化,提交-action 4.2回放:按F10一步一步执行,执行完成后会生成报告,报告pass不一定脚本是没有问题的,因为LR 是通过底层数据流产生压力 4.3脚本优化 a)集合点和事务点顺序 https://www.360docs.net/doc/cf6537959.html,/s/blog_49e4019f0102vxv5.html 我们在性能测试项目中,遇到事务与集合点放置顺序问题时,需要将集合点插在开始事务之前,think time 在集合点之前 以下三项一定要选对 d)文本检查 e)关联 f)插入集合点、事务点、参数化完成后,选工具->创建Controller场景,在controller中选场景->集合->策略,选第二条,当50%比例Vuser到达集合,设计场景参考第六条 g)把登陆部分放到“vuser_init”部分,把需要测试的内容部分放到“action”部分执行,但是如果是模拟多个用户登陆系统,则要把登陆部分放到action部分来实现 5、业务:20个并发登录的情况 1个同样的用户名登录 20个用户名登录,这时需要参数化

LoadRunner回放脚本失败

在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协议(如Web、Web Services协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。 需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。 1.LoadRunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。 错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。 错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。 解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。 错误现象2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do 错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。 如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。 解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。 如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。 最后,增加一下运行时的超时设置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect timeout” 或者“HTTP-request receive”的值。

LoadRunner常遇见报错问题解决方案

LoadRunner常遇见的问题 在压力测试过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协议(如Web、Web Services协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。 需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。 1.LoadRunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。 错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。 错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner 中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。 解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。 2.LoadRunner脚本中出现乱码:在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放停止在乱码位置,脚本无法运行。 错误现象:某个链接或者图片名称为中文乱码,脚本运行无法通过。 错误分析:脚本录制可能采用的是URL-based script方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。 解决办法:重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,然后选中支持“UTF-8”的选项。 3.LoadRunner HTTP服务器状态代码:在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。 错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。

LR常见问题处理

转载:https://www.360docs.net/doc/cf6537959.html,/loadrunn/article/details/7886918 LR常见问题整理 1.LR 脚本为空的解决方法: A、去掉ie设置中的第三方支持取消掉 B、在系统属性-高级-性能-数据执行保护中,添加loadrunner 安装目录中的vugen.exe文件. 有可能是由于录制的URL地址采用的是localhost的问题,改成分配的IP地址或127.0.0.1试试。 C、插入文本检查点步骤时,使用web_reg_find,通常TextPfx和 TextSfx中会包含双引号,需要进行转义(用斜杠),例如: web_reg_find("Search=Body", "SaveCount=Welcome", "TextPfx=欢迎", "TextSfx=", LAST) 遇到flight界面为空的解决的可能方法:

1、如果安装了IE以外的浏览器,并且IE不是默认浏览器,则无法生成录制脚本 2、如果录制脚本时IE不能打开,则需要将浏览器的IE工具高级选项中,将“启用第三方浏览器扩展”的 勾选去掉。360安全卫士退出。 3、lr自带的webtours系统,如果点击Flights选项,出现空白页面,请检查本机oracle的 PERL5LIB环境 2.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。 3.HTML-based script与URL-based script的脚本有什么区别? 使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;

相关主题
相关文档
最新文档