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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

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

스크립트 브라우저는 웹 사이트를 탐색하고, 특정 작업을 수행하고, 특정 요소가 있는지 확인하는 스크립트 브라우저를 통해 사용자 정의 사용자 경험을 에뮬레이트합니다. 셀레니엄 웹 드라이버 는 스크립트형 모니터를 구동합니다. 펼쳐보기가 실행될 때마다 뉴렐릭은 웹사이트를 탐색하고 각 펼쳐보기 단계를 따르는 완전히 가상화된 셀레니엄 기반 Google Chrome 브라우저를 만듭니다. 신세틱 모니터링에는 펼쳐보기를 단순화하기 위한 기능, 로케이터 및 기타 요소를 제안하는 IDE 스타일의 펼쳐보기 편집기가 포함되어 있습니다. 사용 가능한 모든 기능 목록은 스크립트 브라우저 참조를 참조하세요.

브라우저 브라우저 모니터를 만드는 방법

  1. one.newrelic.com > All capabilities > Synthetic monitoring 으)로 이동합니다.

  2. Create monitor 을(를) 클릭합니다.

  3. 다양한 위치에서 사이트의 가용성과 기능을 테스트하려면 User flow / functionality 타일을 선택하세요.

  4. 모니터를 구성합니다. 원하는 필드를 입력하세요. 모니터 이름을 추가하세요.

  5. Select locations 클릭하여 모니터를 테스트하려는 위치를 선택합니다.

  6. 모니터가 수행할 작업을 설명하는 스크립트를 추가하려면 Write script 클릭하세요. 모니터는 작업할 수 있는 예제 스크립트로 편집기를 미리 채우거나 이를 제거하고 처음부터 시작할 수 있습니다.

  7. 스크립트를 테스트하려면 Validate 클릭하세요. 스크립트에 따라 몇 분 정도 걸릴 수 있습니다.

  8. Save monitor 을(를) 클릭합니다.

URL 방문

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

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

시퀀스 작업

WebDriverJS는 역사가 있기 때문에 펼쳐 작업이 때때로 순서 없이 실행될 수 있습니다. 스크립트 작업을 순서대로 실행하려면 await 키워드를 사용하세요.

await $webDriver.get("https://my-website.com");
await $webDriver.findElement($selenium.By.linkText("Configuration Panel"));

then(function(){}) 호출에서 각 작업을 래핑할 수도 있습니다. 그러나 이 경우 래핑된 함수는 스크립트가 계속 진행되기 전에 완료되도록 각 비동기 함수를 return 해야 합니다.

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

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

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

요소 찾기

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

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

요소와 상호 작용

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

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

대기 및 시간 초과

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

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

중요

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

결과를 펼쳐보기에 수동으로 기록

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

중요

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

분석 서비스 차단 해제

Synthetics는 기본적으로 널리 사용되는 분석 서비스의 스크립트 실행을 차단합니다. 지정된 서비스에 대해 스크립트가 실행되도록 허용할 수 있습니다. 이를 통해 서비스의 스크립트는 실제 사용자와 마찬가지로 데이터를 실행하고 수집할 수 있습니다.

//Allow Google Analytics scripts to run
await $urlFilter.addToAllowList(['google-analytics.com']);
//Visit https://my-website.com
await $webDriver.get('https://my-website.com');

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

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

//Simulate Internet Explorer 10.6
$headers.add('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
await $webDriver.get('http://httpbin.org/user-agent');

중요

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

선택적 모듈 가져오기

또한 널리 사용되는 여러 Node.js 모듈을 가져와서 테스트 도구 모음을 강화하고, 테스트 데이터 삽입을 자동화하고, 복잡한 기능을 단순화할 수 있습니다. 자세한 내용은 Node.js 모듈 가져오기를 참조하세요.

Copyright © 2024 New Relic Inc.

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