모든 스크립트에서 동일한 작업을 수행하지만 실패 - 실패 값이 저장된 변수 만 변경하는 함수가 있습니다. 예를 들어 한 스크립트에서 상태가 Envrionment.Value ("Current_Status")에 저장됩니다. 다른 스크립트에서 - 상태가 DataTable.Value ("Status", 1)에 저장됩니다. 다른 스크립트에서 -> 상태는 objRS ("AddCriteria_Status")에 저장됩니다. 값문자열을 변수 이름으로 전달 QTP
그래서이 매개 변수를 문자열로 전달한 다음 나중에 변수 이름으로 사용하는 기능을 만들려고합니다. 다음은 샘플 코드입니다 :
Envrionment.Value("Current_Status") = "none"
Environment.Value("Fail_text") = "none"
Call AddCriteria("Environment.Value(""Current_Status"")","Environment.Value(""Fail_text"")")
Pubic Function AddCriteria(varStatus,varActual)
varTemp = ""
Execute(varStatus+ "=InProgress") 'change status to InProgress by the time execution is done
Execute(varActual + "=not_defined") 'this will have the reason the case failed
....code
If varTemp = "FAIL" Then
Execute(varStatus+ "=PASS")
Execute(varActual + "=PASS")
Else
Execute(varStatus+ "=FAIL")
Execute(varActual + "=Criteria did not get added")
End If
End Function
내가 Environment.Value의 값을 원하는 서브 루틴을 호출에 ("CURRENT_STATUS은")를 "없음"에서 "진행중"과에 "PASS" 에서 변경하려면하지만 "Execute"명령이 실행 된 후 환경 변수가 비게됩니다.
VBScript에서 CVar가 지원되지 않으므로 사용할 수 없습니다.
Eval을 시도했지만 다른 방향으로 작동하지 않습니다. 즉, Environment.Value ("Current_Status") 값을 변경하면 Eval (varStatus) 값이 변경되지만 찾을 수 없습니다. Environment.Value ("Current_Status") 값이 변경되도록 Eval (varStatus)의 값을 변경하는 방법.
도와주세요. 나는 일주일 동안 붙어있다.
!!! 내가 성취하려고하는 것은 무엇입니까 !!!
.vbs 파일에서 함수에 문자열을 매개 변수로 전달하십시오. 그 함수의 변수 이름으로 변환하십시오. 간단한 예 : "abc"문자열을 함수에 매개 변수로 전달하고 해당 함수 내에서 문자열을 변수 이름으로 변환하여 [[abc = "PASS"] [0126 그것을 시도! 나는 그것이 내가 "CVar"를 사용하여 이전 게시물 [vbscript Eval a string to a Variable in a loop?
에서 가져온 솔루션이 같은 명령을 실행하여 시도
는방법입니다하지만 VBScript를 지원하지 않습니다. 그래서 아이디어가 없어졌습니다.
!!! 내가 직면 한 문제 !!!
솔직히 "Execute"를 사용하는 논리를 이해하지 못했지만 그럼에도 불구하고 시도했습니다. 슬프게도, 그것은 잘 풀리지 않았다. 코드에서 언급 한 것처럼 실행 명령을 사용하면 환경 변수가 비어있게됩니다.