수동 및 동적 검증 포인트 추가

레코딩 중 지정된 검증 포인트 이외에 새 검증 포인트를 Functional Tester 스크립트에 통합할 수도 있습니다. 수동 및 동적 검증 포인트를 스크립팅하면 테스트 오브젝트 맵에서 발견되지 않은 오브젝트와 비교할 데이터를 지정할 수 있습니다. 그러나 데이터는 값 클래스에 기반해야 합니다.

vpManual 메소드와 vpDynamic 메소드의 경우 검증 포인트 이름 및 데이터 형식의 제한사항에 대한 정보는 Functional Tester API 참조서에서 IFtVerificationPoint에 대한 항목을 참조할 수 있습니다.

수동 검증 포인트

수동 검증 포인트는 검증 포인트에 대한 데이터를 직접 작성하고 데이터를 비교하려고 할 때 유용합니다. 예를 들어, 데이터는 계산 결과이거나 데이터베이스와 같은 외부 소스에서 가져올 수 있습니다.

수동 검증 포인트 오브젝트는 vpManual 메소드를 사용하여 생성됩니다. 이 메소드를 호출하는 경우 performTest가 실행되기 전에 데이터를 제공하십시오. (performTest 메소드는 제공된 데이터를 저장하고, 기준선이 있는 경우 이를 비교하며 결과를 로그에 작성합니다.) vpManual 메소드에는 두 개의 서명이 있습니다.

IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object 
actual)


IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object 
expected, java.lang.Object actual)

vpManual의 첫 번째 양식은 검증 포인트의 이름 및 기존 기준선과 비교하거나, 기준선이 없는 경우 이를 작성하는 데 사용하는 실제 데이터를 사용합니다. 이 값은 널(null)이 될 수 있다는 점을 유의하십시오. vpName은 스크립트에 비해 고유해야 합니다. 예를 들어, 다음과 같습니다.

vpManual ("manual1", "The rain in Spain").performTest();

이 메소드의 두 번째 양식은 실제 데이터와 비교할 예상 데이터의 매개변수를 추가합니다. 예상 또는 실제 중 하나는 널값이 될 수 있습니다. 예를 들어, 다음과 같습니다.

vpManual ("manual1", "The rain in Spain", "The Rain in Spain").performTest();

이 예제에서 데이터가 일치하지 않습니다. performTest 메소드는 검증 포인트 실패 메시지를 로그에 기록합니다.

동적 검증 포인트

동적 검증 포인트는 TestObject가 맵핑되지 않았고 Functional Tester가 일반적으로 테스트하는 것이 아닐 때(예: 테스트 중인 응용프로그램의 일부가 아닌 오브젝트) 매우 유용합니다.

vpDynamic 메소드는 동적 검증 포인트를 생성합니다. 동적 검증 포인트는 다음에 스크립트를 재생할 때 적절한 사용자 인터페이스를 시작합니다. 사용자는 스크립트에서 지정한 오브젝트와 비교하여 테스트된 검증 포인트 데이터를 삽입할 수 있습니다. 이러한 방식으로 사용자는 검증 포인트를 레코딩하기 전에 수동으로 테스트를 적절한 상태로 실행해야 하는 경우를 방지할 수 있습니다. vpDynamic 메소드에는 두 개의 서명이 있습니다.

IFtVerificationPoint vpDynamic (java.lang.String vpName)

IFtVerificationPoint vpDynamic (java.lang.String vpName, TestObject
objectUnderTest)

vpDynamic 메소드의 첫 번째 양식에는 고유한(스크립트와 비교하여) 검증 포인트 이름이 필요합니다. 레코딩 검증 포인트 및 조치 마법사는 다음에 스크립트를 재생할 때 시작됩니다. 사용자는 테스트할 다음 번 실행에 대해 TestObject와 기준선 데이터를 지정합니다. 스크립트는 대화식 모드로 실행되어야 합니다. 예를 들어, 다음과 같습니다.

vpDynamic("dynamic1").performTest();

다른 vpDynamic 메소드 양식에서는 TestObject를 지정해야 합니다. 예를 들어, 다음과 같습니다.

vpDynamic("dynamic1", AnAWTButtonButton()).performTest();

TestObject 계층 구조를 표시하지 않는 수정된 UI가 기준선에 대한 데이터 값을 지정하기 위해 첫 번째 재생 시 표시됩니다. 지정된 TestObject가 테스트 오브젝트 맵에 속할 필요는 없지만 의미있는 결과를 얻기 위해서는 계속 동일한 오브젝트이어야 합니다.

이러한 메소드를 사용할 때 공통적인 오류는 performTest 메소드를 생략하는 것입니다. 이 방법은 합법적이므로 경고 없이 컴파일되지만 스크립트가 실행될 때 흥미로운 조치가 발생하지 않습니다. 예를 들어, 다음과 같습니다.

vpDynamic("test1", AnAWTButtonButton()); //ERROR. Nothing happens.

피드백