• 로그인지금 시작하기

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

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

문제 신고

스크립팅된 브라우저 예제

스크립팅된 브라우저 를 사용하면 Selenium WebDriver 로 구동되는 JavaScript와 유사한 스크립팅 언어를 사용하여 복잡한 모니터링 워크플로를 구축할 수 있습니다.

사용 가능한 모든 기능에 대한 자세한 안내는 Synthetic의 스크립팅된 브라우저 참조 를 참조하십시오.

다른 스크립팅된 브라우저 예제를 보려면 New Relic의 Github 리포지토리에서 Quickstarts Synthetics 라이브러리 를 확인하세요. New Relic 온라인 기술 커뮤니티의 Level Up Relic Solutions 섹션에서 New Relic 지원 엔지니어의 팁을 볼 수도 있습니다.

URL 모니터링

이 예에서 모니터는 http://telco.nrdemo-sandbox.com/ 을 방문합니다.

//Visit http://telco.nrdemo-sandbox.com/
$browser.get("http://telco.nrdemo-sandbox.com/");

이 스크립팅 작업은 거의 모든 스크립팅된 브라우저의 기초입니다. 자세한 내용 은 URL 방문 을 참조하십시오.

링크로 이동

아래 예에서 모니터:

  1. http://telco.nrdemo-sandbox.com/ 으로 이동합니다.
  2. 링크 텍스트를 통해 정보 페이지를 찾고 링크를 클릭합니다 .
  3. 부분 문자열 Home 을 검색하여 Acme Telco Home 링크를 찾고 링크를 클릭합니다 .
$browser.get("http://telco.nrdemo-sandbox.com/").then(function(){
//Find a link whose display text is `About` and click that link.
return $browser.findElement($driver.By.linkText("About")).click();
}).then(function(){
return $browser.findElement($driver.By.partialLinkText("Home")).click();
});

이러한 단계는 시퀀싱 기능 에 의해 정렬됩니다.

요소를 찾는 자세한 지침 및 기타 방법은 요소 찾기 를 참조하십시오. 모든 로케이터 목록은 로케이터: 페이지 요소 찾기 를 참조하십시오.

아래 예에서 모니터:

  1. http://telco.nrdemo-sandbox.com/static/companyBlog.jsp 로 이동합니다.
  2. XPath를 통해 검색 상자를 찾고 relic 을 입력합니다.
  3. XPath를 통해 제출 버튼을 찾아 클릭하여 검색을 제출합니다.
$browser.get("http://telco.nrdemo-sandbox.com/static/companyBlog.jsp").then(function(){
//Find the search field by specifying its id, then enter `relic`.
return $browser.findElement($driver.By.xpath("//h4[text()='Blog Search']/following-sibling::div/input")).sendKeys("relic");
}).then(function(){
//Click the search button.
return $browser.findElement($driver.By.xpath("//h4[text()='Blog Search']/following-sibling::div//button")).click();
});

필드에 텍스트를 보내는 방법에 대한 자세한 내용은 텍스트 입력 을 참조하십시오.

페이지가 로드될 때까지 기다립니다.

아래 예에서 모니터:

  1. http://telco.nrdemo-sandbox.com/browse/phones 로 이동합니다.
  2. XPath를 통해 Acme Standard 전화의 세부 정보 버튼을 찾아 클릭합니다.
  3. HTML 페이지 제목이 Acme Commerce Company 과 일치하도록 최대 10초 동안 기다립니다.
  4. XPath를 통해 장바구니 에 추가 버튼을 찾아 클릭합니다.
$browser.get("http://telco.nrdemo-sandbox.com/browse/phones").then(function(){
return $browser.findElement($driver.By.xpath("(//a[text()='Details'])[3]")).click();
});
//Call the wait function.
$browser.wait(function() {
//Tell the monitor to get the page title, then run a function on that title.
return $browser.getTitle().then(function(title) {
//Ensure that the title matches `Acme Commerce Company`.
return title === "Acme Commerce Company";
});
//If the condition isn't satisfied within 10000 milliseconds (10 seconds), proceed anyway.
}, 10000);
//Find the `Add to Cart` button via its XPath and click it.
$browser.findElement($driver.By.xpath("//input[@value='Add to Cart']")).click();

스크립트를 일시 중지하는 대기 조건 설정에 대한 자세한 내용은 페이지 제목 대기 를 참조하십시오 .

페이지 요소를 기다립니다.

아래 예에서 모니터:

  1. 로드 http://telco.nrdemo-sandbox.com/ .
  2. HTML ID를 통해 지원 드롭다운을 찾아 클릭합니다.
  3. FAQ 버튼이 표시되고 클릭할 때까지 최대 20초 동안 기다립니다.
//Navigate to the Acme Telco Homepage and clicks on the Support dropdown.
$browser.get("http://telco.nrdemo-sandbox.com/").then(function(){
return $browser.findElement($driver.By.id("supportDropDown")).click();
}).then(function(){
//Call the wait function to wait until the FAQ button appears.
return $browser.waitForAndFindElement($driver.By.id("supportFAQLink"), 20000).then(function(aboutPage){
return aboutPage.click();
})
});

자세한 내용 은 특정 요소 대기조건: 조건 일시 중지 및 대기를 참조하세요.

웹사이트에 로그인

아래 예에서 모니터:

  1. http://telco.nrdemo-sandbox.com/login.jsp 를 로드합니다.
  2. 요소 이름을 통해 사용자 이름 필드를 찾고 보안 자격 증명 기능을 통해 보안 사용자 이름을 제출합니다.
  3. 요소 이름을 통해 비밀번호 필드를 찾고 보안 비밀번호를 제출합니다.
  4. XPath를 통해 로그인 버튼을 찾고 클릭하여 계정 정보를 제출합니다.
$browser.get("http://telco.nrdemo-sandbox.com/login.jsp").then(function(){
//Find the user name field by specifying its name, then submits a secured username.
return $browser.findElement($driver.By.name("username")).sendKeys($secure.SECURE_USERNAME);
}).then(function(){
//Find the password field by specifying its name, then submits a secured password.
return $browser.findElement($driver.By.name("password")).sendKeys($secure.SECURE_PASSWORD);
}).then(function(){
//Find and click the login button.
return $browser.findElement($driver.By.xpath("//input[@value='Login']")).click();
});

보안 자격 증명 사용에 대한 자세한 내용은 보안 자격 증명 저장 을 참조하십시오.

어떤 자격 증명을 사용해야 합니까?

여러 웹사이트에서 비밀번호를 재사용하면 안 되는 것처럼 스크립트에 고유한 새 자격 증명을 만드는 것이 좋습니다. 개인 자격 증명을 사용하거나 자격 증명을 재사용하지 마십시오.

Copyright © 2023 New Relic Inc.

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