eSIM RSP 测试用例对比站

人工切片(-man) ↔ Cas 盲生成(-cas)· 真机真卡执行证据对照

源码对照:4.2.21.2.1

ES10c 启用 Profile(Case 3) / TC_eUICC_ES10c.EnableProfile_Case3

左侧为人工切片入口(-man,来自 原料/切片 的最小可执行脚本),右侧为 Cas 盲生成入口(-cas,仅依据规范生成)。文件按原始编码(多为 GBK)解码为 UTF-8 显示,行号自 1 起;字节级原文与 sha256 见两侧脚本包。完整 unified diff 见本页底部折叠区,以及 报告原文 §4。
-man 入口
Import/TestCase_SGP_23.js
982 行 / 38489 字符 / gb18030
-cas 入口
TC_eUICC_ES10c_EnableProfile_Case3/Import/TC_eUICC_ES10c_EnableProfile_Case3.js
119 行 / 8812 字符 / gb18030
默认折行显示长行;取消勾选可横向滚动查看原始行宽
-man 人工切片Import/TestCase_SGP_23.js982 行 / 38489 字符 / gb18030入口函数 @L3
1// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported (extracted verbatim)
2
3function TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
4{
5	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
6	var ISD_P_Test01 = curProfile_ISD_P_AID;
7	
8	tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ISD-P AID激活profile,并设置refreshFlag";
9	curDis.TraceStart(sno++,tracenamestr);
10	
11	curLogicChannel = 0;
12	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
13	Ini_powerOn_eUICC_LPAe_not_activate();
14	
15	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
16	TS_MANAGE_CHANNEL_OPEN();
17	
18	curLogicChannel = 1;
19	
20	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
21	TS_SELECT("Select ISD",ISD_R_AID,"9000");
22	
23
24	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
25	var enableProRequest = new EnableProfileRequest();
26	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
27	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
28	enableProRequest.GenHexData();
29	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
30	curStrHandle.CheckData("", respData, "EnableProfileResponse");	
31	
32	
33	curLogicChannel = 0;
34	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
35	
36	FetchStr = Fetch("","9000","");
37		
38	var CmdDetails = GetValueByTag("01",1);
39	var CmdQualifier = CmdDetails.substr(4,2);
40	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
41	
42	curLogicChannel = 0;
43	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
44	Ini_powerOn_eUICC_LPAe_not_activate();
45	
46	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
47	TS_MANAGE_CHANNEL_OPEN();
48	
49	curLogicChannel = 1;
50	
51	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
52	TS_SELECT("Select ISD",ISD_R_AID,"9000");
53	
54	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
55	var proInfoListRequest = new ProfileInfoListRequest();
56	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
57	proInfoListRequest.tagList = "5A4F9F70";
58	proInfoListRequest.GenHexData();
59	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
60	
61
62	var proInfoListResponse = new  ProfileInfoListResponse();
63	proInfoListResponse.checkCardResDataFormat(respData);
64	
65	try
66	{
67		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
68		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
69		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
70	}catch(e){
71		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
72	}
73	
74	curLogicChannel = 0;
75	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
76	var para1 = new SelectFileEFPara_3G("2FE2");
77	para1.apdu.ressw = "9000";
78	SendAPDU(para1.apdu);
79	
80  curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
81	var para1 = new ReadBinaryPara_3G("00","00","0A");
82	para1.apdu.resvalue = ICCID_OP_PROF1;
83	SendAPDU(para1.apdu);
84	
85	RecoverCard();
86	
87
88}
89
90function TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
91{
92	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
93	var ISD_P_Test01 = curProfile_ISD_P_AID;
94	
95	tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ICCID激活profile,并设置refreshFlag";
96	curDis.TraceStart(sno++,tracenamestr);
97	
98	curLogicChannel = 0;
99	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
100	Ini_powerOn_eUICC_LPAe_not_activate();
101	
102	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
103	TS_MANAGE_CHANNEL_OPEN();
104	
105	curLogicChannel = 1;
106	
107	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
108	TS_SELECT("Select ISD",ISD_R_AID,"9000");
109	
110
111	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
112	var enableProRequest = new EnableProfileRequest();
113	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
114	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
115	enableProRequest.GenHexData();
116	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
117	curStrHandle.CheckData("", respData, "EnableProfileResponse");		
118	
119	
120	curLogicChannel = 0;
121	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
122	
123	FetchStr = Fetch("","9000","");
124		
125	var CmdDetails = GetValueByTag("01",1);
126	var CmdQualifier = CmdDetails.substr(4,2);
127	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
128	
129	curLogicChannel = 0;
130	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
131	Ini_powerOn_eUICC_LPAe_not_activate();
132	
133	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
134	TS_MANAGE_CHANNEL_OPEN();
135	
136	curLogicChannel = 1;
137	
138	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
139	TS_SELECT("Select ISD",ISD_R_AID,"9000");
140	
141	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
142	var proInfoListRequest = new ProfileInfoListRequest();
143	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
144	proInfoListRequest.tagList = "5A4F9F70";
145	proInfoListRequest.GenHexData();
146	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
147	
148
149	var proInfoListResponse = new  ProfileInfoListResponse();
150	proInfoListResponse.checkCardResDataFormat(respData);
151	
152	try
153	{
154		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
155		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
156		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
157	}catch(e){
158		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
159	}
160	
161	curLogicChannel = 0;
162	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
163	var para1 = new SelectFileEFPara_3G("2FE2");
164	para1.apdu.ressw = "9000";
165	SendAPDU(para1.apdu);
166	
167  curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
168	var para1 = new ReadBinaryPara_3G("00","00","0A");
169	para1.apdu.resvalue = ICCID_OP_PROF1;
170	SendAPDU(para1.apdu);
171	
172	RecoverCard();
173	
174
175}
176
177function TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
178{
179	if(!Card_Have_ECC_Cert)
180		return;
181
182	TestOfMEPMode = 0;	
183
184
185	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
186	var ISD_P_Test01 = curProfile_ISD_P_AID;
187	
188	tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ISD-P AID激活profile,并设置refreshFlag";
189	curDis.TraceStart(sno++,tracenamestr);
190	
191	curLogicChannel = 0;
192	
193	TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;//add 20260423
194	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
195	Ini_powerOn_eUICC_LPAe_not_activate();
196	
197	
198	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
199	TS_MANAGE_CHANNEL_OPEN();
200	
201	curLogicChannel = 1;
202	
203	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
204	TS_SELECT("Select ISD",ISD_R_AID,"9000");
205	
206	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
207	var enableProRequest = new EnableProfileRequest();
208	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
209	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
210	enableProRequest.GenHexData();
211	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
212	curStrHandle.CheckData("", respData, "EnableProfileResponse");			
213		
214	curLogicChannel = 0;
215	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
216	
217	FetchStr = Fetch("","9000","");
218		
219	var CmdDetails = GetValueByTag("01",1);
220	var CmdQualifier = CmdDetails.substr(4,2);
221	CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");//'09' = eUICC Profile State Change;   102.223-8.6
222	
223	TerminalResponse("00","9000");
224	
225	curLogicChannel = 0;
226	curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
227	
228	curLogicChannel = 0;
229	
230	if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
231		TS_TERMINAL_CAPABILITY_cmd();
232	else
233		obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
234	
235	IniCard_SetUpMenu("",1);
236	
237	
238	
239	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
240	TS_MANAGE_CHANNEL_OPEN();
241	
242	curLogicChannel = 1;
243	
244	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
245	TS_SELECT("Select ISD",ISD_R_AID,"9000");
246	
247	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
248	var proInfoListRequest = new ProfileInfoListRequest();
249	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
250	proInfoListRequest.tagList = "5A4F9F70";
251	proInfoListRequest.GenHexData();
252	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
253	
254
255	var proInfoListResponse = new  ProfileInfoListResponse();
256	proInfoListResponse.checkCardResDataFormat(respData);
257	
258	try
259	{
260		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
261		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
262		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
263	}catch(e){
264		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
265	}
266	
267	curLogicChannel = 0;
268	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
269	var para1 = new SelectFileEFPara_3G("2FE2");
270	SendAPDU(para1.apdu);
271	
272	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
273	var para1 = new ReadBinaryPara_3G("00","00","0A");
274	para1.apdu.resvalue = ICCID_OP_PROF1;
275	SendAPDU(para1.apdu);
276	
277	RecoverCard();
278}
279
280function TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
281{
282	if(!Card_Have_ECC_Cert)
283		return;
284	
285	TestOfMEPMode = 0;	
286
287	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
288	var ISD_P_Test01 = curProfile_ISD_P_AID;
289	
290	tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ICCID激活profile,并设置refreshFlag";
291	curDis.TraceStart(sno++,tracenamestr);
292	
293	curLogicChannel = 0;
294	
295	TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;
296	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
297	Ini_powerOn_eUICC_LPAe_not_activate();
298	
299	
300	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
301	TS_MANAGE_CHANNEL_OPEN();
302	
303	curLogicChannel = 1;
304	
305	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
306	TS_SELECT("Select ISD",ISD_R_AID,"9000");
307	
308	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
309	var enableProRequest = new EnableProfileRequest();
310	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
311	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
312	enableProRequest.GenHexData();
313	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
314	curStrHandle.CheckData("", respData, "EnableProfileResponse");
315		
316	curLogicChannel = 0;
317	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
318	
319	FetchStr = Fetch("","9000","");
320		
321	var CmdDetails = GetValueByTag("01",1);
322	var CmdQualifier = CmdDetails.substr(4,2);
323	CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");
324	
325	TerminalResponse("00","9000");
326	
327	curLogicChannel = 0;
328	curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
329	
330	curLogicChannel = 0;
331	
332	if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
333		TS_TERMINAL_CAPABILITY_cmd();
334	else
335		obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
336	
337	IniCard_SetUpMenu("",1);
338	
339	
340	
341	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
342	TS_MANAGE_CHANNEL_OPEN();
343	
344	curLogicChannel = 1;
345	
346	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
347	TS_SELECT("Select ISD",ISD_R_AID,"9000");
348	
349	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
350
351	var proInfoListRequest = new ProfileInfoListRequest();
352	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
353	proInfoListRequest.tagList = "5A4F9F70";
354	proInfoListRequest.GenHexData();
355	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
356	
357
358	var proInfoListResponse = new  ProfileInfoListResponse();
359	proInfoListResponse.checkCardResDataFormat(respData);
360	
361	try
362	{
363		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
364		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
365		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
366	}catch(e){
367		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
368	}
369	
370	curLogicChannel = 0;
371	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
372	var para1 = new SelectFileEFPara_3G("2FE2");
373	SendAPDU(para1.apdu);
374	
375	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
376	var para1 = new ReadBinaryPara_3G("00","00","0A");
377	para1.apdu.resvalue = ICCID_OP_PROF1;
378	SendAPDU(para1.apdu);
379	
380	RecoverCard();
381}
382
383function TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set()
384{
385	if(!Card_Have_ECC_Cert)
386		return;
387	
388	TestOfMEPMode = 0;	
389
390	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
391	var ISD_P_Test01 = curProfile_ISD_P_AID;
392	
393	tracenamestr = "测试目的:通过ISD-P AID激活profile,不设置refreshFlag";
394	curDis.TraceStart(sno++,tracenamestr);
395	
396	curLogicChannel = 0;
397	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
398	Ini_powerOn_eUICC_LPAe_not_activate();
399	
400	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
401	TS_MANAGE_CHANNEL_OPEN();
402	
403	curLogicChannel = 1;
404	
405	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
406	TS_SELECT("Select ISD",ISD_R_AID,"9000");
407	
408	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
409	var enableProRequest = new EnableProfileRequest();
410	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
411	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
412	enableProRequest.GenHexData();
413	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
414	curStrHandle.CheckData("", respData, "EnableProfileResponse");
415		
416	curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
417	IniCard_SetUpMenu("",1);
418	
419	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
420	TS_MANAGE_CHANNEL_OPEN();
421	curLogicChannel = 1;
422	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
423	TS_SELECT("Select ISD",ISD_R_AID,"9000");
424	
425	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
426	var proInfoListRequest = new ProfileInfoListRequest();
427	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
428	proInfoListRequest.tagList = "5A4F9F70";
429	proInfoListRequest.GenHexData();
430	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
431	
432
433	var proInfoListResponse = new  ProfileInfoListResponse();
434	proInfoListResponse.checkCardResDataFormat(respData);
435	
436	try
437	{
438		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
439		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
440		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
441	}catch(e){
442		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
443	}
444	
445	curLogicChannel = 0;
446	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
447	var para1 = new SelectFileEFPara_3G("2FE2");
448	SendAPDU(para1.apdu);
449	
450	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
451	var para1 = new ReadBinaryPara_3G("00","00","0A");
452	para1.apdu.resvalue = ICCID_OP_PROF1;
453	SendAPDU(para1.apdu);
454	
455	RecoverCard();
456	
457}
458
459function TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set()
460{
461	if(!Card_Have_ECC_Cert)
462		return;
463	
464	TestOfMEPMode = 0;	
465
466	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
467	var ISD_P_Test01 = curProfile_ISD_P_AID;
468	
469	tracenamestr = "测试目的:通过ICCID激活profile,不设置refreshFlag";
470	curDis.TraceStart(sno++,tracenamestr);
471	
472	curLogicChannel = 0;
473	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
474	Ini_powerOn_eUICC_LPAe_not_activate();
475	
476	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
477	TS_MANAGE_CHANNEL_OPEN();
478	
479	curLogicChannel = 1;
480	
481	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
482	TS_SELECT("Select ISD",ISD_R_AID,"9000");
483	
484	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
485	var enableProRequest = new EnableProfileRequest();
486	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
487	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
488	enableProRequest.GenHexData();
489	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
490	curStrHandle.CheckData("", respData, "EnableProfileResponse");
491		
492	curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
493	IniCard_SetUpMenu("",1);
494	
495
496	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
497	TS_MANAGE_CHANNEL_OPEN();
498	curLogicChannel = 1;
499	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
500	TS_SELECT("Select ISD",ISD_R_AID,"9000");
501	
502	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
503	var proInfoListRequest = new ProfileInfoListRequest();
504	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
505	proInfoListRequest.tagList = "5A4F9F70";
506	proInfoListRequest.GenHexData();
507	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
508	
509
510	var proInfoListResponse = new  ProfileInfoListResponse();
511	proInfoListResponse.checkCardResDataFormat(respData);
512	
513	try
514	{
515		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
516		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
517		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
518	}catch(e){
519		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
520	}
521	
522	curLogicChannel = 0;
523	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
524	var para1 = new SelectFileEFPara_3G("2FE2");
525	SendAPDU(para1.apdu);
526	
527	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
528	var para1 = new ReadBinaryPara_3G("00","00","0A");
529	para1.apdu.resvalue = ICCID_OP_PROF1;
530	SendAPDU(para1.apdu);
531	
532	RecoverCard();
533	
534}
535
536function TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
537{	
538    //测试入口条件
539	if(!Card_Have_ECC_Cert)
540		  return;
541	
542
543	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
544		return;	
545		
546	TestOfMEPMode = 0;	
547	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
548	var ISD_P_Test01 = curProfile_ISD_P_AID;
549	
550	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
551	var ISD_P_Test02 = curProfile_ISD_P_AID;
552	
553	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,并设置refreshFlag";
554	curDis.TraceStart(sno++,tracenamestr);
555	
556	
557	curLogicChannel = 0;
558	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
559	Ini_powerOn_eUICC_LPAe_not_activate();
560	
561	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
562	TS_MANAGE_CHANNEL_OPEN();
563	curLogicChannel = 1;
564	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
565	TS_SELECT("Select ISD",ISD_R_AID,"9000");
566	
567	
568   curLogicChannel=0;
569	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
570	sSendType = SendTypeByOTA.SMS;
571	KIC = MNO_SCP80_ENC_KEY;
572	KID = MNO_SCP80_AUTH_KEY;
573	KIK = MNO_SCP80_DATA_ENC_KEY;
574	
575
576	sAPDU = "80F28002024F0000";	
577	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
578	
579	curLogicChannel=1;
580	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
581	var enableProRequest = new EnableProfileRequest();
582	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
583	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
584	enableProRequest.GenHexData();
585	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
586	curStrHandle.CheckData("", respData, "EnableProfileResponse");
587	
588	curLogicChannel = 0;
589	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
590
591	FetchStr = Fetch("","9000","");
592		
593	var CmdDetails = GetValueByTag("01",1);
594	var CmdQualifier = CmdDetails.substr(4,2);
595	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset; 
596	
597	curLogicChannel = 0;
598	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
599	Ini_powerOn_eUICC_LPAe_not_activate();
600	
601	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
602	TS_MANAGE_CHANNEL_OPEN();
603	
604	curLogicChannel = 1;
605	
606	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
607	TS_SELECT("Select ISD",ISD_R_AID,"9000");
608	
609	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
610	var proInfoListRequest = new ProfileInfoListRequest();
611	proInfoListRequest.GenHexData();
612	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
613	
614
615	var proInfoListResponse = new  ProfileInfoListResponse();
616	proInfoListResponse.checkCardResDataFormat(respData);
617	
618	try
619	{
620		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
621		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
622		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
623		
624		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
625		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
626		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
627	}catch(e){
628		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
629	}
630	
631	curLogicChannel = 0;
632	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
633	var para1 = new SelectFileEFPara_3G("2FE2");
634	SendAPDU(para1.apdu);
635	
636	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
637	var para1 = new ReadBinaryPara_3G("00","00","0A");
638	para1.apdu.resvalue = ICCID_OP_PROF2;
639	SendAPDU(para1.apdu);
640	
641	RecoverCard();
642	
643}
644
645function TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
646{	
647    //测试入口条件
648	if(!Card_Have_ECC_Cert)
649		  return;
650	
651	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
652		return;
653		
654	TestOfMEPMode = 0;	
655	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
656	var ISD_P_Test01 = curProfile_ISD_P_AID;
657	
658	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
659	var ISD_P_Test02 = curProfile_ISD_P_AID;
660	
661	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,不设置refreshFlag";
662	curDis.TraceStart(sno++,tracenamestr);
663	
664	
665	curLogicChannel = 0;
666	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
667	Ini_powerOn_eUICC_LPAe_not_activate();
668	
669	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
670	TS_MANAGE_CHANNEL_OPEN();
671	curLogicChannel = 1;
672	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
673	TS_SELECT("Select ISD",ISD_R_AID,"9000");
674	
675	
676  curLogicChannel=0;
677	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
678	sSendType = SendTypeByOTA.SMS;
679	KIC = MNO_SCP80_ENC_KEY;
680	KID = MNO_SCP80_AUTH_KEY;
681	KIK = MNO_SCP80_DATA_ENC_KEY;
682	
683
684	sAPDU = "80F28002024F0000";	
685	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
686	
687	curLogicChannel=1;
688	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
689	var enableProRequest = new EnableProfileRequest();
690	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
691	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
692	enableProRequest.GenHexData();
693	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
694	curStrHandle.CheckData("", respData, "EnableProfileResponse");
695	
696	curLogicChannel = 0;
697	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
698
699	FetchStr = Fetch("","9000","");
700		
701	var CmdDetails = GetValueByTag("01",1);
702	var CmdQualifier = CmdDetails.substr(4,2);
703	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset; 
704	
705	curLogicChannel = 0;
706	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
707	Ini_powerOn_eUICC_LPAe_not_activate();
708	
709	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
710	TS_MANAGE_CHANNEL_OPEN();
711	
712	curLogicChannel = 1;
713	
714	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
715	TS_SELECT("Select ISD",ISD_R_AID,"9000");
716	
717	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
718	var proInfoListRequest = new ProfileInfoListRequest();
719	proInfoListRequest.GenHexData();
720	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
721	
722
723	var proInfoListResponse = new  ProfileInfoListResponse();
724	proInfoListResponse.checkCardResDataFormat(respData);
725	
726	try
727	{
728		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
729		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
730		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
731		
732		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
733		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
734		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
735	}catch(e){
736		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
737	}
738	
739	curLogicChannel = 0;
740	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
741	var para1 = new SelectFileEFPara_3G("2FE2");
742	SendAPDU(para1.apdu);
743	
744	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
745	var para1 = new ReadBinaryPara_3G("00","00","0A");
746	para1.apdu.resvalue = ICCID_OP_PROF2;
747	SendAPDU(para1.apdu);
748	
749	RecoverCard();
750	
751}
752
753function TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
754{
755	if(!Card_Have_ECC_Cert)
756		return;
757	
758
759	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
760		return;
761		
762	TestOfMEPMode = 0;	
763	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
764	var ISD_P_Test01 = curProfile_ISD_P_AID;
765	
766	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
767	var ISD_P_Test02 = curProfile_ISD_P_AID;
768	
769	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,设置refreshFlag";
770	curDis.TraceStart(sno++,tracenamestr);
771	
772	
773	curLogicChannel = 0;
774	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
775	Ini_powerOn_eUICC_LPAe_not_activate();
776	
777	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
778	TS_MANAGE_CHANNEL_OPEN();
779	curLogicChannel = 1;
780	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
781	TS_SELECT("Select ISD",ISD_R_AID,"9000");
782	
783	
784  curLogicChannel=0;
785	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
786	sSendType = SendTypeByOTA.SMS;
787	KIC = MNO_SCP80_ENC_KEY;
788	KID = MNO_SCP80_AUTH_KEY;
789	KIK = MNO_SCP80_DATA_ENC_KEY;
790	
791
792	sAPDU = "80F28002024F0000";		
793	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
794	
795	var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
796	CardSendMessageToServerExpandedRemoteCmd(exResPara);
797	
798	curLogicChannel=1;
799	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
800	var enableProRequest = new EnableProfileRequest();
801	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
802	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
803	enableProRequest.GenHexData();
804	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
805	
806	curStrHandle.CheckData("", respData, "EnableProfileResponse");
807	
808	curLogicChannel = 0;
809	curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
810	TerminalResponse("00","91XX");		
811	var ss = obj.GetState();
812	HaveReEntry91XX = false;
813	
814	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
815	FetchStr = Fetch("","9000","");
816	var CmdDetails = GetValueByTag("01",1);
817	var CmdQualifier = CmdDetails.substr(4,2);
818	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset; 
819	
820	curLogicChannel = 0;
821	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
822	Ini_powerOn_eUICC_LPAe_not_activate();
823	
824	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
825	TS_MANAGE_CHANNEL_OPEN();
826	
827	curLogicChannel = 1;
828	
829	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
830	TS_SELECT("Select ISD",ISD_R_AID,"9000");
831	
832	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
833	var proInfoListRequest = new ProfileInfoListRequest();
834	proInfoListRequest.GenHexData();
835	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
836	
837
838	var proInfoListResponse = new  ProfileInfoListResponse();
839	proInfoListResponse.checkCardResDataFormat(respData);
840	
841	try
842	{
843		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
844		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
845		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
846		
847		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
848		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
849		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
850	}catch(e){
851		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
852	}
853	
854	curLogicChannel = 0;
855	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
856	var para1 = new SelectFileEFPara_3G("2FE2");
857	SendAPDU(para1.apdu);
858	
859	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
860	var para1 = new ReadBinaryPara_3G("00","00","0A");
861	para1.apdu.resvalue = ICCID_OP_PROF2;
862	SendAPDU(para1.apdu);
863	
864	RecoverCard();	
865	
866}
867
868function TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
869{
870	if(!Card_Have_ECC_Cert)
871		return;
872	
873	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
874		return;
875		
876	TestOfMEPMode = 0;	
877	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
878	var ISD_P_Test01 = curProfile_ISD_P_AID;
879	
880	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
881	var ISD_P_Test02 = curProfile_ISD_P_AID;
882	
883	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,不设置refreshFlag";
884	curDis.TraceStart(sno++,tracenamestr);
885	
886	
887	curLogicChannel = 0;
888	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
889	Ini_powerOn_eUICC_LPAe_not_activate();
890	
891	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
892	TS_MANAGE_CHANNEL_OPEN();
893	curLogicChannel = 1;
894	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
895	TS_SELECT("Select ISD",ISD_R_AID,"9000");
896	
897	
898  curLogicChannel=0;
899	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
900	sSendType = SendTypeByOTA.SMS;
901	KIC = MNO_SCP80_ENC_KEY;
902	KID = MNO_SCP80_AUTH_KEY;
903	KIK = MNO_SCP80_DATA_ENC_KEY;
904	
905
906	sAPDU = "80F28002024F0000";	
907	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
908	
909	var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
910	CardSendMessageToServerExpandedRemoteCmd(exResPara);
911	
912	curLogicChannel=1;
913	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
914
915	var enableProRequest = new EnableProfileRequest();
916	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
917	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
918	enableProRequest.GenHexData();
919	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
920	
921	curStrHandle.CheckData("", respData, "EnableProfileResponse");
922	
923	curLogicChannel = 0;
924	curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
925	TerminalResponse("00","91XX");		
926	var ss = obj.GetState();
927	HaveReEntry91XX = false;
928	
929	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
930	FetchStr = Fetch("","9000","");
931	var CmdDetails = GetValueByTag("01",1);
932	var CmdQualifier = CmdDetails.substr(4,2);
933	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
934	
935	curLogicChannel = 0;
936	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
937	Ini_powerOn_eUICC_LPAe_not_activate();
938	
939	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
940	TS_MANAGE_CHANNEL_OPEN();
941	
942	curLogicChannel = 1;
943	
944	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
945	TS_SELECT("Select ISD",ISD_R_AID,"9000");
946	
947	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
948
949	var proInfoListRequest = new ProfileInfoListRequest();
950	proInfoListRequest.GenHexData();
951	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
952	
953
954	var proInfoListResponse = new  ProfileInfoListResponse();
955	proInfoListResponse.checkCardResDataFormat(respData);
956	
957	try
958	{
959		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
960		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
961		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
962		
963		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
964		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
965		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
966	}catch(e){
967		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
968	}
969	
970	curLogicChannel = 0;
971	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
972	var para1 = new SelectFileEFPara_3G("2FE2");
973	SendAPDU(para1.apdu);
974	
975	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
976	var para1 = new ReadBinaryPara_3G("00","00","0A");
977	para1.apdu.resvalue = ICCID_OP_PROF2;
978	SendAPDU(para1.apdu);
979	
980	RecoverCard();
981}
982
-cas 盲生成TC_eUICC_ES10c_EnableProfile_Case3/Import/TC_eUICC_ES10c_EnableProfile_Case3.js119 行 / 8812 字符 / gb18030入口函数 @L14
1// Author: 卡思Cas智能体
2// Date: 20260907-030000
3// Function: (purpose 原文未由 SGP.23 该 TC 提供,corpus vacuum 登记)TC_eUICC_ES10c.EnableProfile_Case3,Test Sequence #02 Nominal: Enable Profile by ICCID and “refreshFlag” set when Device supports “UICC Reset”,适用性 M。
4// Test points: ICH-IC1-K1-C1 ATR_present;ICH-IC1-K2-C2 FCP_Template;ICH-IC1-K2-C4 SW
5//   ICH-IC1-K3-C4 SW;ICH-IC1-K4-C4 final SW;ICH-IC2-K1-C4 SW;ICH-IC2-K1-C3 CHANNEL_NUMBER extracted
6//   ICH-IC2-K2-C4 SW;S1-C2 response data absent;S1-C1 SW1 91;S2-C1 proactive command envelope
7//   IC3-IC1-K1-C1 ATR_present;IC3-IC1-K2-C2 FCP_Template;IC3-IC1-K2-C4 SW;IC3-IC1-K3-C4 SW
8//   IC3-IC1-K4-C4 final SW;IC3-IC2-K1-C4 SW;IC3-IC2-K1-C3 CHANNEL_NUMBER extracted;IC3-IC2-K2-C4 SW
9//   S4-C1 SW;S4-C2 outer tag BF2D;S4-C3 contains 5A0A989209012143658709F5;S4-C4 contains 9F700101
10//   S4-C5 contains 4F10;S5-C1 SW;S6-C1 SW;S6-C2 READ_BINARY data
11// 本函数由 CaseIR 4.2.21.2.1 编译生成(4221-r2,SGP.23 v1.16 × SGP.22 v2.7):字节权威=CaseIR,非誊录黄金脚本。
12// Value-free template: every data byte is injected from CaseIR fields; no scaffold globals (see docs/speconly/compile-symbol-migration.md).
13// 适用性 M:编译期门,运行时由 harness 环境前置承担。
14function TC_eUICC_ES10c_EnableProfile_Case3_02_merged() {
15    var bind = curBind;
16
17    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
18    var s7 = bind.resetAndAtr();
19    bind.checkData("ICH-IC1-K1-C1 ATR_present", "1", s7.atr_hex !== "" ? "1" : "0");
20
21    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2):SELECT_MF(K 语料机械展开)
22    // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
23    var s8 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
24    bind.checkData("ICH-IC1-K2-C2 FCP_Template", "1", s8.resp.length > 0 ? "1" : "0");
25    bind.checkData("ICH-IC1-K2-C4 SW", "9000", s8.sw);
26
27    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
28    var s9 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
29    bind.checkData("ICH-IC1-K3-C4 SW", "9000", s9.sw);
30
31    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
32    var steady10 = bind.runToSteadyState(function () {
33        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
34    });
35    bind.checkData("ICH-IC1-K4-C4 final SW", "9000", steady10.final.sw);
36
37    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1):MANAGE_CHANNEL_OPEN(K 语料机械展开)
38    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
39    var s11 = bind.manageChannelOpen("9000");
40    bind.checkData("ICH-IC2-K1-C4 SW", "9000", s11.sw);
41    bind.checkData("ICH-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s11.chan !== null ? "1" : "0");
42
43    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2):MTD_SELECT(K 语料机械展开)
44    // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
45    var s12 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
46    // MTD_SELECT expected face is SW-only (K Annex C.2 open-channel procedure step 2: no FCI content assertion in corpus); no fabricated template parse.
47    bind.checkData("ICH-IC2-K2-C4 SW", "9000", s12.sw);
48
49    // 步骤 1:MTD_STORE_DATA_Case3(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
50    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
51    var sdCla1 = s11.chan !== null ? (s11.chan <= 3 ? 128 + s11.chan : 188 + s11.chan).toString(16).toUpperCase() : null;
52    var s1 = bind.sendApdu(sdCla1, "E2", "90", "00", "BF3111A00C5A0A989209012143658709F58101FF", null, null);
53    bind.checkData("S1-C2 response data absent", "1", s1.resp === "" ? "1" : "0");
54    bind.checkData("S1-C1 SW1 91", "91", s1.sw.substring(0, 2));
55
56    // 步骤 2:FETCH 'XX'(tc_step;REQ: RQ32_016_3, RQ32_017, RQ57_134, RQ57_135_1)
57    // FETCH header literals follow the golden wire evidence 8012 (same
58    // anchor as runToSteadyState; J Annex D.4 has no FETCH row, D 2.2.2
59    // gives mechanism only). Le = pending length from the last 91XX
60    // (chain rule, binding-internal state).
61    var s2 = bind.fetchPending("80", "12", "00", "00", null);
62    bind.checkData("S2-C1 proactive command envelope", "1", (s2.resp.length >= 4 && s2.resp.substring(0, 2) === "D0") ? "1" : "0");
63    // S2-C1: REFRESH type/mode bytes are not corpus-fixed (envelope face only; per-mode bytes absent from input).
64    // S2:主动会话协议闭合(TS 102 223 §6.3:主动命令必须 TR 应答;
65    // UICC Reset 变体 E 表无 TR 行属编辑省略,golden U3 线证同构)。
66    var s2tr = bind.terminalResponseForPending("80", "14", "00", "00", "9000");
67
68    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
69    var s13 = bind.resetAndAtr();
70    bind.checkData("IC3-IC1-K1-C1 ATR_present", "1", s13.atr_hex !== "" ? "1" : "0");
71
72    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2):SELECT_MF(K 语料机械展开)
73    // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
74    var s14 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
75    bind.checkData("IC3-IC1-K2-C2 FCP_Template", "1", s14.resp.length > 0 ? "1" : "0");
76    bind.checkData("IC3-IC1-K2-C4 SW", "9000", s14.sw);
77
78    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
79    var s15 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
80    bind.checkData("IC3-IC1-K3-C4 SW", "9000", s15.sw);
81
82    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
83    var steady16 = bind.runToSteadyState(function () {
84        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
85    });
86    bind.checkData("IC3-IC1-K4-C4 final SW", "9000", steady16.final.sw);
87
88    // IC ref inline @E 步骤 3(IC2 → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1):MANAGE_CHANNEL_OPEN(K 语料机械展开)
89    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
90    var s17 = bind.manageChannelOpen("9000");
91    bind.checkData("IC3-IC2-K1-C4 SW", "9000", s17.sw);
92    bind.checkData("IC3-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s17.chan !== null ? "1" : "0");
93
94    // IC ref inline @E 步骤 3(IC2 → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2):MTD_SELECT(K 语料机械展开)
95    // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
96    var s18 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
97    // MTD_SELECT expected face is SW-only (K Annex C.2 open-channel procedure step 2: no FCI content assertion in corpus); no fabricated template parse.
98    bind.checkData("IC3-IC2-K2-C4 SW", "9000", s18.sw);
99
100    // 步骤 4:MTD_STORE_DATA(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
101    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
102    var sdCla4 = s17.chan !== null ? (s17.chan <= 3 ? 128 + s17.chan : 188 + s17.chan).toString(16).toUpperCase() : null;
103    var s4 = bind.sendApdu(sdCla4, "E2", "91", "00", "BF2D0EA00C5A0A989209012143658709F5", "00", "9000");
104    bind.checkData("S4-C1 SW", "9000", s4.sw);
105    bind.checkData("S4-C2 outer tag BF2D", "BF2D", s4.resp.substring(0, 4));
106    bind.checkData("S4-C3 contains 5A0A989209012143658709F5", "1", s4.resp.indexOf("5A0A989209012143658709F5") >= 0 ? "1" : "0");
107    bind.checkData("S4-C4 contains 9F700101", "1", s4.resp.indexOf("9F700101") >= 0 ? "1" : "0");
108    bind.checkData("S4-C5 contains 4F10", "1", s4.resp.indexOf("4F10") >= 0 ? "1" : "0");
109
110    // 步骤 5:SELECT_ICCID(tc_step)
111    var s5 = bind.sendApdu("00", "A4", "00", "0C", "2FE2", null, "9000");
112    bind.checkData("S5-C1 SW", "9000", s5.sw);
113
114    // 步骤 6:READ_BINARY] with <L>=0x0A(tc_step;REQ: RQ34_015)
115    var s6 = bind.sendApdu("00", "B0", "00", "00", null, "0A", "9000");
116    bind.checkData("S6-C1 SW", "9000", s6.sw);
117    bind.checkData("S6-C2 READ_BINARY data", "989209012143658709F5", s6.resp);
118}
119

完整 unified diff

行级差异:新增 100 行 / 删除 963 行(以 -man 为基准,unified 上下文 3 行)。

展开 diff(1085 行)
--- -man
+++ -cas
@@ -1,982 +1,119 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset + TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change + TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set + TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported + TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20260907-030000
+// Function: (purpose 原文未由 SGP.23 该 TC 提供,corpus vacuum 登记)TC_eUICC_ES10c.EnableProfile_Case3,Test Sequence #02 Nominal: Enable Profile by ICCID and “refreshFlag” set when Device supports “UICC Reset”,适用性 M。
+// Test points: ICH-IC1-K1-C1 ATR_present;ICH-IC1-K2-C2 FCP_Template;ICH-IC1-K2-C4 SW
+//   ICH-IC1-K3-C4 SW;ICH-IC1-K4-C4 final SW;ICH-IC2-K1-C4 SW;ICH-IC2-K1-C3 CHANNEL_NUMBER extracted
+//   ICH-IC2-K2-C4 SW;S1-C2 response data absent;S1-C1 SW1 91;S2-C1 proactive command envelope
+//   IC3-IC1-K1-C1 ATR_present;IC3-IC1-K2-C2 FCP_Template;IC3-IC1-K2-C4 SW;IC3-IC1-K3-C4 SW
+//   IC3-IC1-K4-C4 final SW;IC3-IC2-K1-C4 SW;IC3-IC2-K1-C3 CHANNEL_NUMBER extracted;IC3-IC2-K2-C4 SW
+//   S4-C1 SW;S4-C2 outer tag BF2D;S4-C3 contains 5A0A989209012143658709F5;S4-C4 contains 9F700101
+//   S4-C5 contains 4F10;S5-C1 SW;S6-C1 SW;S6-C2 READ_BINARY data
+// 本函数由 CaseIR 4.2.21.2.1 编译生成(4221-r2,SGP.23 v1.16 × SGP.22 v2.7):字节权威=CaseIR,非誊录黄金脚本。
+// Value-free template: every data byte is injected from CaseIR fields; no scaffold globals (see docs/speconly/compile-symbol-migration.md).
+// 适用性 M:编译期门,运行时由 harness 环境前置承担。
+function TC_eUICC_ES10c_EnableProfile_Case3_02_merged() {
+    var bind = curBind;
 
-function TC_eUICC_ES10c_EnableProfile_Case3_01_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
-{
-	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ISD-P AID激活profile,并设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
+    var s7 = bind.resetAndAtr();
+    bind.checkData("ICH-IC1-K1-C1 ATR_present", "1", s7.atr_hex !== "" ? "1" : "0");
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");	
-	
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-	
-	FetchStr = Fetch("","9000","");
-		
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
-	proInfoListRequest.tagList = "5A4F9F70";
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2):SELECT_MF(K 语料机械展开)
+    // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
+    var s8 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("ICH-IC1-K2-C2 FCP_Template", "1", s8.resp.length > 0 ? "1" : "0");
+    bind.checkData("ICH-IC1-K2-C4 SW", "9000", s8.sw);
 
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	para1.apdu.ressw = "9000";
-	SendAPDU(para1.apdu);
-	
-  curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF1;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-	
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
+    var s9 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("ICH-IC1-K3-C4 SW", "9000", s9.sw);
 
-}
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
+    var steady10 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+    });
+    bind.checkData("ICH-IC1-K4-C4 final SW", "9000", steady10.final.sw);
 
-function TC_eUICC_ES10c_EnableProfile_Case3_02_Nominal_Enable_Profile_ICCID_and_refreshFlag_set_when_Device_supports_UICC_Reset()
-{
-	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:设备支持 “UICC Reset”,通过ICCID激活profile,并设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
+    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1):MANAGE_CHANNEL_OPEN(K 语料机械展开)
+    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s11 = bind.manageChannelOpen("9000");
+    bind.checkData("ICH-IC2-K1-C4 SW", "9000", s11.sw);
+    bind.checkData("ICH-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s11.chan !== null ? "1" : "0");
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");		
-	
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-	
-	FetchStr = Fetch("","9000","");
-		
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
-	proInfoListRequest.tagList = "5A4F9F70";
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
+    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2):MTD_SELECT(K 语料机械展开)
+    // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s12 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
+    // MTD_SELECT expected face is SW-only (K Annex C.2 open-channel procedure step 2: no FCI content assertion in corpus); no fabricated template parse.
+    bind.checkData("ICH-IC2-K2-C4 SW", "9000", s12.sw);
 
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	para1.apdu.ressw = "9000";
-	SendAPDU(para1.apdu);
-	
-  curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF1;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-	
+    // 步骤 1:MTD_STORE_DATA_Case3(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
+    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+    var sdCla1 = s11.chan !== null ? (s11.chan <= 3 ? 128 + s11.chan : 188 + s11.chan).toString(16).toUpperCase() : null;
+    var s1 = bind.sendApdu(sdCla1, "E2", "90", "00", "BF3111A00C5A0A989209012143658709F58101FF", null, null);
+    bind.checkData("S1-C2 response data absent", "1", s1.resp === "" ? "1" : "0");
+    bind.checkData("S1-C1 SW1 91", "91", s1.sw.substring(0, 2));
 
-}
+    // 步骤 2:FETCH 'XX'(tc_step;REQ: RQ32_016_3, RQ32_017, RQ57_134, RQ57_135_1)
+    // FETCH header literals follow the golden wire evidence 8012 (same
+    // anchor as runToSteadyState; J Annex D.4 has no FETCH row, D 2.2.2
+    // gives mechanism only). Le = pending length from the last 91XX
+    // (chain rule, binding-internal state).
+    var s2 = bind.fetchPending("80", "12", "00", "00", null);
+    bind.checkData("S2-C1 proactive command envelope", "1", (s2.resp.length >= 4 && s2.resp.substring(0, 2) === "D0") ? "1" : "0");
+    // S2-C1: REFRESH type/mode bytes are not corpus-fixed (envelope face only; per-mode bytes absent from input).
+    // S2:主动会话协议闭合(TS 102 223 §6.3:主动命令必须 TR 应答;
+    // UICC Reset 变体 E 表无 TR 行属编辑省略,golden U3 线证同构)。
+    var s2tr = bind.terminalResponseForPending("80", "14", "00", "00", "9000");
 
-function TC_eUICC_ES10c_EnableProfile_Case3_03_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
-{
-	if(!Card_Have_ECC_Cert)
-		return;
+    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1):RESET(K 语料机械展开)
+    var s13 = bind.resetAndAtr();
+    bind.checkData("IC3-IC1-K1-C1 ATR_present", "1", s13.atr_hex !== "" ? "1" : "0");
 
-	TestOfMEPMode = 0;	
+    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2):SELECT_MF(K 语料机械展开)
+    // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
+    var s14 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("IC3-IC1-K2-C2 FCP_Template", "1", s14.resp.length > 0 ? "1" : "0");
+    bind.checkData("IC3-IC1-K2-C4 SW", "9000", s14.sw);
 
+    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3):TERMINAL_CAPABILITY_LPAd(K 语料机械展开)
+    var s15 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("IC3-IC1-K3-C4 SW", "9000", s15.sw);
 
-	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ISD-P AID激活profile,并设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	curLogicChannel = 0;
-	
-	TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;//add 20260423
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");			
-		
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-	
-	FetchStr = Fetch("","9000","");
-		
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");//'09' = eUICC Profile State Change;   102.223-8.6
-	
-	TerminalResponse("00","9000");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
-	
-	curLogicChannel = 0;
-	
-	if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
-		TS_TERMINAL_CAPABILITY_cmd();
-	else
-		obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
-	
-	IniCard_SetUpMenu("",1);
-	
-	
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
-	proInfoListRequest.tagList = "5A4F9F70";
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
+    // IC ref inline @E 步骤 3(IC1 → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4):TERMINAL_PROFILE(K 语料机械展开)
+    var steady16 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+    });
+    bind.checkData("IC3-IC1-K4-C4 final SW", "9000", steady16.final.sw);
 
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF1;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-}
+    // IC ref inline @E 步骤 3(IC2 → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1):MANAGE_CHANNEL_OPEN(K 语料机械展开)
+    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s17 = bind.manageChannelOpen("9000");
+    bind.checkData("IC3-IC2-K1-C4 SW", "9000", s17.sw);
+    bind.checkData("IC3-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s17.chan !== null ? "1" : "0");
 
-function TC_eUICC_ES10c_EnableProfile_Case3_04_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_set_when_Device_supports_eUICC_Profile_State_Change()
-{
-	if(!Card_Have_ECC_Cert)
-		return;
-	
-	TestOfMEPMode = 0;	
+    // IC ref inline @E 步骤 3(IC2 → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2):MTD_SELECT(K 语料机械展开)
+    // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s18 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
+    // MTD_SELECT expected face is SW-only (K Annex C.2 open-channel procedure step 2: no FCI content assertion in corpus); no fabricated template parse.
+    bind.checkData("IC3-IC2-K2-C4 SW", "9000", s18.sw);
 
-	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:设备支持 “eUICC Profile State Change”,通过ICCID激活profile,并设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	curLogicChannel = 0;
-	
-	TERMINAL_PROFILE_Default = TERMINAL_PROFILE_eUICCProfileStateChanged;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为FF;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","91XX");
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");
-		
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-	
-	FetchStr = Fetch("","9000","");
-		
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("09",CmdQualifier,"the command qualifier is equal to ’09’ (eUICC Profile State Change)");
-	
-	TerminalResponse("00","9000");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化:从第 2 步到第 4 步,[SELECT_MF]、[TERMINAL_CAPABILITY_LPAd] 、[TERMINAL_PROFILE_eUICCProfileStateChanged] ");
-	
-	curLogicChannel = 0;
-	
-	if (check_eUICC_support_TERMINAL_CAPABILITY_cmd())
-		TS_TERMINAL_CAPABILITY_cmd();
-	else
-		obj.SubLevel("eUICC不支持”TERMINAL_CAPABILITY“命令", level_of_SubLevel.warning);
-	
-	IniCard_SetUpMenu("",1);
-	
-	
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
+    // 步骤 4:MTD_STORE_DATA(tc_step;REQ: RQ32_011, RQ32_016_1, RQ32_016_2, RQ57_128, RQ57_129, RQ57_133_3, RQ57_138)
+    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+    var sdCla4 = s17.chan !== null ? (s17.chan <= 3 ? 128 + s17.chan : 188 + s17.chan).toString(16).toUpperCase() : null;
+    var s4 = bind.sendApdu(sdCla4, "E2", "91", "00", "BF2D0EA00C5A0A989209012143658709F5", "00", "9000");
+    bind.checkData("S4-C1 SW", "9000", s4.sw);
+    bind.checkData("S4-C2 outer tag BF2D", "BF2D", s4.resp.substring(0, 4));
+    bind.checkData("S4-C3 contains 5A0A989209012143658709F5", "1", s4.resp.indexOf("5A0A989209012143658709F5") >= 0 ? "1" : "0");
+    bind.checkData("S4-C4 contains 9F700101", "1", s4.resp.indexOf("9F700101") >= 0 ? "1" : "0");
+    bind.checkData("S4-C5 contains 4F10", "1", s4.resp.indexOf("4F10") >= 0 ? "1" : "0");
 
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
-	proInfoListRequest.tagList = "5A4F9F70";
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
+    // 步骤 5:SELECT_ICCID(tc_step)
+    var s5 = bind.sendApdu("00", "A4", "00", "0C", "2FE2", null, "9000");
+    bind.checkData("S5-C1 SW", "9000", s5.sw);
 
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF1;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_05_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set()
-{
-	if(!Card_Have_ECC_Cert)
-		return;
-	
-	TestOfMEPMode = 0;	
-
-	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:通过ISD-P AID激活profile,不设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test01);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");
-		
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
-	IniCard_SetUpMenu("",1);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	curLogicChannel = 1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.isdpAid,ISD_P_Test01);
-	proInfoListRequest.tagList = "5A4F9F70";
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
-
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF1;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-	
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_06_Nominal_Enable_Profile_by_ICCID_and_refreshFlag_not_set()
-{
-	if(!Card_Have_ECC_Cert)
-		return;
-	
-	TestOfMEPMode = 0;	
-
-	initial_condition_PROFILE_OPERATIONAL1_is_Disabled();
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:通过ICCID激活profile,不设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.iccid,ICCID_OP_PROF1);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");
-		
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 TERMINAL_PROFILE命令;");
-	IniCard_SetUpMenu("",1);
-	
-
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	curLogicChannel = 1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.searchCriteria = new ChoiceObj(tagOfsearchCriteria_ProfileInfo.iccid,ICCID_OP_PROF1);
-	proInfoListRequest.tagList = "5A4F9F70";
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
-
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF1;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-	
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_07_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
-{	
-    //测试入口条件
-	if(!Card_Have_ECC_Cert)
-		  return;
-	
-
-	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
-		return;	
-		
-	TestOfMEPMode = 0;	
-	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
-	var ISD_P_Test02 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,并设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	curLogicChannel = 1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	
-   curLogicChannel=0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
-	sSendType = SendTypeByOTA.SMS;
-	KIC = MNO_SCP80_ENC_KEY;
-	KID = MNO_SCP80_AUTH_KEY;
-	KIK = MNO_SCP80_DATA_ENC_KEY;
-	
-
-	sAPDU = "80F28002024F0000";	
-	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-	
-	curLogicChannel=1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
-	FetchStr = Fetch("","9000","");
-		
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset; 
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
-
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-		
-		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF2;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-	
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_08_Nominal_Enable_Profile_by_ICCID_with_refreshFLag_not_set_while_proactive_session_is_ongoing_catBusy_not_supported ()
-{	
-    //测试入口条件
-	if(!Card_Have_ECC_Cert)
-		  return;
-	
-	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
-		return;
-		
-	TestOfMEPMode = 0;	
-	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
-	var ISD_P_Test02 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中时,通过ICCID激活profile,不设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	curLogicChannel = 1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	
-  curLogicChannel=0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
-	sSendType = SendTypeByOTA.SMS;
-	KIC = MNO_SCP80_ENC_KEY;
-	KID = MNO_SCP80_AUTH_KEY;
-	KIK = MNO_SCP80_DATA_ENC_KEY;
-	
-
-	sAPDU = "80F28002024F0000";	
-	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-	
-	curLogicChannel=1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9300");//"91"
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-
-	FetchStr = Fetch("","9000","");
-		
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset; 
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
-
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-		
-		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF2;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
-	
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_09_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
-{
-	if(!Card_Have_ECC_Cert)
-		return;
-	
-
-	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
-		return;
-		
-	TestOfMEPMode = 0;	
-	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
-	var ISD_P_Test02 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	curLogicChannel = 1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	
-  curLogicChannel=0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
-	sSendType = SendTypeByOTA.SMS;
-	KIC = MNO_SCP80_ENC_KEY;
-	KID = MNO_SCP80_AUTH_KEY;
-	KIK = MNO_SCP80_DATA_ENC_KEY;
-	
-
-	sAPDU = "80F28002024F0000";		
-	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-	
-	var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
-	CardSendMessageToServerExpandedRemoteCmd(exResPara);
-	
-	curLogicChannel=1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为true;");
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_True;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
-	
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
-	TerminalResponse("00","91XX");		
-	var ss = obj.GetState();
-	HaveReEntry91XX = false;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-	FetchStr = Fetch("","9000","");
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset; 
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
-
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-		
-		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF2;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();	
-	
-}
-
-function TC_eUICC_ES10c_EnableProfile_Case3_10_Nominal_Enable_Profile_by_ISD_P_AID_and_refreshFlag_not_set_while_proactive_session_is_ongoing_with_Terminal_Response_outstanding_catBusy_not_supported()
-{
-	if(!Card_Have_ECC_Cert)
-		return;
-	
-	if(!check_Applicability_of_tests_RSP_SGP23_test("C033"))
-		return;
-		
-	TestOfMEPMode = 0;	
-	initial_condition_PROFILE_OPERATIONAL1_is_Enabled(); 
-	var ISD_P_Test01 = curProfile_ISD_P_AID;
-	
-	initial_condition_PROFILE_OPERATIONAL2_is_Disabled();
-	var ISD_P_Test02 = curProfile_ISD_P_AID;
-	
-	tracenamestr = "测试目的:eUICC不支持catBusy,主动式会话进行中(未给终端响应)时,通过ICCID激活profile,不设置refreshFlag";
-	curDis.TraceStart(sno++,tracenamestr);
-	
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	curLogicChannel = 1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	
-  curLogicChannel=0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SMS-PP;");
-	sSendType = SendTypeByOTA.SMS;
-	KIC = MNO_SCP80_ENC_KEY;
-	KID = MNO_SCP80_AUTH_KEY;
-	KIK = MNO_SCP80_DATA_ENC_KEY;
-	
-
-	sAPDU = "80F28002024F0000";	
-	SendMessageToCard_GP(sSendType,"91XX",0,MNO_TAR_PROFILE_OPERATIONAL1,"12210015",sAPDU);
-	
-	var exResPara = new ExpandedRemoteResponsePara(arrExpandedRemoteCmdObj, "9000", "00", sSendType);
-	CardSendMessageToServerExpandedRemoteCmd(exResPara);
-	
-	curLogicChannel=1;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行EnableProfileRequest,refreshFlag为false;");
-
-	var enableProRequest = new EnableProfileRequest();
-	enableProRequest.profileIdentifier = new ChoiceObj(tagOfProfileIdentifier.isdpAid,ISD_P_Test02);
-	enableProRequest.refreshFlag = BooleanValue_BerCode_False;
-	enableProRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(enableProRequest.hexData,"90","00","9000");
-	
-	curStrHandle.CheckData("", respData, "EnableProfileResponse");
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送TerminalResponse命令;");
-	TerminalResponse("00","91XX");		
-	var ss = obj.GetState();
-	HaveReEntry91XX = false;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Fetch命令,主动式命令refresh;");
-	FetchStr = Fetch("","9000","");
-	var CmdDetails = GetValueByTag("01",1);
-	var CmdQualifier = CmdDetails.substr(4,2);
-	CheckData("04",CmdQualifier,"the command qualifier is equal to ’04’ (UICC Reset)");//'04' = UICC Reset;
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
-	Ini_powerOn_eUICC_LPAe_not_activate();
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
-	TS_MANAGE_CHANNEL_OPEN();
-	
-	curLogicChannel = 1;
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行ProfileInfoListRequest,获取profile状态;");
-
-	var proInfoListRequest = new ProfileInfoListRequest();
-	proInfoListRequest.GenHexData();
-	var respData = LPAd_Transport_data_to_eUICC(proInfoListRequest.hexData);
-	
-
-	var proInfoListResponse = new  ProfileInfoListResponse();
-	proInfoListResponse.checkCardResDataFormat(respData);
-	
-	try
-	{
-		curStrHandle.CheckData(ICCID_OP_PROF1, proInfoListResponse.profileInfoListOk.arrOfElement[0].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test01, proInfoListResponse.profileInfoListOk.arrOfElement[0].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_DISABLED, proInfoListResponse.profileInfoListOk.arrOfElement[0].profileState, "profile State");
-		
-		curStrHandle.CheckData(ICCID_OP_PROF2, proInfoListResponse.profileInfoListOk.arrOfElement[1].iccid, "ICCID");
-		curStrHandle.CheckData(ISD_P_Test02, proInfoListResponse.profileInfoListOk.arrOfElement[1].isdpAid, "ISD-P AID");
-		curStrHandle.CheckData(Profile_ENABLED, proInfoListResponse.profileInfoListOk.arrOfElement[1].profileState, "profile State");
-	}catch(e){
-		obj.SubLevel(ProfileInfoListResponse_Data_Error, level_of_SubLevel.error);
-	}
-	
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 Select命令,选择ICCID;");
-	var para1 = new SelectFileEFPara_3G("2FE2");
-	SendAPDU(para1.apdu);
-	
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送read binary命令;");
-	var para1 = new ReadBinaryPara_3G("00","00","0A");
-	para1.apdu.resvalue = ICCID_OP_PROF2;
-	SendAPDU(para1.apdu);
-	
-	RecoverCard();
+    // 步骤 6:READ_BINARY] with <L>=0x0A(tc_step;REQ: RQ34_015)
+    var s6 = bind.sendApdu("00", "B0", "00", "00", null, "0A", "9000");
+    bind.checkData("S6-C1 SW", "9000", s6.sw);
+    bind.checkData("S6-C2 READ_BINARY data", "989209012143658709F5", s6.resp);
 }