Skip to Content
Reference어설션 유형

어설션 유형

프로비저닝된 테스트 VM 내에서 실행되는 어설션에 대한 정식 참조입니다. 별도로 명시하지 않는 한 대상은 primary입니다. 각 어설션에는 사람이 필요합니다. description 읽을 수 있습니다.

안정적인 게스트 어설션

유형필수 params선택적 동작
user_existsusernameid을 실행합니다
user_passwordusername잠금 해제된 비밀번호 해시가 존재하는지 확인합니다. 대화형 로그인을 시도하지 않습니다
user_in_groupusername, groupsudo/admin을 확인할 때 Vyatta 관리 항목을 허용합니다.
file_existspath파일이나 디렉토리를 허용합니다
file_containspath, pattern 또는 contentgrep을 사용합니다. 값은 리터럴 전용 비교가 아닌 grep 패턴입니다.
file_permissionspath, modestat에 의해 보고된 8진수 모드를 비교합니다
service_runningservice시스템 활성 상태를 확인합니다. 작은 배포판 간 별칭 집합을 알고 있습니다
service_enabledservice시스템 활성화 확인
package_installedpackage게스트가 지원하는 패키지 관리자 데이터베이스를 확인합니다.
port_listeningportprotocoltcp 또는 udp일 수 있습니다. 기본값은 TCP입니다
command_succeedscommand종료 코드는 0이어야 합니다. timeout_seconds/timeout은 1~1,800초로 고정됩니다
command_outputcommandexpected_pattern, pattern, expected 또는 어설션 수준 expected의 정규식Python 정규식 의미 체계와 stdout을 일치시킵니다.
network_reachablehostcount의 기본값은 3입니다. ICMP 핑을 사용합니다
http_respondsurlstatus의 기본값은 200

예:

{ "type": "command_output", "description": "Application reports the expected release", "params": { "command": "/opt/acme/bin/acme --version", "expected_pattern": "^acme 2\\.4\\.[0-9]+$" } }

명령과 캡처된 출력은 테스트 증거가 될 수 있습니다. 비밀을 삽입하지 마세요.

GUI 어설션

GUI 확인은 작업 중인 디스플레이 세션과 러너의 스크린샷 또는 입력 도우미. 게스트 명령 확인보다 환경에 더 민감합니다.

유형주요 매개변수검사 내용
gui_application_opensapplication(표준); 핸들러는 실행 관련 옵션도 허용합니다응용 프로그램을 시작하고 창을 찾습니다
gui_window_visible핸들러에서 사용하는 창 제목 또는 일치 매개변수기존 창을 찾습니다
gui_execute_commandcommand데스크톱 명령을 실행합니다. 스크린샷을 캡처할 수 있습니다
gui_application_processprocess_name헤드리스 폴백으로 프로세스를 찾습니다.
gui_screenshot_matchesreference_id; 선택 사항 threshold, 자르기/마스크 영역현재 스크린샷을 저장된 참조와 비교
gui_wallpaper_matcheswallpaper_path; 선택적 임계값 및 지역구성된 배경화면 경로 및 시각적 결과 확인
desktop_wallpaper_matcheswallpaper_path더욱 엄격한 데스크탑 배경화면 출처/구성/시각적 검사 실행
gui_click_elementx, y좌표 기반 포인터 입력 보내기
gui_form_fillfields좌표 설명 양식 입력 채우기
gui_text_visibletext, contains 또는 ocr_contains화면이나 선택한 지역에 OCR을 사용

실행 프로그램은 일부 OCR 및 배경화면에 대한 호환성 별칭도 허용합니다. 유형. 새로운 레시피에서는 위의 표준 이름을 선호하세요. 좌표 테스트는 해상도에 민감한; 가능한 경우 OCR 또는 결과 확인을 사용하십시오.

벤치마크 확인은 별도의 형식입니다.

cis_benchmark은 레시피의 역사적 주장 어휘에 나타나지만 일반 어설션 디스패처에는 cis_benchmark 핸들러가 없습니다. CIS와 다른 벤치마크 검사는 audit_script을 사용하여 벤치마크 레코드로 제공됩니다. 벤치마크 실행기를 통해 실행합니다. 사용 CIS 벤치마크 워크플로, 사용자 정의 어설션이 아님 type: "cis_benchmark".

결과 해석

  • 필수 데이터가 누락되어 error이 생성되거나 플래너가 어설션을 삭제할 수 있습니다. 실행 전 경고와 함께.
  • 사용할 수 없는 on_vm 대상은 skipped을 생성합니다.
  • 일치하지 않는 결과는 failed을 생성합니다.
  • passed만이 해당 주장에 대한 확실한 증거입니다.

작성 지침은 맞춤 어설션을 참조하세요.