이 문서는 합성 모니터 버전 0.5.0 또는 0.6.0에서 사용할 수 있는 스크립트된 브라우저 기능에 대해 설명합니다. 최신 모니터 버전을 사용하는 경우 모니터 버전 Chrome 100 및 최신 문서 를 참조하세요. 이전 모니터 버전을 사용하는 경우 모니터 버전 0.4.0 이하 문서 를 참조하십시오.
모니터 버전 및 런타임 차이점에 대한 자세한 내용은 런타임 환경 을 참조하세요.
중요
2024년 8월 26일부터 공개 또는 위치 위치에서 구형 런타임을 사용하여 새 모니터를 생성할 수 없습니다. 2024년 10월 22일부로 컨테이너화된 미니언(분당 호출 수) 및 구형 신세틱스 손잡이 버전이 종료됩니다 .
표시 위치의 경우 런타임 업그레이드 UI 사용하여 모니터를 최신 런타임으로 업데이트하세요.
위치 위치의 경우 모니터 성능 저하를 방지하기 위해 권장되는 마이그레이션 단계를 검토하십시오.
Chrome 100+ 브라우저 런타임은 0.5.0 및 0.6.0에 대한 이전 버전과 호환되는 지원을 제공합니다. 브라우저 런타임 구문.
몇 가지 일반적인 사용 예는 스크립팅된 브라우저 모니터 소개를참조하십시오.
Selenium Webdriver API
변수 $driver
및 $browser
을 사용하면 스크립트 브라우저에서 셀레니엄 웹 드라이브 API 3.6.0에 액세스할 수 있습니다. 모니터 버전 0.6.x의 경우 및 셀레니엄 웹 드라이버 API 3.5.0 모니터 버전 0.5.x의 경우.
특히:
$driver
selenium-webdriver
모듈의 모든 내보내기를 제공합니다(예:ActionSequence
,Button
,By
,WebElement
등).$browser
selenium-webdriver.WebDriver()
의 합성 모니터링 인스턴스입니다.get()
및findElement()
같은 기본 기본WebDriver
API와 일부 합성 사용자 지정 API를 노출합니다.
최상위 기능: 스크립트 작성
New Relic은 $browser
인스턴스에서 직접 최상위 함수를 호출합니다. 이들은 많은 기본 스크립팅 가능한 작업을 다루는 광범위한 기능을 제공합니다.
함수 | 설명 |
---|---|
| 이 드라이버를 사용하여 새 동작 시퀀스를 만듭니다. 사용 가능한 작업 목록은 ActionSequence 를 참조하십시오. 반환 값: 무효 |
| 값이 반환 값: 무효 |
| 런타임에 헤더 맵을 추가합니다. 반환 값: 무효 |
| 런타임에서 특정 헤더를 삭제합니다. 반환 값: 무효 |
| 런타임에서 인수의 모든 헤더를 삭제합니다. 반환 값: 무효 |
| 거부 목록에 호스트 이름을 추가합니다. 와일드카드 사용을 허용합니다. 반환 값: 무효 |
| 거부 목록에 인수 배열의 모든 호스트 이름을 추가합니다. 와일드카드 사용을 허용합니다. 반환 값: 무효 |
| 종합 모니터링에서 기본적으로 차단된 호스트 이름을 허용 목록에 추가합니다. 반환 값: 무효 |
| 인수의 모든 호스트 이름을 허용 목록에 추가합니다. 반환 값: 무효 |
| 거부 목록에서 이 브라우저 인스턴스의 호스트 이름을 제거합니다. 반환 값: 무효 |
| 거부 목록에서 인수의 모든 호스트 이름을 제거합니다. 반환 값: 무효 |
| 허용 목록에서 이 브라우저 인스턴스의 호스트 이름을 제거합니다. 반환 값: 무효 |
| 이 브라우저 인스턴스에 대한 허용 목록에서 인수의 모든 호스트 이름을 제거합니다. 반환 값: 무효 |
| 현재 선택한 프레임 또는 창의 컨텍스트에서 비동기 JavaScript를 실행하도록 명령을 예약합니다. 반환 값: 약속 |
| 현재 선택한 프레임 또는 창의 컨텍스트에서 JavaScript를 실행하도록 명령을 예약합니다. 반환 값: 약속 |
| 페이지에서 요소를 찾는 명령을 예약합니다. 찾을 수 없으면 종합 모니터링에서 오류를 반환합니다. 반환 값: WebElementPromise |
| 페이지에서 여러 요소를 검색 하도록 명령을 예약합니다. 반환 값: 약속 |
| 페이지에서 요소를 기다리고 찾는 명령과 표시될 때까지 기다리는 또 다른 명령을 예약합니다. 찾을 수 없으면 종합 모니터링에서 오류를 반환합니다. 시간 초과 값은 선택 사항입니다. 요소를 찾고 가시성을 기다리는 두 작업에 별도로 적용됩니다. 이는 최악의 경우 이 방법이 제공된 시간 초과 값의 최대 두 배를 차지할 수 있음을 의미합니다. 기본 시간 초과 값은 1000ms(1초)입니다. 반환 값: WebElementPromise |
| 합성 브라우저에서 웹 페이지를 로드합니다. 반환 값: 약속 |
| 사용 가능한 창 핸들의 현재 목록을 검색하는 명령을 예약합니다. 반환 값: 약속 |
| 인스턴스의 기능으로 해결될 약속입니다. 반환 값: 약속 |
| 현재 페이지의 URL을 검색하는 명령을 예약합니다. 반환 값: 약속 |
| 현재 구성된 헤더의 맵을 반환합니다. 반환 값: 지도 |
| 현재 페이지의 소스를 검색하는 명령을 예약합니다. 반환된 페이지 소스는 기본 DOM을 나타냅니다. 웹 서버에서 보낸 응답과 같은 방식으로 형식화되거나 이스케이프될 것으로 기대하지 마십시오. 반환 값: 약속 |
| 이 클라이언트의 세션에 대한 약속입니다. 반환 값: 약속 |
| 현재 페이지의 제목을 검색하는 명령을 예약합니다. 반환 값: 약속 |
| 현재 창 핸들을 검색하는 명령을 예약합니다. 반환 값: 약속 |
| 이 인스턴스의 옵션 인터페이스입니다. 쿠키, 시간 초과 및 기타 창 옵션을 관리할 수 있습니다. 반환 값: 무효 |
| 이 인스턴스의 탐색 인터페이스(브라우저 기능 기록) 입니다. 반환 값: 무효 |
| 이 드라이버의 반환 값: 약속 |
| 지정된 시간 동안 드라이버를 절전 모드로 전환하는 명령을 예약합니다. 반환 값: 약속 |
| 이 인스턴스의 대상 로케이터 인터페이스입니다. 반환 값: 무효 |
| 스크린샷을 찍도록 명령을 예약합니다. 반환 값: 약속 |
| 제공된 함수에서 정의한 대로 조건이 유지될 때까지 기다리도록 명령을 예약합니다. 반환 값: WebElement |
| 스크립트가 시작된 요청이 제한 시간까지 반환될 때까지 기다리도록 합니다. 비차단 리소스를 추적하는 데 유용합니다. 반환 값: 약속 |
거부 목록: 와일드카드 사용
브라우저 인스턴스의 거부 목록에 도메인을 추가하려면 와일드카드가 차단할 URL의 URL 구문과 일치해야 합니다.
전체 .com
거부 목록에는 다음 기능이 포함되어야 합니다.
함수 | 차단 조치 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
옵션: 브라우저 인스턴스 관리
이러한 기능은 쿠키, 시간 초과 및 창 크기와 같은 브라우저 인스턴스에 대한 옵션을 관리합니다. $browser.manage()
함수를 통해 이러한 옵션에 액세스합니다.
함수 | 설명 |
---|---|
| 쿠키를 추가하는 명령을 예약합니다.
반환 값: 약속 |
| 현재 페이지에 표시되는 모든 쿠키를 삭제하는 명령을 예약합니다. 반환 값: 약속 |
| 지정된 이름의 쿠키를 삭제하는 명령을 예약합니다. 이 명령은 현재 페이지에서 볼 수 있는 주어진 이름의 쿠키가 없는 경우 작동하지 않습니다. 반환 값: 약속 |
| 지정된 이름으로 쿠키를 검색하는 명령을 예약합니다. 그러한 쿠키가 없으면 null을 반환합니다. 쿠키는 WebDriver 유선 프로토콜에 설명된 대로 JSON 개체로 반환됩니다. 반환 값: 약속 |
| 현재 페이지에 표시되는 모든 쿠키를 검색하는 명령을 예약합니다. New Relic Syntheticcs는 WebDriver 유선 프로토콜에 설명된 대로 각 쿠키를 JSON 개체로 반환합니다. 반환 값: 약속 |
| 요소가 즉시 존재하지 않는 경우 드라이버가 요소를 검색할 때 기다려야 하는 시간을 지정합니다. 대기 시간 초과를 대기 시간 초과를 늘리면 특히 XPath와 같은 느린 위치 전략에서 테스트 실행 시간이 증가하므로 주의하십시오. 기본값은 10초입니다. 반환 값: 약속 |
| 오류를 반환하기 전에 페이지 로드가 완료될 때까지 기다리는 시간을 설정합니다. 시간 제한이 음수이면 페이지 로드가 최대 180초 동안 지속될 수 있습니다. 기본값은 60초입니다. 반환 값: 약속 |
| 비동기 스크립트가 오류를 반환하기 전에 실행을 완료할 때까지 기다리는 시간(밀리초)을 설정합니다. 기본값은 30초입니다. 반환 값: 약속 |
| 화면의 왼쪽 상단 모서리를 기준으로 창의 현재 위치를 검색합니다. 반환 값: 약속 |
| 창의 현재 크기를 검색합니다. 반환 값: 약속 |
| 현재 창을 최대화합니다. 반환 값: 약속 |
| 현재 창의 위치를 변경합니다. 반환 값: 약속 |
| 현재 창의 크기를 조정합니다. 반환 값: 약속 |
로케이터: 페이지 요소 찾기
로케이터는 locator
인스턴스를 생성하기 위한 팩토리 함수 모음입니다. 로케이터는 $browser.findElement
과 같은 함수에 전달할 수 있는 DOM 요소를 찾습니다. $driver.By
를 통해 전화하세요.
함수 | 설명 |
---|---|
| 특정 클래스 이름을 가진 요소를 찾습니다. 반환된 로케이터는 CSS 선택기 반환 값: 로케이터 |
| CSS 선택기를 사용하여 요소를 찾습니다. 반환 값: 로케이터 |
| ID로 요소를 찾습니다. 반환 값: 로케이터 |
| 보이는 텍스트가 주어진 문자열과 일치하는 링크 요소를 찾습니다. 반환 값: 로케이터 |
| JavaScript 표현식을 평가하여 요소를 찾습니다. 반환 값: 로케이터 |
| name 속성이 주어진 값을 갖는 요소를 찾습니다. 반환 값: 로케이터 |
| 표시되는 getText 에 지정된 하위 문자열이 포함된 링크 요소를 찾습니다. 반환 값: 로케이터 |
| 주어진 태그 이름을 가진 요소를 찾습니다. 반환된 로케이터는 반환 값: 로케이터 |
| XPath 선택기와 일치하는 요소를 찾습니다. 반환 값: 로케이터 |
WebElement: 페이지 요소와 상호 작용
$browser.findElement
또는 $browser.waitForAndFindElement
과 같은 함수가 WebElement 참조를 반환하면 이러한 함수를 사용하여 해당 요소와 상호작용할 수 있습니다. 예를 들어 버튼을 클릭하고 텍스트를 보내 입력을 구성하고 테스트할 요소의 속성을 가져올 수 있습니다.
함수 | 설명 |
---|---|
| 이 요소를 클릭합니다. 반환 값: 자체 참조 |
| 이 인스턴스가 나타내는 DOM 요소에 시퀀스를 입력하도록 명령을 예약합니다. 반환 값: WebElement |
| 이 요소의 태그/노드 이름을 쿼리하도록 명령을 예약합니다. 반환 값: WebElement |
| 이 인스턴스가 나타내는 요소의 계산된 스타일을 쿼리하도록 명령을 예약합니다. 요소가 부모로부터 명명된 스타일을 상속하는 경우 부모는 해당 값을 쿼리합니다. 가능한 경우 색상 값은 16진수 표현으로 변환됩니다(예: 반환 값: 약속 |
| 요소의 지정된 속성 값을 쿼리하는 명령을 예약합니다. 반환 값: 약속 |
| 선행 또는 후행 공백 없이 하위 요소를 포함하여 이 요소의 가시적(CSS에 의해 숨겨지지 않음) 반환 값: 약속 |
| 이 요소의 경계 상자 크기를 픽셀 단위로 계산하도록 명령을 예약합니다. 반환 값: 약속 |
| 페이지 공간에서 이 요소의 위치를 계산하는 명령을 예약합니다. 반환 값: 약속 |
| 이 인스턴스가 나타내는 DOM 요소가 disabled 속성에 따라 활성화되었는지 여부를 쿼리하는 명령을 예약합니다. 반환 값: 약속 |
| 이 요소가 선택되었는지 여부를 쿼리하는 명령을 예약합니다. 반환 값: 약속 |
| 이 요소(또는 이 요소가 반환 값: 약속 |
| 이 요소의 값을 지우는 명령을 예약합니다. 반환 값: 약속 |
| 이 요소가 현재 표시되는지 여부를 테스트하는 명령을 예약합니다. 반환 값: 약속 |
ActionSequence: 여러 작업 연결
액션 시퀀스는 웹사이트와 복잡한 사용자 상호작용을 생성할 수 있습니다.
- 새 작업 시퀀스를 만들려면
$browser.actions()
을 사용합니다. - 여러 작업을 하나의 시퀀스로 연결하려면 각각 뒤에
perform()
을 포함합니다. 이것은 단일 동작 시퀀스를 포함하여 개별 시퀀스를 실행한 다음 종료합니다.
다음 표에는 사용 가능한 작업 목록이 나와 있습니다. 자세한 내용 은 GitHub의 WebDriver ActionSequence 설명서를 참조하십시오.
함수 | 설명 |
---|---|
| 마우스 버튼을 클릭합니다. 요소가 제공되면 마우스가 먼저 해당 요소의 중앙으로 이동합니다. 이는 반환 값: actionsequence |
| 마우스 버튼을 두 번 클릭합니다. 요소가 제공되면 마우스가 먼저 해당 요소의 중앙으로 이동합니다. 반환 값: actionsequence |
| 드래그 앤 드롭 조작을 수행하기 위한 편의 기능. 대상 요소는 다른 요소의 위치로 이동하거나 오프셋(픽셀 단위)만큼 이동할 수 있습니다. 위치는 반환 값: actionsequence |
| 수정자 키 누름을 수행합니다. 반환 값: actionsequence |
| 수정자 키 해제를 수행합니다. 릴리스는 현재 포커스가 있는 요소를 대상으로 합니다. 반환 값: actionsequence |
| 마우스 버튼을 누릅니다. 이 순서로 호출되는지 다른 순서로 호출되는지에 관계없이 반환 값: actionsequence |
| 마우스 버튼을 놓습니다. 반환 값: actionsequence |
| 마우스를 움직입니다. 이동할 위치는 마우스의 현재 위치, 요소의 왼쪽 상단 모서리에 상대적인 오프셋 또는 요소(이 경우 요소의 중간이 사용됨)로 지정할 수 있습니다. 반환 값: actionsequence |
| 이 작업 시퀀스를 실행합니다. 반환 값: 약속 |
| 여러 키 입력을 시뮬레이션합니다. 시퀀스에서 발견된 각 수정자는 다시 만날 때까지 해제되지 않습니다. 모든 주요 이벤트는 현재 포커스가 있는 요소를 대상으로 합니다. 지원되는 영숫자가 아닌 키의 전체 목록은 GitHub의 WebDriver 열거형 키 설명서를 참조하세요. 반환 값: actionsequence |
약속: 작업을 시퀀스에 연결
Promise에서 직접 함수를 실행할 수도 있습니다. 종합 모니터링은 기본 Node.js 환경이며 표준 Node.js 약속을 사용합니다.
이러한 함수는 약속의 상태를 평가하고 취소하는 등의 작업을 수행합니다. 특히 then()
함수와 그 형제 finally()
및 catch()
를 사용하여 일련의 작업을 만들 수 있습니다. 자세한 내용은시퀀스 작업 을 참조하십시오.
함수 | 설명 |
---|---|
| 이 약속의 값이 아직 계산 중인지 여부입니다. 반환 값: 부울 |
| 이 인스턴스가 확인될 때 리스너를 등록합니다. 이것은 스크립트에서 동기 작업을 연결하는 데 사용되는 기본 기능입니다. 반환 값: 약속 |
| 프라미스의 값이 성공적으로 계산되었는지 여부에 관계없이 이 프라미스가 확인될 때 호출할 수신기를 등록합니다. 반환 값: 약속 |
| 이 약속이 거부될 때 리스너를 등록합니다. 반환 값: 약속 |
탐색: 브라우저 기록을 통해 이동
$browser.navigate()
함수는 브라우저 기록을 앞뒤로 이동하고, 페이지를 새로고침하고, 새 페이지로 이동할 수 있는 다양한 기능을 제공합니다.
함수 | 설명 |
---|---|
| 브라우저 기록에서 한 단계 뒤로 이동합니다. 반환 값: 무효 |
| 브라우저 기록에서 한 단계 앞으로 이동합니다. 반환 값: 무효 |
| 현재 페이지를 새로 고칩니다. 반환 값: 무효 |
| 현재 브라우저 창에서 새 웹페이지를 로드합니다. 반환 값: 무효 |
조건: 일시 중지 및 조건 대기
팁
여기 에서 Selenium의 wait에 대해 자세히 알아볼 수 있습니다.
$browser.wait
, until
과 함께 사용하면 조건이 일치할 때까지 스크립트 실행이 일시 중지됩니다. 자세한 내용은 Selenium의 WebDriver until
설명서 를 참조하십시오.
다음은 $driver.until.Condition
에 사용할 수 있는 기능입니다.
함수 | 설명 |
---|---|
| 입력 드라이버가 지정된 프레임으로 전환할 수 있을 때까지 기다리는 조건을 만듭니다. 대상 프레임은 다음과 같이 지정할 수 있습니다.
|
| 경고가 열리기를 기다리는 조건을 만듭니다. 성공하면 반환된 약속이 열린 경고에 대한 핸들로 이행됩니다. 반환 값: 조건 |
| 주어진 요소가 비활성화될 때까지 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 주어진 요소가 활성화되기를 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 주어진 요소가 DOM에 있지만 사용자에게 표시되지 않을 때까지 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 주어진 요소가 표시될 때까지 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 주어진 요소가 선택되기를 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 주어진 로케이터로 요소를 찾을 때까지 반복되는 조건을 만듭니다. 반환 값: 조건 |
| 주어진 로케이터로 적어도 하나의 요소를 찾을 때까지 반복되는 조건을 생성합니다. 반환 값: 조건 N |
| 주어진 요소의 보이는 텍스트가 주어진 부분 문자열을 포함할 때까지 기다리는 조건을 생성합니다. 반환 값: 조건 |
| 대소문자를 구분합니다. 주어진 요소의 보이는 텍스트가 주어진 텍스트와 정확히 일치하기를 기다리는 조건을 만듭니다. 반환 값: 조건 N |
| 주어진 요소의 보이는 텍스트가 정규식과 일치하기를 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 주어진 요소가 부실해질 때까지 기다리는 조건을 만듭니다. 요소는 DOM에서 제거되거나 새 페이지가 로드되면 오래된 것으로 간주됩니다. 반환 값: 조건 |
| 현재 페이지의 제목에 지정된 하위 문자열이 포함될 때까지 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 현재 페이지의 제목이 주어진 값과 일치할 때까지 기다리는 조건을 만듭니다. 반환 값: 조건 |
| 현재 페이지의 제목이 주어진 정규식과 일치할 때까지 기다리는 조건을 만듭니다. 반환 값: 조건 |