2013-12-14 2 views
0

나는 바리 같은 질문을하는 지 모르겠다. 웹 응용 프로그램의 성능을 테스트하고 있지만 테스트 중에는 페이지에 여러 요청이 있음을 알 수 있습니다. 예 : 사용자가 www.xyz.com 페이지에 액세스하면 정적 컨텐트가 있고 거기에 데이터를 그리드 (www.xyz/getdata)에 표시하는 동일한 페이지에서 서버에 대한 요청이 플러스되고 js 및 css 파일이 있습니다. 나는 모든 요청을 검색 할 수있는 방법이 있는지 알고 싶습니다. 나는 HTTP 요청 샘플러를 '이미 HTML 파일에서 가져온 모든 임베디드 리소스를 검색했습니다.'하지만보기 결과 트리에서 모든 요청을 볼 때 켜져 있습니다. 34 개의 요청을 표시합니다 (Chrome이 68 개의 요청을 표시 할 때 올바른 방법이라고 확신하지 못함).Jmeter : 페이지의 정확한 응답을 얻는 방법

답변

0

많은 정보를 제공하지 않습니다. 하지만 JS, 그림 등을 검색하기 위해 웹 페이지에서 AJAX 호출을 사용하는 것 같습니다. Jmeter는 웹 브라우저처럼 HTML 파일을 실행하지 않기 때문에 Jmeter는 이러한 파일을 가져올 수 없습니다.

Jmeter 용 플러그인을 찾거나 AJAX 호출을 시뮬레이트해야하거나 도구를 변경해야 할 수 있습니다. Xceptance XLT 또는 phantomjs 및 derivates 또는 WPT에서 XLT를 찾으십시오.

+0

XLT 링크가 깨졌습니다. 관련 링크를 제공해 주시겠습니까? 사전에 감사드립니다 –

+0

회사 이름은 Xceptance이므로 링크는 https://www.xceptance.com/en/xlt/입니다. – ReneS

0

먼저 실제 하중을 시뮬레이션하려는 경우 JMeter t o behave more like a real browser에 "알려"야합니다. 그것은 포함

  1. HTTP 쿠키 관리자 (사례의 대다수는 필수입니다) 귀하의 경우 브라우저 (크롬과 브라우저 캐시를
  2. HTTP 헤더 관리자를 표현하기 위해
  3. HTTP 캐시 관리자 쿠키와 인증 처리) 사용자 에이전트 문자열. 일부 사이트는 다른 사용자 에이전트의 출력이 다릅니다.
  4. 이미 임베디드 리소스에 대해 알고 있습니다.

은 또한, 추가 요청을 캡처, JMeter를 HTTP 테스트 스크립트 레코더를 통해 테스트 케이스를 기록하려고 별도로 측정을 입지 않도록 Transaction Controller에서 더 나은, 테스트 계획에 배치 할 수 있습니다.

JMeter가 추가 요청을 기록 할 수없는 경우 스니퍼 도구를 통해 캡처해야합니다. 가장 쉬운 방법은 HttpFox Firefox Addon이고 가장 강력한 방법은 Wireshark이며 수동으로 누락 요청을 구성합니다.

누락 된 리소스가 완전히 외부 인 경우 일반적으로로드 테스트를 수행하지 않는 것이 좋습니다.

1

방금했습니다.

Jmeter + Webdriver Sampler + PhantomJS Config를 사용해야합니다. 다음과 같이하십시오.

1) WebDriver Set 개의 플러그인을 다운로드하여 설치하십시오. 플러그인 설치는 here에 설명되어 있습니다.

2) phantomjs executable을 다운로드하여 디스크에 저장하십시오.

3) Webdriver Two minute tutorial과 같이 테스트 계획을 만들고 FireFoxConfig를 "bzm - PhantomJS Driver Config"로 바꿉니다.

4) PhantomJS 드라이버 구성에서 PhantomJS 탭을 열고 디스크의 phantomjs.exe 경로를 설정하십시오.WebDriver 샘플러보기에

5), 다음 스크립트를 입력 :

var selenium = JavaImporter(org.openqa.selenium) 
var fileUtils = JavaImporter(org.apache.qpid.util) 
var io = JavaImporter(java.io) 
var supportUi = JavaImporter(org.openqa.selenium.support.ui) 

WDS.sampleResult.sampleStart() 

// set the browser window dimension to fit your needs 
var dimension = new selenium.Dimension (4080, 9000); 
WDS.browser.size = dimension; 
WDS.browser.manage().window().size = dimension; 

// put your webpage bellow 
WDS.browser.get('http://MYPAGE.com') 

// take a screenshot of the page, save it to disk 
var screenshot = WDS.browser.getScreenshotAs(selenium.OutputType.FILE) 
fileUtils.FileUtils.copy(screenshot, new io.File('C:\\PATH\\TO\\screenshot.png'))  

WDS.sampleResult.sampleEnd() 
관련 문제