• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

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

문제 신고

스크립팅된 브라우저 모니터 소개

합성 모니터링의 스크립팅된 브라우저 를 사용하여 웹 사이트를 탐색하고 특정 작업을 수행하고 특정 요소가 있는지 확인하는 스크립팅 브라우저를 통해 사용자 지정 사용자 경험을 에뮬레이트하고 모니터링할 수 있습니다. 사용 가능한 모든 기능 목록은 스크립팅된 브라우저 참조 를 참조하십시오.

스크립팅된 모니터는 Selenium WebDriverJS 에 의해 구동됩니다. 스크립트가 실행될 때마다 New Relic은 웹사이트를 탐색하고 스크립트의 각 단계를 따르는 완전히 가상화된 Selenium 기반 Google Chrome 브라우저를 만듭니다. 종합 모니터링에는 스크립팅을 단순화하기 위해 기능, 로케이터 및 기타 요소를 제안하는 IDE 스타일 스크립트 편집기가 포함됩니다.

Selenium IDE를 사용하여 워크플로를 기록하고 New Relic에서 요구하는 형식으로 내보내는 방법을 보려면 이 짧은 YouTube 동영상(3분 49초)을 시청하세요.

URL 방문

모든 스크립트는 모니터가 탐색해야 하는 URL을 지정하는 것으로 시작합니다. URL을 지정하려면 $browser.get("url") 를 호출합니다.

$browser.get("https://mywebsite.com");

시퀀스 작업

WebDriverJS는 비동기식이므로 스크립팅 작업이 순서 없이 실행될 수 있습니다. 스크립트 작업을 순서대로 실행하려면 then(function(){}) 호출에서 각 작업을 래핑합니다.

$browser.get("https://my-website.com").then(function(){
    return $browser.findElement($driver.By.linkText("Configuration Panel"));
});

여러 작업을 순서대로 연결하려면 각 작업을 then(function(){}) 호출로 래핑하고 호출을 함께 연결합니다.

$browser.get("https://my-website.com").then(function(){
    return $browser.findElement($driver.By.linkText("Configuration Panel"));
}).then(function(){
    return $browser.findElement($driver.By.partialLinkText("Configuration Pa"));
});

요소 찾기

모니터링할 URL을 지정한 후에는 일반적으로 페이지에서 특정 요소를 찾고 싶을 것입니다. 요소를 찾으면 페이지에서 요소가 존재하는지 확인하고 페이지 요소와 상호 작용할 수도 있습니다.

class , id , link text , name 또는 XPath로 요소를 찾을 수 있습니다. 이러한 속성을 찾으려면 브라우저의 개발자 도구를 사용하거나 웹사이트의 소스 코드를 보십시오. 모든 로케이터 기능 목록은 로케이터: 페이지 요소 찾기 를 참조하십시오.

요소와 상호 작용

스크립팅된 모니터는 실제 Selenium 기반 Google Chrome 브라우저를 구동하기 때문에 스크립팅된 모니터는 사용자와 동일한 방식으로 페이지 요소와 상호 작용할 수 있습니다. 예를 들어 모니터는 링크를 클릭하고 검색 상자에 텍스트를 입력하는 등의 작업을 수행할 수 있습니다. 사용 가능한 작업 목록은 ActionSequence: 여러 작업 연결 을 참조하십시오.

먼저 페이지 요소를 찾은 다음 상호 작용 함수를 호출합니다.

대기 및 시간 초과

이미지나 복잡한 동적 콘텐츠와 같은 큰 페이지 요소는 로드하는 데 시간이 오래 걸릴 수 있습니다. 이로 인해 모니터가 아직 로드되지 않은 요소와 상호 작용하거나 요소를 찾으려고 할 때 스크립트가 실패할 수 있습니다.

이러한 문제를 방지하려면 지정된 페이지 요소가 나타날 때까지 스크립트를 일시 중지하거나 수동으로 작업 순서 를 지정하는 대기 조건을 설정하십시오. 조건 목록은 조건: 조건 일시 중지 및 대기 를 참조하십시오.

중요

최대 실행 시간 3분 후 New Relic은 스크립트를 수동으로 중지합니다.

로그 스크립트 결과

모니터 결과를스크립트 로그 에 수동으로 기록할 수도 있습니다. 로깅을 사용하여 스크립트 문제 해결: 스크립트의 어느 단계가 실패했는지 확인하려면 스크립트의 각 주요 단계와 함께 로그 기능을 포함하십시오.

중요

최대 로그 길이는 50,000바이트입니다. 50,000바이트보다 큰 스크립트 로그는 잘립니다.

분석 서비스 차단 해제

Synthetics는 기본적으로 인기 있는 분석 서비스의 스크립트가 실행되는 것을 차단합니다. 지정된 서비스에 대해 스크립트를 실행하도록 허용할 수 있습니다. 이렇게 하면 서비스의 스크립트가 실제 사용자처럼 데이터를 실행하고 수집할 수 있습니다.

//Allow Google Analytics scripts to run
$browser.addHostnameToWhitelist(hostnameArr: ['google-analytics.com']);

//Visit https://my-website.com
$browser.get('https://my-website.com');

사용자 에이전트 사용자 지정

스크립트로 작성된 브라우저의 사용자 에이전트를 사용자 지정하여 앱의 브라우저별 수정 사항이 제대로 작동하도록 하거나 내부 사이트를 필터링하기 위해 보안 메커니즘을 우회할 수 있습니다.

//Simulate Internet Explorer 10.6
$browser.addHeader('User-Agent', 'Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0');
//Visit http://httpbin.org/user-agent
$browser.get('http://httpbin.org/user-agent');

중요

이것은 서버에 대한 요청에 대한 사용자 에이전트 HTTP 헤더만 스푸핑합니다. navigator.userAgent 값은 변경되지 않습니다.

선택적 모듈 가져오기

또한 많은 인기 있는 Node.js 모듈을 가져와 테스트 제품군을 향상하고 테스트 데이터 삽입을 자동화하며 복잡한 기능을 단순화할 수 있습니다. 자세한 내용은 Node.js 모듈 가져오기 를 참조하세요.

Copyright © 2022 New Relic Inc.

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