`

web test LoadRunner SAP / java / Java Vuser / web_set_max_html_param_len

 
阅读更多

s

 

 

start

 

loadrunner sap docs

http://www.sap.com/demos/richmedia/demos/sap-loadrunner-by-hp-optimize-the-quality-performance-and-scalability-of-end-to-end-business-processes-demo-us.epx

sap download

http://it.***.com/SNsoft/SAP_GUI_710.ZIP

http://it.***.com/SNsoft/gui710_13-10002995.exe

http://it.***.com/SNsoft/services.rar

http://it.***.com/SNsoft/SAP710(PeiZhi)V1.0.pdf

sap jco download

G:\projects\s*****_sap\sap_jco>dir

librfc32.dll    // 2006/06/15  20:37         5,251,072
librfc32.dll.rar
lrapi.jar
sap-jco-3.0.8.jar
sapawrfc.dll
sapawrfc.rar
sapjco-linuxintel-2.1.8.rar
sapjco-linuxintel-2.1.8.tgz
sapjco.jar
sapjco.jar.png
sapjco3.dll
sapjco3.dll.rar
sapjco3_ntintel_32-3.0.8.dll
sapjco3_ntintel_32-3.0.8.rar
sapjco3_ntintel_64-3.0.8.dll
sapjco3_ntintel_64-3.0.8.rar
sapjcorfc.dll   // 2006/06/15  20:37         3,723,264
sapjcorfc.dll.rar
snf-sap-jco-3.0.8.jar
snf-sap-jco-3.0.8.jar.png
snf-sap4j-1.0.2.jar

 

loadrunner sap 脚本无法录制问题解决

1、录制脚本需先登陆SAPGUI更改下述参数sapgui/user_scripting,缺省值为FALSE,该情况下不能录制脚本。需更改为true。

更改方法:

(1)查看Tcode:RZ11

(2)输入参数名称 sapgui/user_scripting

(3)更改为TRUE即可

loadrunner SAP 脚本录制,需SAP userscript 设置true即可录制。

windows 2003 x64 sap setup

D:\soft\sap\SAP_GUI_710\NW_2004s_Presentation\PRES1\GUI\WINDOWS\WIN32\SapGuiSetup.exe

prompt

please switch your terminal server to install mode before running SAPsetup .You can do this using the commandline "change user/install" and reset to execute mode using "change user/ execute "after installation .
Do you want to correct your server mode Now ?

dos 输入

Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>change user /install
用户会话已准备好安装应用程序。
C:\Documents and Settings\Administrator>change user /execute
用户会话已准备好执行应用程序。
C:\Documents and Settings\Administrator>

再次重启电脑,点NO后,安装界面出现了

windows 2003 x64 sap patch setup sap gui 7.10 patch patchlevel 13

D:\soft\sap\gui710_13-10002995.exe

 

sap run

C:\Program Files (x86)\SAP\SapSetup\setup\SAL\SapLogon.s81

sap configuration

连接类型:自定义应用服务器

 

系统连接参数:

描述:my_sap_test

应用程序服务器:192.168.118.169

系统编号:00

系统标识:CRM

SAProute 字符串:null

 

loadrunner sap start sample

D:\Program Files (x86)\Mercury Interactive\Mercury LoadRunner\bin\LRLauncherApp.exe

-- File -- New Single Protocol Script -- SAPGUI -- OK

Start Recording

Applicatoin type:Win32 Applications

Program to record:D:\Program Files (x86)\SAP\SAPgui\saplogon.exe

Program arguments:null

Working directory:D:\Program Files (x86)\SAP\SAPgui

Recording into Action:Action

Record the application startup(勾选 pitch on)

ok

 

action.h

 

Action()
{

	sapgui_open_connection_ex("   /SAP_CODEPAGE=1100  /FULLMENU  192.168.118.169 00 /3 /UPDOWNLOAD_CP=2", 
		"s*****_SAP_test", 
		"con[1]");

	sapgui_select_active_connection("con[1]");

	sapgui_select_active_session("ses[0]");

	sapgui_select_active_window("wnd[0]");

	sapgui_window_maximize(
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui104", 
		END_OPTIONAL);

	lr_start_transaction("登陆信息");

	/*Before running script, enter password in place of asterisks in logon function*/

	lr_think_time(24);

	sapgui_logon("wangqiang1", 
		"654321", 
		"200", 
		"ZH", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1017", 
		END_OPTIONAL);
// 这里登录密码默认为星号,可改为明文654321,运行ok
	lr_think_time(4);

	sapgui_tree_set_selected_node("CIC0 - 联系中心 WinClient", 
		shell1, 
		"F00086", 
		BEGIN_OPTIONAL, 
			"AdditionalNodeInfo=收藏夹;CIC0 - 联系中心 WinClient", 
			"AdditionalInfo=sapgui1018", 
		END_OPTIONAL);

	sapgui_tree_press_key("Enter", 
		shell1, 
		"Enter", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1019", 
		END_OPTIONAL);

	lr_think_time(6);

	sapgui_toolbar_press_button("??BP", 
		shell2, 
		"BPCR", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1022", 
		END_OPTIONAL);

	lr_think_time(44);

	sapgui_set_text("姓 名", 
		"*** ", 
		txtUSER1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1025", 
		END_OPTIONAL);

	sapgui_set_text("移动电话", 
		"138********", 
		txtUSER2, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1026", 
		END_OPTIONAL);
// 这里手机号可以参数化,以便下次能继续run ok
	sapgui_set_text("Email", 
		"782817772@qq.com", 
		txtUSER3, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1027", 
		END_OPTIONAL);

	sapgui_set_text("证件号码", 
		"320924198803225174", 
		txtUSER4, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1028", 
		END_OPTIONAL);

	sapgui_set_focus(ctxtUSER1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1029", 
		END_OPTIONAL);

	sapgui_send_vkey(F4, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1031", 
		END_OPTIONAL);

	lr_think_time(4);

	sapgui_select_active_window("wnd[1]");

	sapgui_window_scroll_to_row("0", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1035", 
		END_OPTIONAL);

	sapgui_set_focus(lbl1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1034", 
		END_OPTIONAL);

	sapgui_send_vkey(F2, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1038", 
		END_OPTIONAL);

	lr_think_time(4);

	sapgui_select_active_window("wnd[0]");

	sapgui_send_vkey(ENTER, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1042", 
		END_OPTIONAL);

	lr_think_time(14);

	sapgui_set_focus(cmbUSER1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1045", 
		END_OPTIONAL);

	sapgui_select_combobox_entry("玄武区", 
		cmbUSER1, 
		"2", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1046", 
		END_OPTIONAL);

	sapgui_select_combobox_entry("淮海路快递点", 
		cmbUSER2, 
		"025021A", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1049", 
		END_OPTIONAL);

	lr_think_time(19);

	sapgui_set_text("路/道/街", 
		"常府街 ", 
		txtUSER5, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1052", 
		END_OPTIONAL);

	sapgui_set_text("邮 编", 
		"210005", 
		txtUSER6, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1053", 
		END_OPTIONAL);

	sapgui_set_focus(txtUSER6, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1054", 
		END_OPTIONAL);

	sapgui_press_button("保存", 
		btnSAVE1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1056", 
		END_OPTIONAL);

	sapgui_status_bar_get_text("paramStatusBarText", 
		BEGIN_OPTIONAL, 
			"Recorded status bar text: 业务合作伙伴 1800490350 已创建 ", 
			"AdditionalInfo=sapgui1059", 
		END_OPTIONAL);

	lr_think_time(52);

	sapgui_toolbar_press_button("????", 
		shell2, 
		"ZS02", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1060", 
		END_OPTIONAL);

	lr_end_transaction("登陆信息",LR_AUTO);

	lr_start_transaction("创建辅助安装订单");

	lr_think_time(34);

	sapgui_set_text("ZCRMT_0100_BTX_UI02-ZZDQSPID", 
		"101000451", 
		ctxtZCRMT_0100_BTX_UI021, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1063", 
		END_OPTIONAL);

	sapgui_send_vkey(ENTER, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1065", 
		END_OPTIONAL);

	sapgui_select_active_window("wnd[1]");

	sapgui_tree_set_hierarchy_header_width("135", 
		shell3, 
		"135", 
		BEGIN_OPTIONAL, 
			"AdditionalNodeInfo=", 
			"AdditionalInfo=sapgui1068", 
		END_OPTIONAL);

	sapgui_tree_select_item("SORG.1001, &Hierarchy", 
		shell3, 
		"          4", 
		"&Hierarchy", 
		BEGIN_OPTIONAL, 
			"AdditionalNodeInfo=销售 ( 唯一 );SORG.1001", 
			"AdditionalInfo=sapgui1069", 
		END_OPTIONAL);

	sapgui_tree_scroll_to_item("SORG.1001, &Hierarchy", 
		shell3, 
		"          4", 
		"&Hierarchy", 
		BEGIN_OPTIONAL, 
			"AdditionalNodeInfo=销售 ( 唯一 );SORG.1001", 
			"AdditionalInfo=sapgui1070", 
		END_OPTIONAL);

	sapgui_tree_set_checkbox("SORG.1001, &Hierarchy, True", 
		shell3, 
		"          4", 
		"&Hierarchy", 
		"True", 
		BEGIN_OPTIONAL, 
			"AdditionalNodeInfo=销售 ( 唯一 );SORG.1001", 
			"AdditionalInfo=sapgui1071", 
		END_OPTIONAL);

	sapgui_press_button("确定   (Enter)", 
		btn1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1074", 
		END_OPTIONAL);

	lr_think_time(34);

	sapgui_select_active_window("wnd[0]");

	sapgui_select_combobox_entry("保内", 
		cmbZCRMT_0100_BTX_UI021, 
		"0", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1077", 
		END_OPTIONAL);

	sapgui_select_combobox_entry("安装", 
		cmbZCRMT_0100_BTX_UI022, 
		"01", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1078", 
		END_OPTIONAL);

	sapgui_set_text("GS_CUSTOM_ADDR-TEL_NUMBER", 
		"02512345678", 
		txtGS_CUSTOM_ADDR1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1079", 
		END_OPTIONAL);

	sapgui_set_focus(ctxtGS_SERVICE_ORDER_H1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1080", 
		END_OPTIONAL);

	sapgui_send_vkey(F4, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1082", 
		END_OPTIONAL);

	sapgui_select_active_window("wnd[1]");

	sapgui_calendar_focus_date("2011-11-25", 
		shell4, 
		"20111125", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1085", 
		END_OPTIONAL);

	sapgui_calendar_select_interval("2011-11-25-2011-11-25", 
		shell4, 
		"20111125,20111125", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1086", 
		END_OPTIONAL);

	lr_think_time(10);

	sapgui_select_active_window("wnd[0]");

	sapgui_select_combobox_entry("上午", 
		cmbGS_SERVICE_ORDER_H1, 
		"09", 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1089", 
		END_OPTIONAL);

	sapgui_set_focus(lblTEXT_01801, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1090", 
		END_OPTIONAL);

	sapgui_press_button("展开组织", 
		btnPB_ORG_EXPAND1, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1092", 
		END_OPTIONAL);

	lr_think_time(6);

	sapgui_press_button("保存订单", 
		btnAA_BUT101, 
		BEGIN_OPTIONAL, 
			"AdditionalInfo=sapgui1095", 
		END_OPTIONAL);

	sapgui_status_bar_get_text("paramStatusBarText", 
		BEGIN_OPTIONAL, 
			"Recorded status bar text: 事务 7100019113 已保存", 
			"AdditionalInfo=sapgui1098", 
		END_OPTIONAL);
// 上面可以精简成这样sapgui_status_bar_get_text("paramStatusBarText");
	lr_end_transaction("创建辅助安装订单",LR_AUTO);

	return 0;
}

 

LoadRunner Java Vuser / loadrunner java properties 文件未部署到agent机器C盘特定temp目录里导致压测异常解决 / zhunianxi 14090090 / 建议带有配置文件的java应用,如xml、properties都打成jar调用最好。

 

loadrunner java exception  / 业务测试脚本如下:

D:\TestCase\20141008_datacenter_cassandra\tc_cassandra_GetResultMap_Batch\libra.perperties

# pre
com.s*****.libra.cassandra.hosts=10.27.15.71,10.27.15.72,10.27.15.73
com.s*****.cassandra.keyspace=libra
# sit
#com.s*****.libra.cassandra.hosts=10.27.39.206,10.27.39.208
#com.s*****.cassandra.keyspace=libra

D:\TestCase\20141008_datacenter_cassandra\tc_cassandra_GetResultMap_Batch\tc_cassandra_GetResultMap_Batch.usr

/*
 * LoadRunner Java script. (Build: _build_number_)
 * 
 * Script Description: 
 *                     
 */

import lrapi.lr;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import com.s*****.libra.cassandra.GetResultCallback;
import com.s*****.libra.client.LibraClient;
import com.s*****.libra.client.LibraClientImpl;

public class Actions
{
	public int init() throws Throwable {
		return 0;
	}//end of init

	public int action() throws Throwable {

	lr.start_transaction("批量发送6条sql请求cassandra");
		LibraClient c = new LibraClientImpl();
		String epl = "<sql6>";
		System.out.println(epl);
		Map<String, String> groupByMap = new HashMap<String, String>();
		groupByMap.put("time_slot", "20140910_545");
		c.getResultMap_Batch(epl, groupByMap, null, 2000,
				new GetResultCallback() {

					public void finish() {

					}

					public void callback(List<Map<String, String>> resultList) {

						for (Map<String, String> map : resultList) {
							for (Entry<String, String> e : map.entrySet()) {
								System.out.print(e.getKey() + "  "
										+ e.getValue() + " ;");
							}
						}
					}

				});
	lr.end_transaction("批量发送6条sql请求cassandra", lr.AUTO);
		return 0;
	}//end of action


	public int end() throws Throwable {
		return 0;
	}//end of end
}

 

D:\TestCase\20141008_datacenter_cassandra\lib

2014-10-09  09:59           252,828 antlr4-runtime-4.1.jar
2014-10-09  09:59           281,694 bsh-2.0b4.jar
2014-10-09  09:59           541,332 cassandra-driver-core-2.0.3.jar
2014-10-09  09:59           322,362 cglib-nodep-2.2.jar
2014-10-09  09:59           160,519 commons-dbcp-1.4.jar
2014-10-09  09:59            60,686 commons-logging-1.1.1.jar
2014-10-09  09:59           111,119 commons-pool-1.6.jar
2014-10-09  09:59         2,833,724 db2jcc-9.5.3.jar
2014-10-09  09:59           313,898 dom4j-1.6.1.jar
2014-10-09  11:20         5,942,618 esper-s*****5.0.0-2.0.1.jar
2014-10-09  09:59           316,907 fastjson-1.1.15.jar
2014-10-09  09:59         2,228,009 guava-16.0.1.jar
2014-10-09  09:59            31,284 jcommander-1.12.jar
2014-10-09  09:59           245,039 junit-4.11.jar
2014-10-09  11:22            10,123 libra-client-2.0.1.jar
2014-10-09  11:20           118,121 libra-common-2.0.1.jar
2014-10-09  09:59           481,535 log4j-1.2.16.jar
2014-10-09  09:59            85,448 metrics-core-3.0.2.jar
2014-10-09  09:59           875,336 mysql-connector-java-5.1.28.jar
2014-10-09  09:59         1,231,993 netty-3.9.0.Final.jar
2014-10-09  09:59            25,515 org.abego.treelayout.core-1.0.1.jar
2014-10-09  09:59            23,445 slf4j-api-1.5.8.jar
2012-11-23  14:32             8,620 slf4j-log4j12-1.4.2.jar
2014-10-09  09:59           232,121 snakeyaml-1.6.jar
2014-10-09  09:59           597,777 testng-6.3.1.jar
2014-10-09  09:59           109,318 xml-apis-1.0.b2.jar
 

 

loadrunner java exception  / loadrunner 场景测试异常报错如下:

 

D:\TestCase\20141008_datacenter_cassandra\Scenario_tc_cassandra_GetResultMap_Batch.lrs

Error: System.err: java.lang.ExceptionInInitializerError

Error: java.lang.NoClassDefFoundError: Could not initialize class com.s*****.libra.client.Configuration

Error: at com.s*****.libra.client.LibraClientImpl.<init>(LibraClientImpl.java:33)

at Actions.action(Actions.java:27)

Error: System.err: Caused by: java.lang.NullPointerException

Error: at com.s*****.libra.client.LibraClientImpl.<init>(LibraClientImpl.java:33)

at Actions.action(Actions.java:27)

Caused by: java.lang.NullPointerException

at java.util.Properties$LineReader.readLine(Properties.java:418)

at java.util.Properties.load0(Properties.java:337)

at java.util.Properties.load(Properties.java:325)

at com.s*****.libra.client.Configuration.init(Configuration.java:40)

at com.s*****.libra.client.Configuration.<clinit>(Configuration.java:34)

... 2 more

查找loadrunner agent 机器的日志                                                                     

\\10.19.95.1\c$\Documents and Settings\Administrator\Local Settings\Temp\brr_UiR.449\netdir\D\TestCase\20141008_datacenter_cassandra\tc_cassandra_GetResultMap_Batch\res\log\tc_cassandra_getresultmap_batch_10.log

 

Start auto log messages stack - Iteration 1.	[MsgId: MMSG-10545]
Starting action Actions.	[MsgId: MMSG-15919]
Notify: Transaction "111" started.	[MsgId: MMSG-16999]
System.err: java.lang.NoClassDefFoundError: Could not initialize class com.s*****.libra.client.Configuration                                                                                                                                                      Error	[MsgId: MMSG-17999]
System.err: 	at com.s*****.libra.client.LibraClientImpl.<init>(LibraClientImpl.java:33)                                                                                                                                                      Error	[MsgId: MMSG-17999]
System.err: 	at Actions.action(Actions.java:27)                                                                                                                                                      Error	[MsgId: MMSG-17999]
Error: java.lang.NoClassDefFoundError: Could not initialize class com.s*****.libra.client.Configuration	[MsgId: MERR-17999]
Error: 	at com.s*****.libra.client.LibraClientImpl.<init>(LibraClientImpl.java:33)
	at Actions.action(Actions.java:27)
	[MsgId: MERR-17999]
End auto log messages stack.	[MsgId: MMSG-10544] 

LoadRunner Java Vuser / loadrunner java properties 文件未部署到agent机器C盘特定temp目录里导致压测异常解决 / zhunianxi 14090090 / phone_md5:772d13e62aa14a9b2c900b24527b0cb4
解决方法:找到loadrunner controller 把java 脚本传递 到loadrunner agent 机器的路径带有netdir的类似目录,找到后放入lira.properties文件,如下:

\\10.19.95.1\c$\Documents and Settings\Administrator\Local Settings\Temp\brr_UiR.449\netdir\D\TestCase\20141008_datacenter_cassandra\tc_cassandra_GetResultMap_Batch\libra.properties

ok 

 

Narya性能测试(二) / Error (-17998): Failed to get [param not passed in call] thread TLS entry.   解决

http://kevindude.iteye.com/blog/869744

本来想用LoaderRunner对Narya的网络性能再做一次测试,LR的java vuser可以直接用java来编写测试脚本,本来还是挺方便的,但是不知道为什么脚本一跑起来就报这么个错: 

Error (-17998): Failed to get [param not passed in call] thread TLS entry. 

实在是有点郁闷的,网上搜索了很久也没找到个所以然,只是有人模模糊糊的指出,有可能是LR的java vuser脚本不支持多线程。想来也是,LR是靠license的并发数来卖钱的,如果你一个vuser可以开多个线程,每个vuser开100个线程,那一个100人的license就可以当1万人来用了,但我们narya的一个client本身就要开几个线程,看来是无法用LR来测了。 

好在开源的社区里还有一个叫JMeter的性能测试工具。我们希望通过工具能够更灵活的来配置我们的测试用例,包括并发用户数,每个用户发送的请求数,和每个请求之间的间隔时间等。JMeter内置了一种叫做java sampler的sampler,我们需要继承AbstractJavaSamplerClient这个类,实现它的下面这个方法。

public SampleResult runTest(JavaSamplerContext javasamplercontext)

 

请问Error-27780:Connection reset by peer错误该怎么解决

http://bbs.51testing.com/thread-512650-1-1.html

给后来人一些提示吧:

HTTPS脚本加:         web_set_sockets_option("SSL_VERSION","TLS"); //设置HTTPS相关信息,版本可以SSL通过浏览器查看

头信息加:          web_add_header("X-Requested-With",                 "XMLHttpRequest");//设置相关头信息,根据每个产品的而定,可以抓包查看,也可以在录制的时候录制所有的头信息

报错案例二 

 

Starting action Action.
Action.c(6): Notify: Transaction "http-post 请求" started.
Action.c(8): web_submit_data("http-post") started  	[MsgId: MMSG-26355]
Action.c(8): t=608ms: Connecting [0] to host 10.27.84.101:443  	[MsgId: MMSG-26000]
Action.c(8): t=611ms: Connected socket [0] from 10.19.95.13:34737 to 10.27.84.101:443 in 1 ms  	[MsgId: MMSG-26000]
Action.c(8): Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "10.27.84.101" failed: [10054] Connection reset by peer  	[MsgId: MERR-27780]
Action.c(8): t=619ms: Closed connection [0] to 10.27.84.101:443 after completing 0 requests  	[MsgId: MMSG-26000]
Action.c(8): Warning -26000: Empty or no response for URL="https://10.27.84.101/foo?name=111&passd=222&user=xxx&nick=rrr&id=333&name1=111&passd1=222&user1=xxx&nick1=rrr&id1=333"  	[MsgId: MWAR-26000]
Action.c(8): web_submit_data("http-post") highest severity level was "ERROR", 0 body bytes, 0 header bytes  	[MsgId: MMSG-26388]
Action.c(8): Notify: Transaction "http-post 请求" ended with "Fail" status (Duration: 0.6737 Wasted Time: 0.6013).
Ending action Action. 

 

案例二解决方案 / SSL与TLS 区别 以及介绍 http://hengstart.iteye.com/blog/840561

主站的证书从ssl3.0更换成TLS1.0,LR默认是ssl3.0的;在脚本开始加个函数就解决了,函数如下:

web_set_sockets_option("SSL_VERSION","TLS"); 

 

 

JAVA连接SAP配置(LIB包在SAP LIB中)

D:\lr>tree /f 
卷 data 的文件夹 PATH 列表
卷序列号为 C8CE-1864
D:.
├─bin
│      librfc32.dll
│      sapjco3.dll
│      sapjcorfc.dll
└─classes
        sapjco.jar
        snf-sap-jco-3.0.8.jar

D:\>lr\classes\sapjco.jar

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.4
Created-By: 1.3.1_18-b01 (Sun Microsystems Inc.)
Specification-Title: SAP Java Connector
Specification-Version: 2.1.7
Specification-Vendor: SAP AG, Walldorf
Implementation-Title: com.sap.mw.jco
Implementation-Version: 20060615 2037 [2.1.7 (2006-06-12)]
Implementation-Vendor-Id: com.sap
Implementation-Vendor: SAP AG, Walldorf
Main-Class: com.sap.mw.jco.About

D:\>lr\classes\snf-sap-jco-3.0.8.jar

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: 11080241
Build-Jdk: 1.6.0_29
Main-Class: com.sap.conn.jco.rt.About

sapjco-linuxintel-2.1.8.tgz

H:\projects\sap_jco\sapjco-linuxintel-2.1.8>ls -l
total 8965
-rw-rw-rw-   1 user     group         354 Jan  9  2007 Readme.txt
drwxrwxrwx   1 user     group           0 Apr 25 18:22 demo
drwxrwxrwx   1 user     group           0 Apr 25 18:22 docs
-rw-rw-rw-   1 user     group     5046073 Jan  9  2007 librfccm.so
-rw-rw-rw-   1 user     group     3827533 Jan  9  2007 libsapjcorfc.so
-rw-rw-rw-   1 user     group      304418 Jan  9  2007 sapjco.jar
1)SUN JDK1.5(API 运行)
 
WINDOWS
      把librfc32.dll,sapjcorfc.dll放入WINDOWS SYSTEM32目录下项目中引用sapjco.jar。
LINUX
     把librfccm.so,libsapjcorfc.so 放入任意目录并且在.brash.rc文件中引入环境变量。项目中引用sapjco.jar。
2)IBM WEBSPHERE JDK1.5(WEB 运行)
LINUX
把librfccm.so,libsapjcorfc.so 放入IBM/WebSphere/AppServer/bin中并在.brash.rc文件中引入该目录环境变量。在IBM/WebSphere/AppServer/lib/中加入sapjco.jar。            
测试环境是否成功:bash-2.05b# /export/home/oracle/midtier/jdk/jre/bin/java -jar sapjco.jar -stdout

 

 

 

 

Loadrunner8.1 + JDK1.5如何解决System Exceptions: EXCEPTION_ACCESS_VIOLATION

http://www.51testing.com/?uid-114582-action-viewspace-itemid-234320

Java Vuser协议的遇到Exception was raised when calling abort-cleanup function in extension java_int.dll: System Exceptions: EXCEPTION_ACCESS_VIOLATION问题,现讲解下这个问题的解决方法。


首先,保证纯净的操作系统


我 之前装的是Loadrunner9.5,准备配JDK1.6,最后怎么都是报错,然后采用Loadrunner8.1 + JDK1.5问题依旧,最后重装了系统,采用Loadrunner8.1 + JDK1.5问题解决。连网上说的A_lrunner_java_protocol_fixes_Feb_05.exe的补丁也未打。

http://dl.iteye.com/topics/download/7a339524-b7a3-382e-a729-0e03cec0417e

http://www.51testing.com/ddimg/uploadsoft/20091222/LR_java.zip

其次:确认JDK环境变量是否正确设置
Windows xp下配置JDK环境变量:
      1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;
  2.安装完成后,右击“我的电脑”,点击“属性”;
      3.选择“高级”选项卡,点击“环境变量”;
      4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;
      5.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依*此变量);      
       Path使得系统可以在任何路径下识别java命令,设为:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
    CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径)
  %JAVA_HOME%就是引用前面指定的JAVA_HOME;
       6.“开始”->;“运行”,键入“cmd”;
       7.键入命令“java -version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功;
      8. DOS中查看相关环境变量是否正常显示echo %path%,echo %classpath%,echo %java_home%。

再则,相关的Class有没有Import进去。


保证上面三步,就可以解决System Exceptions: CEPTION_ACCESS_VIOLATION报错问题。

 

 

[原创]如何解决LodRunner中报错关于Error -10489 : Exception was raised when calling per-thread-terminate function

http://www.cnblogs.com/mayingbao/archive/2006/05/27/410708.html

[原创]如何解决LodRunner中报错关于Error -10489 : Exception was raised when calling per-thread-terminate function   在用Loadrunner实施性能测试时,采用Goal模式加压,存在如果持续长时加压时LoadRunner的Controller会报 Error -10489 : Exception was raised when calling per-thread-terminate function错误;
  问题产生原因:
     Unlike the earlier Windows versions, Windows 2000 and Windows XP have the default environment set to C:\Document and Settings\<user-name>\Local Settings\Temp instead of C:\Windows\temp. This long path with a space can cause several problems for LoadRunner. To resolve the issue, change to a directory without empty spaces. 
  解决方法:
     在C盘(或是其它盘均可以)新建TEMP文件夹(为了后续设置临时文件准备)
     右键"我的电脑"->高级->环境变量->编辑修改TEMP变量目录,指身上面新建的目录,如我的指向C:\TEMP->保存即可^_^

 

SAP ATP 应用服务负载均衡 192.168.40.224 test

http://mylinux.5d6d.com/thread-913-1-1.html

http://hi.baidu.com/%BD%A3%CA%A5_%B7%A8%CA%A6/blog/item/5299cc09e2d8b5c23ac763fe.html

共两步,一是服务器的设置,二是客户端登陆设置。
先在SAP中使用SMLG 进行服务器分组。实例名是SAP系统中定义过的,你没法删也没改。。我们先建一个Group,然后给Group命名为X,把实例加到组中。服务器的配置就这么简单。

下面在用户端设置SAP message服务器,为下一步作准备。
填入以上信息,如果出现1处的错误信息,那么需要执行以下步骤设定Service端口映射:
SAP登陆时会从Windows的service文件中获取服务名称,需要在这个文件中指定service名称与端口映射,
在%systemroot%\system32\drivers\etc\中打开文件services并在其最后加入一行:
sapmsCID     36xx/tcp    

SID是SAP系统的SID(系统ID)号码,需要被替换为你自己的,在SID与3600中的间隔推荐用Tab键而不是使用空格分隔,如果讯息服务器填的是主机名,并且没有DNS来解析,那么还需要在上面指定的目录中的hosts文件中加入IP到主机名的映射

注意:
从理论上讲(自已想像的),SAPGUI总是连接到SAP message服务器,message服务器则判断当前各服务器的响应时间,哪台响应时间最短,则让GUI连到哪台。如果你发现你的服务器配配置都差不 多,但GUI很多都连在一台服务器上,那说明另一台响应时间有点问题需要调整了。你随时可以通过AL08查看各服务器的登陆情况,也可以通过SMLG按 F5查看各服务器的响应时间。

可能遇到的问题
1、在给用户配置客户端登陆时,系统标识中输入PRD,但无法解析出IP。
解决:未配置消息服务器,请更改sapmsg.ini文件。
2、系统标识中输入PRD后,无法选择组服务器,出现一个错误提示,还是乱码的
原因没找到,估计是service文件中某些通讯端口设置有问题,造成无法与message服务器通信,当然也就没法选择组服务器了。
解决:从其他正常的机器上找到windows安装目录下的system32\drivers\etc下的service文件,拷一个过来覆盖就好。

 

JCO连接怪现象 

http://www.iteye.com/problems/3667

这两天用JCO做个接口从数据库导数据进R/3 

昨天调好得程序今天来调试结果报如下异常,JCO连接也不起作用了 

Exception in thread "DefaultQuartzScheduler_Worker-4" java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC' 

JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjcorfc in java.library.path]. java.library.path [C:\Program Files\Java\jdk1.5.0_06\bin;C:\Tomcat 5.5\bin] 

 

貌似是说librfc32.dll sapjcorfc.dll两个动态库得问题。 

开始我没注意,我采用在类里面嵌入web测试,发现我得SAP配置是正确得,也能正常插入数据,为什么在web容器里面就跑不起来,应说我的两个库文件不在还是怎么着。 

无奈之下只有将这两个库文件外加sapjco.jar一起粘贴进 

C:\Program Files\Java\jdk1.5.0_06\bin 

C:\Tomcat 5.5\bin 

结果程序跑起来了…………

Call BAPI with SAP Enterprise Connector Guide

Call__BAPI__with__SAP__Enterprise_Connector_Guide.pdf.rar

http://sapjava.iteye.com/blog/412107

This document is step by step guide on how to calling BAPI in Java with SAP Enterprise connector.

SAP BAPI is remote enabled function module, and we can call it with JCO library.  SAP Enterprise Connector is a wizard to generate proxy code for calling remote function module.

 

1.Install NWDS

First download NWDS from SDN, SAP NetWeaver Composition Environment 7.1 SR5 - Trial Version

You should register an account in SDN first.

Extract downloaded files to temp folder. Then install NWDS follow the installation instruction..

 

2.Create Java Project 

Start Netweaver Development Studio, create Java project. 

Add related library to build path:

 

3.Create proxy class with SAP Enterprise Connector

Select the function module , and click Finish button, Waiting for NWDS will generate proxy codes. 

 

4.Test generated proxy class

 

Java代码  收藏代码
  1. JCO.Client jcoClient =   JCO.createClient(  
  2.                    "800",  
  3.                    "CP.WANG",  
  4.                    "justin65",  
  5.                    "EN",  
  6.                    "/H/eclass.efglobe.com/H/sapecc",  
  7.                    "01");  
  8.         jcoClient.setProperty("jco.client.codepage", "4110");  
  9.           
  10.         CompanyCode_PortType proxy = new CompanyCode_PortType();  
  11.         proxy.messageSpecifier.setJcoClient(jcoClient);  
  12.         jcoClient.connect();  
  13.         Bapi_Companycode_Getlist_Input input = new Bapi_Companycode_Getlist_Input();   
  14.         try {  
  15.             Bapi_Companycode_Getlist_Output output = proxy.bapi_Companycode_Getlist(input);  
  16.             Bapi0002_1Type[] codes = output.getCompanycode_List();  
  17.             if(codes!=null && codes.length> 0){  
  18.                 int len = codes.length;  
  19.                 for(int i=0;i<len;i++){  
  20.                     System.out.printf("%-10s", codes[i].getComp_Code());  
  21.                     System.out.print(new String(new String(codes[i].getComp_Name()).getBytes("UTF-8"),"GBK"));  
  22.                     System.out.println();  
  23.                 }  
  24.             }  
  25.         } catch (ApplicationFaultException e) {  
  26.             // TODO Auto-generated catch block  
  27.             e.printStackTrace();  
  28.         } catch (SystemFaultException e) {  
  29.             // TODO Auto-generated catch block  
  30.             e.printStackTrace();  
  31.         }catch (UnsupportedEncodingException e) {  
  32.             // TODO Auto-generated catch block  
  33.             e.printStackTrace();  
  34.         }  
  35.         jcoClient.disconnect();  

Question:

1.Exception:RFC_ERROR_COMMUNICATION

Exception in thread "main" com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: SAP_CMINIT3 : rc=20 > Connect to SAP gateway failed

Connect_PM  GWHOST=sapecc, GWSERV=sapgw01, SYSNR=01

 

LOCATION    CPIC (TCP/IP) on local host

ERROR       hostname 'sapecc' unknown

 

TIME        Sat Jun 20 16:08:59 2009

RELEASE     710

COMPONENT   NI (network interface)

VERSION     39

RC          -2

MODULE      ninti.c

LINE        895

DETAIL      NiPGetHostByName: 'sapecc' not found

SYSTEM CALL getaddrinfo

COUNTER     1

 

at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeConnect(Native Method)

at com.sap.mw.jco.rfc.MiddlewareRFC$Client.connect(MiddlewareRFC.java:1125)

at com.sap.mw.jco.JCO$Client.connect(JCO.java:3138)

at com.rfc.test.RFCTest.main(RFCTest.java:36)

Solution: When you connect to SAP system in java with JCO.Client , if you want to use SAP router string , please replace SAP host name with “/Hrouter_string/Hhostname” format.

 

2. Exception :

 java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'

JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjcorfc in java.library.path]. java.library.path [C:\Program Files\Java\jdk1.6.0_11\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;E:\oracle\product\10.2.0\db_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programiles\Java\jdk1.6.0_11\bin;;D:\OpenSource\apache-ant-1.7.0\bin;D:\Program Files\MySQL\MySQL Server 5.0\bin ]

        at com.sap.mw.jco.JCO.<clinit>(JCO.java:776)

        at com.rfc.test.RFCTest.getCmp(RFCTest.java:62)

        at com.jt.CompanyPanel.setData(CompanyPanel.java:28)

        at desktopapplication1.DesktopApplication1View.showCompanyCode(DesktopApplication1View.java:248)

Solution: Copy sapjcorfc.dll, librfc32.dll into C:\Windows\System32, these files exist in SAP JCO library, and you could download from SAP Service Market Place, quick link connectors.

http://searchsap.techtarget.com/generic/0,295582,sid21_gci1095552,00.html

 

 

Summary:

Read reference of JCO before programming. Follow the install guide of JCO library.

 

 

 

 

林源: 

SAP_JCO登录参数: 

logonProperties.setProperty("jco.client.client",  "800");  // 800 PRE 系统

logonProperties.setProperty("jco.client.user",   "12061789"); // atp

logonProperties.setProperty("jco.client.passwd", "1234567890");// 654321

logonProperties.setProperty("jco.client.ashost",  "10.19.250.5");

logonProperties.setProperty("jco.client.mshost",  "10.19.250.5");

logonProperties.setProperty("jco.client.group",   "atp_grp");// load

 

I005接口: ZIMS_MM_ORIGIN

inTable.setValue("000000000<cmmdtyCode>", "CMMDTY_CODE");//按照提供文件

inTable.setValue("<PLANT_CODE>", "PLANT_CODE");//按照提供文件

inTable.setValue("0001", "INV_LOCAT");//按照提供文件

inTable.setValue("71000<SERIAL_NO>", "SERIAL_NO"); // 和单据号一样递增20位

inTable.setValue("SAP", "SRC_SYS");// 固定

inTable.setValue("PO", "DOC_TYPE");// 固定

inTable.setValue("<DOC_NO>", "DOC_NO");// 和流水号相同递增20位

inTable.setValue("10", "DOC_ITEM");// 固定

inTable.setValue("0000123456", "BATCH_NO");// 按照提供文件

inTable.setValue("10", "CMMDTY_QTY");// 固定

inTable.setValue("<ReqDate>", "REQUEST_DATE");//固定    inTable.setValue("NEW", "OPERATION_TYPE");// 固定

问题1-------------------------------------

D:\TestCase\20140414_sap_kucun

Virtual User Script started at : 2014-04-15 15:04:12

Starting action vuser_init.

Error: System.err: java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'

JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjcorfc in java.library.path]. java.library.path [C:\Program Files\HP\LoadRunner\bin;.;C:\Documents and Settings\Administrator\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\Documents and Settings\Administrator\WINDOWS;C:\Program Files\Java\jdk1.6.0_10\jre\bin\client;C:\PROGRA~1\HP\LOADRU~1\bin;C:\PROGRA~1\HP\LOADRU~1\bin\gecko;C:\PROGRA~1\HP\LOADRU~1\bin\tulip\bin;C:\Program Files\Java\jdk1.6.0_10\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\strawberry\c\bin;C:\strawberry\perl\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin;C:\Program Files\Java\jdk1.6.0_10\bin;D:\PROGRA~1\db2\BIN;D:\PROGRA~1\db2\FUNCTION;D:\PROGRA~1\db2\SAMPLES\REPL;C:\Documents and Settings\Administrator\WINDOWS;]                                                                                                                                                      Error

System.err: at com.sap.mw.jco.JCO.<clinit>(JCO.java:776)                                                                                                                                                      Error

System.err: at Actions.init(Actions.java:36)                                                                                                                                                      Error

Error: java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'

JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjcorfc in java.library.path]. java.library.path [C:\Program Files\HP\LoadRunner\bin;.;C:\Documents and Settings\Administrator\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\Documents and Settings\Administrator\WINDOWS;C:\Program Files\Java\jdk1.6.0_10\jre\bin\client;C:\PROGRA~1\HP\LOADRU~1\bin;C:\PROGRA~1\HP\LOADRU~1\bin\gecko;C:\PROGRA~1\HP\LOADRU~1\bin\tulip\bin;C:\Program Files\Java\jdk1.6.0_10\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\strawberry\c\bin;C:\strawberry\perl\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin;C:\Program Files\Java\jdk1.6.0_10\bin;D:\PROGRA~1\db2\BIN;D:\PROGRA~1\db2\FUNCTION;D:\PROGRA~1\db2\SAMPLES\REPL;C:\Documents and Settings\Administrator\WINDOWS;]

Error: at com.sap.mw.jco.JCO.<clinit>(JCO.java:776)

at Actions.init(Actions.java:36)

Failed to get file name and line of the script for failed transaction "vuser_init_Transaction".

Abort was called from an action.

 

Virtual User Script started at : 2014-04-15 15:09:14

Starting action vuser_init.

Ending action vuser_init.

Running Vuser...

Starting iteration 1.

Starting action Actions.

Notify: Transaction "getTotalExecTime" started.

Notify: Transaction "getRepository" started.

Error: System.out: Exception:Connect to message server failed

Connect_PM  MSHOST=10.19.250.5, R3NAME=ATE, GROUP=atp_grp

 

LOCATION    CPIC (TCP/IP) on local host

ERROR       service 'sapmsATE' unknown

 

TIME        Tue Apr 15 15:09:14 2014

RELEASE     640

COMPONENT   NI (network interface)

VERSION     37

RC          -3

MODULE      ninti.c

LINE        505

DETAIL      NiPGetServByName2: service 'sapmsATE' not found

SYSTEM CALL getservbyname_r

COUNTER     1

                                                                                                                                                      Notify:

Error: Exception:Connect to message server failed

Connect_PM  MSHOST=10.19.250.5, R3NAME=ATE, GROUP=atp_grp

 

LOCATION    CPIC (TCP/IP) on local host

ERROR       service 'sapmsATE' unknown

 

TIME        Tue Apr 15 15:09:14 2014

RELEASE     640

COMPONENT   NI (network interface)

VERSION     37

RC          -3

MODULE      ninti.c

LINE        505

DETAIL      NiPGetServByName2: service 'sapmsATE' not found

SYSTEM CALL getservbyname_r

COUNTER     1

Ending action Actions.

Ending iteration 1.

Ending Vuser...

Starting action vuser_end.

Error: Vuser started transaction "getRepository", but did not reached a corresponding end transaction statement. The transaction ended automatically with status 'fail'.

Notify: Transaction "getRepository" ended with "Fail" status (Duration: 0.0951).

Error: Vuser started transaction "getTotalExecTime", but did not reached a corresponding end transaction statement. The transaction ended automatically with status 'fail'.

Notify: Transaction "getTotalExecTime" ended with "Fail" status (Duration: 0.0977).

Ending action vuser_end.

Vuser Terminated.

解决1:

把sapjco.jar放入脚本环境变量如下图

http://dl2.iteye.com/upload/attachment/0096/1446/f0da5661-5439-3737-8951-057f3103ec91.png

把sapjcorfc.dll和librfc32.dll放入C:\Program Files\HP\LoadRunner\bin\

 

http://www.iteye.com/problems/3667

http://sapjava.iteye.com/blog/412107

http://www.efglobe.com/

 

问题2-----------------------------------------------------------

Virtual User Script started at : 2014-04-15 15:09:14

Starting action vuser_init.

Ending action vuser_init.

Running Vuser...

Starting iteration 1.

Starting action Actions.

Notify: Transaction "getTotalExecTime" started.

Notify: Transaction "getRepository" started.

Error: System.out: Exception:Connect to message server failed

Connect_PM  MSHOST=10.19.250.5, R3NAME=ATE, GROUP=atp_grp

 

LOCATION    CPIC (TCP/IP) on local host

ERROR       service 'sapmsATE' unknown

 

TIME        Tue Apr 15 15:09:14 2014

RELEASE     640

COMPONENT   NI (network interface)

VERSION     37

RC          -3

MODULE      ninti.c

LINE        505

DETAIL      NiPGetServByName2: service 'sapmsATE' not found

SYSTEM CALL getservbyname_r

COUNTER     1

                                                                                                                                                      Notify:

Error: Exception:Connect to message server failed

Connect_PM  MSHOST=10.19.250.5, R3NAME=ATE, GROUP=atp_grp

 

LOCATION    CPIC (TCP/IP) on local host

ERROR       service 'sapmsATE' unknown

 

TIME        Tue Apr 15 15:09:14 2014

RELEASE     640

COMPONENT   NI (network interface)

VERSION     37

RC          -3

MODULE      ninti.c

LINE        505

DETAIL      NiPGetServByName2: service 'sapmsATE' not found

SYSTEM CALL getservbyname_r

COUNTER     1

Ending action Actions.

Ending iteration 1.

Ending Vuser...

Starting action vuser_end.

Error: Vuser started transaction "getRepository", but did not reached a corresponding end transaction statement. The transaction ended automatically with status 'fail'.

Notify: Transaction "getRepository" ended with "Fail" status (Duration: 0.0951).

Error: Vuser started transaction "getTotalExecTime", but did not reached a corresponding end transaction statement. The transaction ended automatically with status 'fail'.

Notify: Transaction "getTotalExecTime" ended with "Fail" status (Duration: 0.0977).

Ending action vuser_end.

Vuser Terminated.

解决:数据源sapmsATE 无法连通,库存中心 SIMS/  ATE 

打开文件:C:\WINDOWS\system32\drivers\etc\services 

添加内容:

sapmsPMP 3600/tcp # 价格生产机

sapmsWLE  3600/tcp    # 物流预生产

sapmsATE 3600/tcp # 库存预生产

 

问题3----------------------------

 

Virtual User Script started at : 2014-04-15 15:18:01

Starting action vuser_init.

Ending action vuser_init.

Running Vuser...

Starting iteration 1.

Starting action Actions.

Notify: Transaction "getTotalExecTime" started.

Notify: Transaction "getRepository" started.

Error: System.out: Exception:Connect to message server failed

Connect_PM  MSHOST=10.19.250.5, R3NAME=PRE, GROUP=atp_grp

 

LOCATION    CPIC (TCP/IP) on local host

ERROR       service 'sapmsPRE' unknown

 

TIME        Tue Apr 15 15:18:01 2014

RELEASE     640

COMPONENT   NI (network interface)

VERSION     37

RC          -3

MODULE      ninti.c

LINE        505

DETAIL      NiPGetServByName2: service 'sapmsPRE' not found

SYSTEM CALL getservbyname_r

COUNTER     1

                                                                                                                                                      Notify:

Error: Exception:Connect to message server failed

Connect_PM  MSHOST=10.19.250.5, R3NAME=PRE, GROUP=atp_grp

 

LOCATION    CPIC (TCP/IP) on local host

ERROR       service 'sapmsPRE' unknown

 

TIME        Tue Apr 15 15:18:01 2014

RELEASE     640

COMPONENT   NI (network interface)

VERSION     37

RC          -3

MODULE      ninti.c

LINE        505

DETAIL      NiPGetServByName2: service 'sapmsPRE' not found

SYSTEM CALL getservbyname_r

COUNTER     1

Ending action Actions.

Ending iteration 1.

Ending Vuser...

Starting action vuser_end.

Error: Vuser started transaction "getRepository", but did not reached a corresponding end transaction statement. The transaction ended automatically with status 'fail'.

Notify: Transaction "getRepository" ended with "Fail" status (Duration: 0.1366).

Error: Vuser started transaction "getTotalExecTime", but did not reached a corresponding end transaction statement. The transaction ended automatically with status 'fail'.

Notify: Transaction "getTotalExecTime" ended with "Fail" status (Duration: 0.1415).

Ending action vuser_end.

Vuser Terminated.

解决:数据源sapmsPRE 无法连通库存中心 SIMS/ATE 

打开文件:C:\WINDOWS\system32\drivers\etc\services 

添加内容:

sapmsPMP 3600/tcp # 价格生产机

sapmsWLE  3600/tcp    # 物流预生产

sapmsATE 3600/tcp # 库存预生产

sapmsPRE 3600/tcp # 库存预生产

 

loadrunner sap exception  

问题:loadrunner 录制SAP界面客户端脚本时,发现录制到SAP 数据表横向滚动条定位不到的情况

解决:loadrunner 录制SAP界面,不用手动拖拽横向滚动条,需要点击SAP自开发的下一条数据的按钮。

 

 

loadrunner web转javavUser协议的脚本的方法:

1、录制web协议脚本,将Action.c放到一个目录下(可以改名字也可以不改)

2、采用LR的bin目录下的命令:

C:\Program Files\HP\LoadRunner\bin\sed -f web to java.sed D:\web.txt > D:\java.txt

3、生成一个txt文件里面是java协议的脚本;结合java基础写邮件

 

 

 

Loadrunner C 

loadrunenr 测试机内存泄露解决

http://dl2.iteye.com/upload/attachment/0103/4819/4660f773-44b3-300a-af15-d682a6830e6b.png

http://dl2.iteye.com/upload/attachment/0103/4821/478d0525-d51e-367b-9811-ad7678105d12.png

 

loadrunner测试机内存泄露原始脚本.zip

http://dl.iteye.com/topics/download/a439142b-e7bf-393c-b397-6bf26c7d12f3

loadrunner测试机内存泄露修改后脚本

D:\TestCase\20141121_b2c_search_click\tc_ad_cpc_searchclick_201409191101\tc_ad_cpc_searchclick_201409191101.usr

dd

Action()
{
    int  num;
	char *temp;      // 此处多余删除,压测时导致测试机内存泄露,
	char str[300];

	web_reg_find("Fail=NotFound",
		"Search=Body",
		"SaveCount=aa",
		"Text=jsonpCallback",
	LAST);

    web_set_max_html_param_len("1024"); //保存长字符串为关联使用
	web_reg_save_param_ex(
		"ParamName=goods",			//抓到搜索页面里商品URL
		"LB=\"apsClickUrl\":\"",
		"RB=\",\"cmdPrice\"",
		"Ordinal=all",
		"NotFound=warning",			// 商品搜索允许搜索不到数据
		SEARCH_FILTERS,
		LAST);

	lr_start_transaction("tran_Search");
		web_url("cpc_data.html", 
			"URL=http://apscorepre.cns*****.com/getCpcDatas?keyword={keyword}&positionID=100000001&inputCpcNumbers=13&inputTime=20141111",
			//"URL=http://apscorepre.cns*****.com/getCpcDatas?keyword={keyword}&positionID=100000001&inputCpcNumbers=13",
			"TargetFrame=", 
			"Resource=0", 
			"RecContentType=text/html", 
			"Referer=", 
			"Snapshot=t8.inf", 
			"Mode=HTML", 
			EXTRARES, 
			LAST);
	lr_end_transaction("tran_Search", LR_AUTO);	
	//搜索50次点击1次
	if(atoi(lr_eval_string("{goods_count}"))!= 0){
		//countHaveGoods++;
		num = rand()%50 + 1;   // 得到1-50的随机值
		if(num == 1){   //当随机到1时进行下面的点击操作业务
			//countClick++;
			temp=lr_paramarr_random("goods");   //此处多余删除,压测时导致测试机内存泄露
			lr_save_string(temp,"str");   //此处多余删除,压测时导致测试机内存泄露
			lr_save_string(lr_paramarr_random("goods"),"str");
			lr_start_transaction("click");
				web_url("cpc_data.html", 
						"URL={str}",			//抓到搜索页面里商品URL,然后点击
						"TargetFrame=xxxx", 
						"Resource=0", 
						"RecContentType=text/html", 
						"Referer=", 
						"Snapshot=t8.inf", 
						"Mode=HTML", 
						EXTRARES, 
						LAST);
			lr_end_transaction("click", LR_AUTO);
		}
	}

	  //lr_user_data_point("countClick/countHaveGoods",countClick*1.0/countHaveGoods);
	  //lr_user_data_point("countClick",countClick);


	  return 0;
}

 

dd 

从一个脚本谈loadrunner的脚本初始化

http://www.blogjava.net/qileilove/archive/2014/02/20/410079.html

昨天一个同事请我一个问题,在下列代码中如何将 InputStream is 这个元素只初始化一次呢?

 

/*
* LoadRunner Java script. (Build: _build_number_)
*
* Script Description:
*
*/
import lrapi.lr;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import com.google.common.io.ByteStreams;
import com.jd.jfs.JingdongFileSystem;
public class Actions
{
File file = new File("C:/8K.file");
InputStream is =null; // 返回一个byte数组<pre code_snippet_id="145362" snippet_file_name="blog_20140107_2_8044261" name="code" class="java">         byte[] fileBytes = new byte[(int) file.length()];
// 创建一个数据来保存文件数据
JingdongFileSystem jfs =new JingdongFileSystem();
public int init() throws Throwable {
is = new FileInputStream(file);
ByteStreams.readFully(is, fileBytes);
is.close();
//jfs = new JingdongFileSystem();
return 0;
} //end of init
public int action() throws Throwable {
try {
lr.start_transaction("jfs-w");
String key = jfs.writeBytes(fileBytes);
//上传
System.out.println(key);
} catch (Exception e) {
e.printStackTrace();
}
lr.end_transaction("jfs-w", lr.AUTO);
return 0;
}//end of action
public int end() throws Throwable {
return 0;
}//end of end
}

 

d

我们知道,在loadrunner的java_vuser协议的脚本中,init方法在每个vuer初始化的时候都会被执行一次,换句话说N个用户就会被执行N次,所以上面的脚本中inputStream对象会被初始化N次。我随即做了如下修改

 

File file = new File("C:/8K.file");
static InputStream is =null;
// 返回一个byte数组  <span style="color: #ff0000; ">
</span>    byte[] fileBytes = new byte[(int) file.length()];
// 创建一个数据来保存文件数据
JingdongFileSystem jfs =new JingdongFileSystem();
public int init() throws Throwable {
if(is==null){
is = new FileInputStream(file);
}
ByteStreams.readFully(is, fileBytes);
is.close();
//jfs = new JingdongFileSystem();
//初始化
return 0;
}//end of init
理论上来说,上述代码实现了单例模式。但是这个脚本并发下无效。。。 经过和开发探讨最终换了以下的代码来处理:
static {
File file = new File("C:/8K.file");
fileBytes = new byte[(int) file.length()];
// 创建一个数据来保存文件数据
try {
InputStream is = new FileInputStream(file);
ByteStreams.readFully(is, fileBytes);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
jfs = new JingdongFileSystem();
}
静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员. 总结一下: 在java_vuser协议的脚本中: 1. vuser_init模块始终不会被执行; 2. init方法会被初始化合并发数相同的次数 3. 如果想实现多个并发用户公用一个变量,请使用静态初始化块。  

 

gexiaolei 185-51758325  

md5:f3913639454e6362a0d6813c33295ce1

 

使用loadrunner Java Vuser协议进行性能测试时场景中报Error: Compilation process failed.解决方法

http://blog.csdn.net/aovenus/article/details/9963461

使用loadrunner Java Vuser协议进行性能测试时场景中报Error: Compilation process failed.解决方法

 

 

【问题背景】:最近使用loadrunner进行接口性能测试,接口均使用java编写的,本次测试使用java vuser协议进行脚本编写,并通过调用jar包,进行接口应用调用。在性能测试过程中,使用两台负载机,均已配置java环境变量,但是在场景执行时,报Error: Compilation process failed错误。

 

 

【解决方法】:通过网上搜索,有遇到该问题的同学,提供的解决方法是:在loadrunner安装目录classes下放入接口调用需要使用到的jar包,通过尝试该方法发现不能解决问题。

 

最后通过在场景中,设置RunTime-Settings>Java Enviroment Settings>Classpath中引入脚本需要调用的jar包,即解决。

 

 

 

 

 

 

 

end

  • 大小: 42.7 KB
  • 大小: 44.3 KB
  • 大小: 14.2 KB
  • 大小: 31.8 KB
  • 大小: 50.8 KB
分享到:
评论
2 楼 leeking888 2015-12-10  
有没有linux 64位的相关librfccm.so等包啊?
1 楼 popeye_wu 2012-07-23  
谢谢你提供的sapjcorfc,我找了好多地方

相关推荐

    java面向对象 - 类与对象,Java面向对象程序练习,一个简单的Java类Example1,并将其放在了cn.example包中

    java面向对象 - 类与对象,java面向对象 - 类与对象,Java面向对象程序练习,一个简单的Java类Example1,并将其放在了cn.example包中。

    ssm电影网站 LW PPT.zip

    Java项目基于ssm框架的课程设计,包含LW+ppt

    2023年计算机等级考试四级

    2023年计算机等级考试四级

    CH32V307 FreeRTOS队列操作【支持CH32系列处理器】

    CH32V307驱动程序,支持移植到CH32系列单片机。 一分价钱一分货,项目代码可顺利编译运行~

    2012-2021深圳市分区(常住)户籍人口(万人)

    (常住)户籍人口指在某个地区拥有户籍登记的人口,即户口所在地为该地区的人口。

    Spring boot + Deepseek 整合项目

    本资源使用工具和技术 Gradle 工具 Spring boot3.4.3 spring-ai-openai-starter 1.0.0 jdk17 主要功能 String类型聊天 流程数据聊天响应 图片生成(前提是你模型支持) 文本向量化 (前提是你模型支持)

    基于图神经网络的抗癌药物协同预测模型GNNSynergy及其高效泛化能力

    内容概要:本文介绍了一种名为GNNSynergy的新模型,旨在通过图神经网络(GNN)和超图神经网络(HGNN)预测抗癌药物的协同作用。该模型利用Loewe评分构建药物组合与细胞系之间的超图和单个药物与细胞系之间的相互作用图,通过GCN和HGNN学习节点特征,并最终通过多层感知机和线性相关系数计算药物协同评分。实验结果显示,GNNSynergy在基线实验中优于现有模型,并在新药和新细胞系实验中表现出色。 适合人群:生物信息学、药物研发领域的科研人员和技术开发者。 使用场景及目标:① 提供高效的抗癌药物协同预测工具,减少体外筛选的时间和成本;② 改善个性化癌症治疗的效果,降低毒性并减少不良反应;③ 推动新型抗癌药物的研发进程。 其他说明:该模型不仅考虑了药物组合与细胞系之间的复杂关系,还捕捉了单个药物与细胞系之间的关联,从而提升了预测的准确性和泛化能力。

    jspm学校招生信息网lw+ppt.zip

    Java项目基于ssm框架的课程设计,包含LW+ppt

    Kotlin入门指南:现代编程的简洁之道.pdf

    内容概要:本文档详细介绍了Kotlin这门由JetBrains开发并得到Google官方支持的现代编程语言。首先阐述了选择Kotlin的原因,如简洁高效的语法、内置的安全机制以及广泛的跨平台支持。接着逐步讲解了如何配置开发环境,包括工具的选择和第一个程序的创建。随后深入探讨了Kotlin的基础语法,涵盖变量与类型、函数定义、面向对象编程的基本概念(如类与对象)、空安全设计等重要知识点。此外,还提供了具体的实战案例——温度转换器项目,帮助初学者更好地理解和运用所学知识。最后给出了学习路线建议,指导读者从基础到高级的学习路径,并推荐了一些实用的学习资源。 适合人群:对编程有一定兴趣或者已经掌握了其他编程语言基础知识的技术爱好者、学生以及希望转行进入软件开发领域的从业人员。 使用场景及目标:①作为新手程序员的第一本编程教材;②对于有经验的开发者来说,可以快速上手Kotlin进行实际项目的开发;③希望通过学习Kotlin来提升自己的编程技能,尤其是那些想要从事Android或其他多平台应用程序开发的人士。 其他说明:文档不仅强调理论知识的传授,同时也非常重视动手能力的培养,鼓励读者通过实践加深

    基于MATLAB设计的 GUI的水果识别(高分项目).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载

    单片机设计-仓库温湿度的监测系统

    单片机设计-仓库温湿度的监测系统

    基于MATLAB的界面GUI数字信号处理(高分项目).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载

    三菱FX3U与台达温控器Modbus通讯实现温度控制及数据交互

    内容概要:本文详细介绍了如何使用三菱FX3U PLC通过485BD板与两台台达DTA7272C1温控器进行Modbus通讯,实现温度设定、探头设定及实时温度读取。主要内容涵盖硬件配置、接线方法、温控器参数设置、PLC程序核心代码、轮询机制、触摸屏配置以及常见问题解决方法。文中还提供了详细的代码示例和调试技巧,确保通讯稳定可靠。 适用人群:从事工业自动化控制领域的工程师和技术人员,特别是那些需要将PLC与温控器集成的应用场景。 使用场景及目标:适用于需要精确温度控制的工业环境,如化工、食品加工等行业。主要目标是通过Modbus通讯协议实现PLC对多台温控器的集中管理和监控,提高生产效率和产品质量。 其他说明:文章不仅提供了理论指导,还分享了许多实际操作中的经验和教训,帮助读者避开常见的陷阱,快速掌握相关技能。

    emwin旋转图片,存储设备

    emwin旋转图片,存储设备

    硬件课程设计-基于Logisim的单周期CPU硬件设计(CPU硬件实现+推箱子游戏).zip

    硬件课程设计-基于Logisim的单周期CPU硬件设计(CPU硬件实现+推箱子游戏).zip [项目介绍] 一个基于Logisim的单周期CPU硬件设计项目。该项目包含了一个单周期CPU的硬件实现和一个推箱子游戏的演示程序。 主要功能 实现了一个单周期CPU的硬件设计 提供了一个推箱子游戏的演示程序 使用Logisim作为开发工具 【技术栈】 硬件设计: 单周期CPU 开发工具: Logisim

    MATLAB R2025a新特性解析:桌面操作体验、可视化能力与系统集成的全面提升

    内容概要:本文详细介绍了 MATLAB R2025a 版本的新特性和改进之处。主要内容涵盖全新的桌面界面布局,支持三栏式可自定义桌面布局、深色/浅色主题切换、全局搜索框、Markdown 文件实时预览等功能。此外,还提到了图形系统对深色与浅色主题的支持,使得图形在不同背景下都能保持良好的可读性和视觉效果。同时,文章强调了 MATLAB 官方帮助中心的重要性,提供了丰富的在线资源,包括快速入门、语法基础、数据处理、数学、编程等方面的详细指导。 适合人群:具备一定编程基础,特别是从事科学计算、数据分析、工程设计等领域的工作1-3年的研发人员。 使用场景及目标:① 提升日常开发效率,特别是在多任务并行处理和频繁切换工具的情况下;② 改善长期使用中的视觉体验,减少视觉疲劳;③ 方便编写和预览技术文档,尤其是在使用 GitHub 等平台管理项目时;④ 提供详细的在线帮助和支持,方便用户随时查阅和解决问题。 其他说明:MATLAB 官方帮助中心提供了详尽的学习资源,用户可以通过官网获取更多信息。对于特定功能或函数的疑问,可以利用帮助中心的搜索功能快速找到答案。此外,帮助中心还包括机器学习和大数据部分内容,但部分资料仅提供英文版本。

    全开源的小剧场短剧影视小程序源码+支付收益+付费短剧小程序源码+详细教程

    全开源的小剧场短剧影视小程序源码+支付收益+付费短剧小程序源码+教程 项目功能介绍 支持无限滑动 高性能滑动预加载视频预览 支持剧情介绍,集合壁纸另外仿抖音滑动效果 支持会员模式,支持用户单独购买等等多功能 本系统(短剧平台系统)包含: 1,内容展现(短剧视频采用主流展现形式付费、免费、任务等方式解锁自由配置,) 2,用户运营(用户签到、会员管理、精准画像等多种运营,提高用户活跃度) 3,营销推广(裂变式营销功能、自主推广激励、代理等方式快速获客) 4,付费观看(强大的支付系统,支持多平台支付方式,支付灵活可配置,多重加密确保交易安全) 6,成熟代理机制(主流代理机制让流量不在是问题,配合多营销方式,为推广主力切实解决流量问题) 7,强大后台管理(数据大屏展示,所有数据一目了然,实时监控平台情况,为你的运营营销提供数据支持) 丰富的后台设置,具体大家可以看刀客的后台演示图 具体也不多说了,大家可以自行下载搭建研究 前端支持打包 抖音小程序,快手小程序,百度小程序,H5和微信小程序 需要哪个端就发行到哪个端即可 前端文件需要用到HBuilderX工具来编译.

    chromedriver-win32-135.0.7049.41.zip

    chromedriver-win32-135.0.7049.41.zip

    two_person_breathHeart_detect_main.m

    two_person_breathHeart_detect_main.m

Global site tag (gtag.js) - Google Analytics