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

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

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

문제 신고

런타임 업그레이드 오류 문제 해결

스크립팅된 브라우저: 요소와 상호 작용하려는 시도가 실패함

Chrome 100(또는 최신) 런타임 에 대해 이전 런타임에서 생성된 모니터의 유효성을 검사할 때 페이지에서 요소를 찾고 상호작용하는 findElement 및 기타 메서드는 약속 처리 차이로 인해 실패할 수 있습니다. 모니터가 레거시 런타임에서 통과하고 새 런타임에서 실패하고 요소가 스크린샷에 있는 경우 약속 처리 논리를 개선해야 할 수 있습니다.

Selenium WebDriver 약속 관리자/제어 흐름을 통해 일부 기능은 약속을 관리하지 않고 레거시 런타임에서 순서대로 실행할 수 있습니다. 이 기능은 Selenium WebDriver 4.0에서 제거되었으며 런타임에서 더 이상 사용할 수 없습니다. 모든 비동기 함수와 프라미스는 await 또는 .then 프라미스 체인으로 관리해야 합니다. 이렇게 하면 스크립트 기능이 예상 순서대로 실행됩니다.

예를 들어, $browser.get이 약속을 반환하고 약속이 올바르게 처리되지 않더라도 약속 관리자/제어 흐름은 이 부분 스크립트가 성공적으로 완료되도록 허용할 수 있습니다.

$browser.get('http://example.com');
$browser.findElement($driver.By.css('h1'));

Chrome 100(또는 그 이상) 런타임 에서 프라미스를 반환하는 모든 메서드는 await 또는 .then을 사용해야 합니다. 구문을 사용하여 단계를 올바르게 정렬합니다. 더 깔끔한 구문과 더 쉬운 사용법으로 인해 await를 사용하는 것이 좋지만 .then 약속 체인도 여전히 지원됩니다.

await $browser.get('http://example.com');
let el = await $browser.findElement($driver.By.css('h1'));

스크립팅된 API: request 과의 차이점 got

Node.js 10 및 이전 스크립트 API 런타임request Node.js 모듈 을 사용하여 API를 테스트하는 데 사용할 수 있는 $http 객체를 제공했습니다 .

Node.js 16 및 최신 스크립트 API 런타임request } 대신 got 를 사용합니다. request 모듈은 2020년에 더 이상 사용되지 않으며 더 이상 새 API 또는 브라우저 기반 런타임에 포함되지 않습니다. $http 객체는 got 에 의해 구동되는 동안 사용자 정의 request 와 유사한 환경을 제공하여 기본 사용 사례에 대한 이전 버전과의 호환성을 제공하는 동시에 더 이상 사용되지 않는 모듈의 사용을 피합니다. request 의 모든 고급 사용 사례가 지원되거나 지원되지는 않습니다. 스크립트 예제 및 변환 가이드를 사용할 수 있습니다 .

$http 객체가 제공하는 request 유사 환경은 Node.js 16 및 최신 스크립트 API 런타임에서 직접 request 를 사용하려는 모든 고객에게도 반환됩니다.

스크립팅된 API: 예기치 않은 토큰 JSON.parse 오류

응답 본문과 상호작용하는 동안 JSON.parse 함수를 사용하려고 하면 Node.js 16 이상 런타임을 사용하는 스크립트 API 모니터에서 예기치 않은 토큰 오류가 발생할 수 있습니다. 콘텐츠 유형 응답 헤더가 application/json 인 경우 $http 객체에서 반환되는 응답 본문은 JSON으로 구문 분석됩니다. 응답 본문을 구문 분석하기 위해 JSON.parse 사용하려는 추가 호출은 응답 본문이 이미 구문 분석되었기 때문에 이 오류와 함께 실패합니다.

스크립팅된 브라우저: 사용 중단 경고($browser / $driver)

$browser$driver 에 대한 지원 중단 경고는 브라우저 런타임 2.0.29 이상 버전부터 제거되었습니다. 공공 장소를 사용할 때 더 이상 이러한 경고가 표시되지 않습니다. 비공개 위치를 사용할 때 이러한 경고가 표시되면 노드 브라우저 런타임 이미지를 업데이트하세요.

스크립트 브라우저: waitForAndFindElement 및 waitForPendingRequests

waitForAndFindElementwaitForPendingRequests 메서드는 Chrome 72 및 이전 스크립트 브라우저 런타임에서 제공되는 New Relic 사용자 지정 메서드입니다. Chrome 100 및 최신 런타임에서 $driver$browser 와 함께 계속 사용할 수 있지만 $selenium$webDriver 와 함께 직접 Selenium WebDriver 4.1 API를 사용할 때는 사용할 수 없습니다. 이 변경은 New Relic의 Selenium WebDriver 구현을 기본 Selenium WebDriver 구현과 더 잘 맞출 것입니다.

새 런타임에서 waitForAndFindElement 또는 waitForPendingRequests 을 계속 사용하기로 선택한 고객은 코드 예제 를 모니터에 붙여넣을 수 있습니다.

Copyright © 2024 New Relic Inc.

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