• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

합성 스크립트 브라우저 참조(모니터 버전 0.4.x 이하)

이 문서는 합성 모니터 버전 0.4.x 이하에 대한 것입니다. 합성 모니터 버전 0.5 또는 0.6.0모니터 버전 Chrome 100 이상 에 대한 설명서도 참조하세요.

몇 가지 일반적인 사용 예는 스크립팅된 브라우저 모니터 소개를참조하십시오.

개요

합성 스크립트 브라우저$driver$browser 변수를 통해 Selenium Webdriver API 2.47.0 에 대한 액세스를 제공합니다. 특히:

  • $driver selenium-webdriver 모듈의 모든 내보내기를 제공합니다(예: ActionSequence , Button , By , WebElement 등).
  • $browser selenium-webdriver.WebDriver() 의 합성 풍미 인스턴스입니다. get()findElement() 와 같은 주요 기본 WebDriver API와 일부 합성 맞춤 API를 노출합니다.

이 문서는 합성 스크립트 브라우저 모니터 버전 0.4.0 이하에서 사용할 수 있는 기능을 설명합니다. 최신 모니터 설명서는 모니터 버전 0.5.0+ 설명서를참조하십시오.

기타 관련 문서:

최상위 기능: 스크립트 작성

New Relic은 $browser 인스턴스에서 직접 최상위 함수를 호출합니다. 이들은 많은 기본 스크립팅 가능한 작업을 다루는 광범위한 기능을 제공합니다.

함수

반환 값

$browser.actions()

이 드라이버를 사용하여 새 동작 시퀀스를 만듭니다. 사용 가능한 작업 목록은 ActionSequence: 여러 작업 연결 을 참조하십시오.

무효의

$browser.addHeader(headerKey: string, headerValue: string)

값이 headerValue 인 헤더 headerKey 를 런타임에 추가합니다.

무효의

$browser.addHeaders(headers: ?)

런타임에 헤더 맵을 추가합니다.

무효의

$browser.deleteHeader(header: string)

런타임에서 특정 헤더를 삭제합니다.

무효의

$browser.deleteHeaders(header: [string])

런타임에서 인수의 모든 헤더를 삭제합니다.

무효의

$browser.addHostnameToBlacklist(hostname: string)

호스트 이름을 허용하지 않습니다. 와일드카드 사용을 허용합니다.

무효의

$browser.addHostnamesToBlacklist(hostnameArr: [string])

인수 배열의 모든 호스트 이름을 허용하지 않습니다. 와일드카드 사용을 허용합니다.

무효의

$browser.addHostnameToWhitelist(hostname: string)

종합 모니터링에서 기본적으로 차단된 호스트 이름을 허용합니다.

무효의

$browser.addHostnamesToWhitelist(hostnameArr: [string])

인수의 모든 호스트 이름을 허용합니다.

무효의

$browser.deleteHostnameFromBlacklist(hostname: string)

이 브라우저 인스턴스의 블랙리스트에서 호스트 이름을 제거합니다.

무효의

$browser.deleteHostnamesFromBlacklist(hostnameArr: [string])

허용되지 않는 목록에서 인수의 모든 호스트 이름을 제거합니다.

무효의

$browser.deleteHostnameFromWhitelist(hostnameArr: [string])

이 브라우저 인스턴스의 허용 목록에서 호스트 이름을 제거합니다.

무효의

$browser.deleteHostnamesFromWhitelist(hostnameArr: [string])

이 브라우저 인스턴스의 허용 목록에서 인수의 모든 호스트 이름을 제거합니다.

무효의

$browser.executeAsyncScript(script: ?, var_args: ?)

현재 선택한 프레임 또는 창의 컨텍스트에서 비동기 JavaScript를 실행하도록 명령을 예약합니다.

약속하다

$browser.executeScript(script: ?, var_args: ?)

현재 선택한 프레임 또는 창의 컨텍스트에서 JavaScript를 실행하도록 명령을 예약합니다.

약속하다

$browser.findElement(locator: $driver.Locator)

페이지에서 요소를 찾는 명령을 예약합니다. 찾을 수 없으면 New Relic은 오류를 반환합니다.

웹요소

$browser.findElements(locator: $driver.Locator)

페이지에서 여러 요소를 검색 하도록 명령을 예약합니다.

약속하다

$browser.waitForAndFindElement(locator: $driver.Locator [, timeout: number)

페이지에서 요소를 기다리고 찾는 명령과 표시될 때까지 기다리는 또 다른 명령을 예약합니다. 찾을 수 없으면 New Relic은 오류를 반환합니다. 타임아웃 값은 선택 사항이며 요소를 찾고 가시성을 기다리는 두 작업에 별도로 적용됩니다. 이는 최악의 경우 이 방법이 제공된 시간 초과 값의 최대 두 배를 차지할 수 있음을 의미합니다. 기본 시간 초과 값은 1000ms(1초)입니다.

약속하다

$browser.get(url: string)

합성 브라우저에서 웹 페이지를 로드합니다.

약속하다

$browser.getAllWindowHandles()

사용 가능한 창 핸들의 현재 목록을 검색하는 명령을 예약합니다.

약속하다

$browser.getCapabilities()

인스턴스의 기능으로 해결될 약속입니다.

약속하다

$browser.getCurrentUrl()

현재 페이지의 URL을 검색하는 명령을 예약합니다.

약속하다

$browser.getHeaders()

현재 구성된 헤더의 맵을 반환합니다.

지도

$browser.getPageSource()

현재 페이지의 소스를 검색하는 명령을 예약합니다. 반환된 페이지 소스는 기본 DOM을 나타냅니다. 웹 서버에서 보낸 응답과 같은 방식으로 형식이 지정되거나 이스케이프될 것으로 기대하지 마십시오.

약속하다

$browser.getSession()

이 클라이언트의 세션에 대한 약속입니다.

약속하다

$browser.getTitle()

현재 페이지의 제목을 검색하는 명령을 예약합니다.

약속하다

$browser.getWindowHandle()

현재 창 핸들을 검색하는 명령을 예약합니다.

약속하다

$browser.isElementPresent(locatorOrElement: $driver.Locator)

페이지에 요소가 있는지 테스트하는 명령을 예약합니다. DOM 요소가 주어지면 이 함수는 드라이버가 현재 집중하고 있는 문서에 속하는지 확인합니다. 그렇지 않으면 함수는 주어진 검색 기준으로 하나 이상의 요소를 찾을 수 있는지 테스트합니다.

약속하다

$browser.manage()

이 인스턴스의 옵션 인터페이스입니다. 쿠키, 시간 초과 및 기타 창 옵션을 관리할 수 있습니다.

무효의

$browser.navigate()

이 인스턴스의 탐색 인터페이스(브라우저 기능 기록) 입니다.

무효의

$browser.schedule(command: ?, description: string)

이 드라이버의 CommandExecutor가 실행할 명령을 예약합니다.

약속하다

$browser.sleep()

지정된 시간 동안 드라이버를 절전 모드로 전환하는 명령을 예약합니다.

약속하다

$browser.switchTo()

이 인스턴스의 대상 로케이터 인터페이스입니다.

무효의

$browser.takeScreenshot()

스크린샷을 찍도록 명령을 예약합니다.

약속하다

$browser.wait(fn: $driver.until.Condition, timeout: number, opt_message: string)

일부 사용자 제공 기능에서 정의한 대로 조건이 유지될 때까지 기다리도록 명령을 예약합니다.

웹요소

$browser.waitForPendingRequests(timeout: number)

스크립트가 시작된 요청이 제한 시간까지 반환될 때까지 기다리도록 합니다. 비차단 리소스를 추적하는 데 유용합니다.

약속하다

금지 목록: 와일드카드 사용

브라우저 인스턴스에 대한 도메인을 허용하지 않으려면 차단할 URL의 URL 구문과 일치하는 와일드카드가 필요합니다.

전체 .com 허용되지 않는 목록에는 다음 기능이 포함되어야 합니다.

함수

차단 조치

$browser.addHostnameToBlacklist('*.com');

a.com

$browser.addHostnameToBlacklist('*.*.com');

a.b.com

$browser.addHostnameToBlacklist('*.*.*.com');

a.b.c.com

$browser.addHostnameToBlacklist('www.*.com');

www.a.com

$browser.addHostnameToBlacklist('www.*.*.com');

www.a.b.com

$browser.addHostnameToBlacklist('www.*.*.*.com');

www.a.b.c.com

옵션: 브라우저 인스턴스 관리

이러한 기능은 쿠키, 시간 초과 및 창 크기와 같은 브라우저 인스턴스에 대한 옵션을 관리합니다. $browser.manage() 함수를 통해 이러한 옵션에 액세스합니다.

함수

반환 값

$browser.manage().addCookie(name: string, value: string, opt_path: string, opt_domain: string, opt_isSecure: boolean, opt_expiry: number)

쿠키를 추가하는 명령을 예약합니다.

약속하다

$browser.manage().deleteAllCookies()

현재 페이지에 표시되는 모든 쿠키를 삭제하는 명령을 예약합니다.

약속하다

$browser.manage().deleteCookie(name: string)

지정된 이름의 쿠키를 삭제하는 명령을 예약합니다. 이 명령은 현재 페이지에서 볼 수 있는 주어진 이름의 쿠키가 없는 경우 작동하지 않습니다.

약속하다

$browser.manage().getCookie(name: string)

지정된 이름으로 쿠키를 검색하는 명령을 예약합니다. 그러한 쿠키가 없으면 null을 반환합니다. 쿠키는 WebDriver 유선 프로토콜에 설명된 대로 JSON 개체로 반환됩니다.

약속하다

$browser.manage().getCookies()

현재 페이지에 표시되는 모든 쿠키를 검색하는 명령을 예약합니다. New Relic Syntheticcs는 WebDriver 유선 프로토콜에 설명된 대로 각 쿠키를 JSON 개체로 반환합니다.

약속하다

$browser.manage().timeouts().implicitlyWait(ms: number)

요소가 즉시 존재하지 않는 경우 드라이버가 요소를 검색할 때 기다려야 하는 시간을 지정합니다. 대기 시간 초과를 0 으로 설정하면 암시적 대기가 비활성화됩니다.

대기 시간 초과를 늘리면 특히 XPath와 같은 느린 위치 전략에서 테스트 실행 시간이 증가하므로 주의하십시오. 기본값은 10초입니다.

약속하다

$browser.manage().timeouts().pageLoadTimeout(ms: number)

오류를 반환하기 전에 페이지 로드가 완료될 때까지 기다리는 시간을 설정합니다. 시간 제한이 음수이면 페이지 로드가 최대 180초 동안 지속될 수 있습니다. 기본값은 60초입니다.

약속하다

$browser.manage().timeouts().setScriptTimeout(ms: number)

비동기 스크립트가 오류를 반환하기 전에 실행을 완료할 때까지 기다리는 시간(밀리초)을 설정합니다. 기본값은 30초입니다.

약속하다

$browser.manage().window().getPosition()

화면의 왼쪽 상단 모서리를 기준으로 창의 현재 위치를 검색합니다.

약속하다

$browser.manage().window().getSize()

창의 현재 크기를 검색합니다.

약속하다

$browser.manage().window().maximize()

현재 창을 최대화합니다.

약속하다

$browser.manage().window().setPosition(x: number, y: number)

현재 창의 위치를 변경합니다.

약속하다

$browser.manage().window().setSize(width: number, height: number)

현재 창의 크기를 조정합니다.

약속하다

로케이터: 페이지 요소 찾기

로케이터는 locator 인스턴스를 생성하기 위한 팩토리 함수 모음입니다. 로케이터는 $browser.findElement 또는 $browser.isElementPresent 와 같은 함수에 전달할 수 있는 DOM 요소를 찾습니다. $driver.By 을(를) 통해 전화하세요.

함수

반환 값

$driver.By.className(className: string)

특정 클래스 이름을 가진 요소를 찾습니다. 반환된 로케이터는 CSS 선택기 .class 로 요소를 검색하는 것과 같습니다.

토지 경계 설정자

$driver.By.css(cssName: string)

CSS 선택기를 사용하여 요소를 찾습니다.

토지 경계 설정자

$driver.By.id(id: string)

ID로 요소를 찾습니다.

토지 경계 설정자

$driver.By.linkText(linkText: string)

보이는 텍스트가 주어진 문자열과 일치하는 링크 요소를 찾습니다.

토지 경계 설정자

$driver.By.js(js: string)

JavaScript 표현식을 평가하여 요소를 찾습니다.

토지 경계 설정자

$driver.By.name(name: string)

name 속성이 주어진 값을 갖는 요소를 찾습니다.

토지 경계 설정자

$driver.By.partialLinkText(partialLinkText: string)

표시되는 getText 에 지정된 하위 문자열이 포함된 링크 요소를 찾습니다.

토지 경계 설정자

$driver.By.tagName(tagName: string)

주어진 태그 이름을 가진 요소를 찾습니다. 반환된 로케이터는 getElementsByTagName DOM 함수를 사용하는 것과 같습니다.

토지 경계 설정자

$driver.By.xpath(xpath: string)

XPath 선택기와 일치하는 요소를 찾습니다.

토지 경계 설정자

WebElement: 페이지 요소와 상호 작용

$browser.findElement 또는 $browser.waitForAndFindElement 과 같은 함수가 WebElement 참조를 반환하면 이러한 함수를 사용하여 해당 요소와 상호작용할 수 있습니다. 이를 사용하여 버튼을 클릭하고 텍스트를 보내 입력을 구성하고 테스트할 요소의 속성을 가져올 수 있습니다.

함수

반환 값

click()

이 요소를 클릭합니다.

무효의

sendKeys(var_args: ?)

이 인스턴스가 나타내는 DOM 요소에 시퀀스를 입력하도록 명령을 예약합니다.

웹요소

getTagName()

이 요소의 태그/노드 이름을 쿼리하도록 명령을 예약합니다.

웹요소

getCssValue(name: string)

이 인스턴스가 나타내는 요소의 계산된 스타일을 쿼리하도록 명령을 예약합니다. 요소가 부모로부터 명명된 스타일을 상속하는 경우 부모는 해당 값을 쿼리합니다. 가능한 경우 색상 값은 16진수 표현으로 변환됩니다(예: { rgb(0, 255, 0) } 대신 #00ff00 }).

약속하다

getAttribute(name: string)

요소의 지정된 속성 값을 쿼리하는 명령을 예약합니다.

약속하다

getText(name: string)

선행 또는 후행 공백 없이 하위 요소를 포함하여 이 요소의 가시적(CSS에 의해 숨겨지지 않음) innerText 을 가져옵니다.

약속하다

getSize()

이 요소의 경계 상자 크기를 픽셀 단위로 계산하도록 명령을 예약합니다.

약속하다

getLocation()

페이지 공간에서 이 요소의 위치를 계산하는 명령을 예약합니다.

약속하다

isEnabled()

이 인스턴스가 나타내는 DOM 요소가 disabled 속성에 따라 활성화되었는지 여부를 쿼리하는 명령을 예약합니다.

약속하다

isSelected()

이 요소가 선택되었는지 여부를 쿼리하는 명령을 예약합니다.

약속하다

submit()

이 요소(또는 이 요소가 FORM 요소인 경우 이 요소)가 포함된 양식을 제출하도록 명령을 예약합니다. 요소가 양식에 포함되지 않은 경우 이 명령은 작동하지 않습니다.

약속하다

clear()

이 요소의 값을 지우는 명령을 예약합니다.

약속하다

isDisplayed()

이 요소가 현재 표시되는지 여부를 테스트하는 명령을 예약합니다.

약속하다

getOuterHtml()

이 요소의 외부 HTML을 검색하는 명령을 예약합니다.

약속하다

getInnerHtml()

이 요소의 내부 HTML을 검색하는 명령을 예약합니다.

약속하다

ActionSequence: 여러 작업 연결

액션 시퀀스는 웹사이트와 복잡한 사용자 상호작용을 생성할 수 있습니다.

  • 새 작업 시퀀스를 만들려면 $browser.actions() 을 사용합니다.
  • 여러 작업을 하나의 시퀀스로 연결하려면 각각 뒤에 perform() 을 포함합니다. 이것은 단일 동작 시퀀스를 포함하여 개별 시퀀스를 실행한 다음 종료합니다.

다음 표에는 사용 가능한 작업 목록이 포함되어 있습니다. 자세한 내용은 웹 드라이브 액션 문서를 참조하세요.

함수

반환 값

click(opt_elementOrButton: ?, opt_button: ?)

마우스 버튼을 클릭합니다. 요소가 제공되면 마우스가 먼저 해당 요소의 중앙으로 이동합니다. 이는 WebElement.click() 과 동일합니다.

액션 시퀀스

doubleClick(opt_elementOrButton: ?, opt_button: ?)

마우스 버튼을 두 번 클릭합니다. 요소가 제공되면 마우스가 먼저 해당 요소의 중앙으로 이동합니다.

액션 시퀀스

dragAndDrop(element: ?, location: ?)

"드래그 앤 드롭" 기동을 수행하기 위한 편의 기능. 대상 요소는 다른 요소의 위치로 이동하거나 오프셋(픽셀 단위)만큼 이동할 수 있습니다. 위치는 xy {x: x_offset, y: y_offset} ) 두 가지 속성이 있는 객체입니다.

액션 시퀀스

keyDown(key: ?)

수정자 키 누름을 수행합니다. ALT , CONTROL , SHIFT , COMMAND 또는 META 중 하나여야 합니다. 수정자 키는 keyUp() 또는 sendKeys() 이 호출될 때까지 해제되지 않습니다. 키 누름은 현재 포커스가 있는 요소를 대상으로 합니다.

액션 시퀀스

keyUp(key: ?)

수정자 키 해제를 수행합니다. 릴리스는 현재 포커스가 있는 요소를 대상으로 합니다.

액션 시퀀스

mouseDown(opt_elementOrButton: ?, opt_button: ?)

마우스 버튼을 누릅니다. 이 순서로 호출되는지 다른 순서로 호출되는지에 관계없이 mouseUp 이 호출될 때까지 마우스 버튼은 해제되지 않습니다. 순서가 잘못된 이벤트의 동작(예: 버튼이 이미 눌려진 상태에서 mouseDown() 또는 click() 호출)은 정의되지 않습니다.

액션 시퀀스

mouseUp(opt_elementOrButton: ?, opt_button: ?)

마우스 버튼을 놓습니다. mouseDown() 에 대한 이전 호출 없이 이 함수를 호출하는 동작은 정의되지 않았습니다.

액션 시퀀스

mouseMove(location: ?, offset: ?)

마우스를 움직입니다. 이동할 위치는 마우스의 현재 위치, 요소의 왼쪽 상단 모서리에 상대적인 오프셋 또는 요소(이 경우 요소의 중간이 사용됨)로 지정할 수 있습니다.

액션 시퀀스

perform()

이 작업 시퀀스를 실행합니다.

약속하다

sendKeys(args: ?)

여러 키 입력을 시뮬레이션합니다. 시퀀스에서 발견된 각 수정자는 다시 만날 때까지 해제되지 않습니다. 모든 주요 이벤트는 현재 포커스가 있는 요소를 대상으로 합니다. 지원되는 영숫자가 아닌 키의 전체 목록은 WebDriver 열거 키 설명서 를 참조하십시오.

액션 시퀀스

약속: 작업을 시퀀스에 연결

Promise에서 직접 함수를 실행할 수도 있습니다. 종합 모니터링은 기본 Node.js 환경이며 표준 Node.js 약속을 사용합니다.

이러한 함수는 약속의 상태를 평가하고 취소하는 등의 작업을 수행합니다. 특히 then() 함수와 그 형제 thenFinally()thenCatch() 를 사용하여 일련의 작업을 만들 수 있습니다. 자세한 내용은시퀀스 작업 을 참조하십시오.

함수

반환 값

cancel(string: reason)

이 프로미스 값의 계산을 취소하고 프로세스에서 프로미스를 거부합니다. 이 방법은 약속이 이미 해결된 경우 작동하지 않습니다.

무효의

isPending()

이 약속의 값이 아직 계산 중인지 여부입니다.

부울

then(opt_callback: fn(T: ?), opt_errback: fn())

이 인스턴스가 확인될 때 리스너를 등록합니다. 이것은 스크립트에서 동기 작업을 연결하는 데 사용되는 기본 기능입니다.

약속하다

thenFinally(callback: fn())

프라미스의 값이 성공적으로 계산되었는지 여부에 관계없이 이 프라미스가 확인될 때 호출할 수신기를 등록합니다.

약속하다

thenCatch(callback: fn())

이 약속이 거부될 때 리스너를 등록합니다.

약속하다

$browser.navigate() 함수는 브라우저 기록을 앞뒤로 이동하고, 페이지를 새로고침하고, 새 페이지로 이동할 수 있는 다양한 기능을 제공합니다.

함수

반환 값

조건: 일시 중지 및 조건 대기

$browser.wait , until 과 함께 사용하면 조건이 일치할 때까지 스크립트 실행이 일시 중지됩니다. 명시적 및 암시적 대기에 대한 자세한 내용은 WebDriver 설명서 를 참조하십시오.

.wait.until 사용 예는 Webdriver.wait 예를 참조하세요.

다음은 $driver.until.Condition 에 사용할 수 있는 기능입니다.

함수

반환 값

ableToSwitchToFrame(frame: ?)

입력 드라이버가 지정된 프레임으로 전환할 수 있을 때까지 기다리는 조건을 만듭니다. 대상 프레임은 다음과 같이 지정할 수 있습니다.

  • 현재 프레임에 대한 window.frames 에 대한 숫자 인덱스

  • 현재 페이지의 FRAME 또는 IFRAME 요소를 참조해야 하는 webdriver.WebElement

  • 전환을 시도하기 전에 현재 페이지에서 먼저 FRAME 또는 IFRAME 을(를) 찾는 데 사용할 수 있는 로케이터

    이 조건이 성공적으로 해결되면 드라이버는 새 프레임에 계속 초점을 맞춥니다.

상태

alertIsPresent()

경고가 열리기를 기다리는 조건을 만듭니다. 성공하면 반환된 약속이 열린 경고에 대한 핸들로 이행됩니다.

상태

elementIsDisabled(element: $driver.WebElement)

주어진 요소가 비활성화될 때까지 기다리는 조건을 만듭니다.

상태

elementIsEnabled(element: $driver.WebElement)

주어진 요소가 활성화되기를 기다리는 조건을 만듭니다.

상태

elementIsNotVisible(element: $driver.WebElement)

주어진 요소가 DOM에 있지만 사용자에게 표시되지 않을 때까지 기다리는 조건을 만듭니다.

상태

elementIsVisible(element: $driver.WebElement)

주어진 요소가 표시될 때까지 기다리는 조건을 만듭니다.

상태

elementIsSelected(element: $driver.WebElement)

주어진 요소가 선택되기를 기다리는 조건을 만듭니다.

상태

elementLocated(element: $driver.Locator)

주어진 로케이터로 요소를 찾을 때까지 반복되는 조건을 만듭니다.

상태

elementsLocated(element: $driver.Locator)

주어진 로케이터로 적어도 하나의 요소를 찾을 때까지 반복되는 조건을 생성합니다.

상태

elementTextContains(element: $driver.WebElement, substr: string)

주어진 요소의 보이는 텍스트가 주어진 부분 문자열을 포함할 때까지 기다리는 조건을 생성합니다.

상태

elementTextIs(element: $driver.WebElement, text: string)

대소문자를 구분합니다. 주어진 요소의 보이는 텍스트가 주어진 텍스트와 정확히 일치하기를 기다리는 조건을 만듭니다.

상태

elementTextMatches(element: $driver.WebElement, regex: string)

주어진 요소의 보이는 텍스트가 정규식과 일치하기를 기다리는 조건을 만듭니다.

상태

stalenessOf(element: $driver.WebElement)

주어진 요소가 부실해질 때까지 기다리는 조건을 만듭니다. 요소는 DOM에서 제거되거나 새 페이지가 로드되면 오래된 것으로 간주됩니다.

상태

titleContains(substr: string)

현재 페이지의 제목에 지정된 하위 문자열이 포함될 때까지 기다리는 조건을 만듭니다.

상태

titleIs(title: string)

현재 페이지의 제목이 주어진 값과 일치할 때까지 기다리는 조건을 만듭니다.

상태

titleMatches(regex: string)

현재 페이지의 제목이 주어진 정규식과 일치할 때까지 기다리는 조건을 만듭니다.

상태

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.