2014-03-12 7 views
0

우리는 창 7에서 eclipse를 사용하여 junit + java로 selenium webdriver 스크립트를 개발했습니다. 모든 스크립트는 예상대로 작동합니다. 이제 Jmeter를 사용하여로드 테스트에이 스크립트를 사용하고 있습니다. 그러나 스크립트 시스템을 실행하는 동안 사용자 스레드를 기반으로 여러 브라우저 (200)를 열어 시스템을 정지 시키거나이를 처리 할 방법이 없거나 브라우저를 열지 않고도 스크립트를 실행할 수 있습니다. 난 xvfb 도구를 통해 왔지만 이클립스 플러그인이 도구에 대한 자바 API를 얻을 수 없습니다.xorg-x11-server-Xvfb로 셀렌 webdriver 구성

우리는 또한 HtmlUnitDriver를 사용해 보았습니다.하지만 javascript를 지원하지 않으므로 테스트가 실패하고 HtmlUnit을 시도해 보았습니다.

참고 : 우리는 요소 (자동 완성, 이미지)의 표시 항목을 화면에 유지하기 위해 웹 드라이브 스크립트를 작성했습니다.

사람이 돕거나 이에 대한 자세한 입력을 제공 할 수 있다면 그것은 좋은 것

... 첫째

답변

0

는 부하 테스트를 위해 JMeter를 함께 셀레늄 스크립트를 통합하지 않습니다! 그것은 당신이 당신의 게시물에서 언급 한 분명한 결과로 인해 따르기에 좋은 접근 방법이 아닙니다. JMeter와 Selenium을 처음 접했을 때 비슷한 애플리케이션을 따랐지만 OS를 죽인 브라우저 인스턴스를 너무 많이 생성하는로드 테스트를 실행하는 데 많은 어려움을 겪었습니다.

JMeter를 사용하여 HtmlUnitDriver 또는 임의의 헤드리스 브라우저 테스트 도구를 사용할 수 있지만 여전히 메모리에서 브라우저를 실행합니다. 또한 애플리케이션이 Javascript를 많이 사용하는 경우 도움이되지 않습니다.

그래서 JMeter Proxy를 사용하여 탐색 세션을 기록하고 필요에 따라 스크립트 (요청 집합)를 수정하고 해당 요청을 스레드 수와 함께 재생하는 것이 좋습니다. 높은 수준에서

, 당신은이 일을해야합니다

  1. 는 JMeter를 테스트 계획, 청취자, 스레드 그룹 및 설정 JMeter를 프록시를 추가하고 자동 완성 텍스트 상자에 무언가를 입력 브라우징 세션을 기록하고 당신은 어떤 결과를 얻습니다.
  2. 프록시를 중지하고 스레드 그룹 아래에있는 모든 요청을 살펴보십시오.

  3. 내가 아는 한, 자동 완성 플러그인에 관해서는, 당신이 글 상자에 글자를 입력 할 때마다 복수 요청이 전송됩니다. 예를 들어, 단어 'stackoverflow'에 대한 :

    Request1 : q를 = S
    Request2 : Q = 일
    Request3 : Q = 역
    등이 여기에

    을 수행 할 수 있습니다 모두 단어가 동일한 길이를 갖도록 단어를 포함 시키면이 효과를 시뮬레이션하여 동일한 개의 요청을 서버에 보낼 수있게합니다.

  4. 따라서 테스트 계획에서 Jmeter 스레드 당 한 단어 씩 전달합니다. 은 jmeter 매개 변수화를 사용하여 csv 파일에서 요청에 단어를 전달할 수 있습니다.


대신하여 JMeter와 셀레늄을 사용하여 부하 테스트의 많은 메모리 효율적인 방법이 될 것입니다. 나는 비슷한 질문을했다 question. 응답을 확인할 수 있습니다.

+0

나는 당신도 동의하지만 부하 테스트를 위해 jmeter를 사용해 보았지만 자동 완료 드롭 다운에서 옵션을 선택해야하며 이로 인해 jmeter 스크립트를 실행하는 데 문제가 발생합니다. 나는 그물에 시도하고 검색했지만 아무 해결책도 찾지 못했고, 결국 셀레늄으로 끝납니다. 또한 jmeter를 처음 사용하여 데이터 게시에 정규 표현식이나 매개 변수를 사용하는 방법을 알지 못합니다. jmeter 사용에 대한 추가 정보를 얻을 수있는 링크가 있습니까? 아니면 자동 완료 드롭 다운에서 옵션을 클릭하기위한 샘플 jmeter 스크립트가 있습니까? –

+0

자동 완성 드롭 다운에서 옵션을 클릭하면 서버 요청이 올바르게 수행됩니까? –

+0

네, 그게 ... 우리의 응용 프로그램에서 우리는 자동 완성 드롭 다운 옵션을 선택하고 시스템로드 다른 요소를 페이지에 있습니다. 웹 페이지에서 'elementid'와 같은 값을 매개 변수로 전송하려고 시도했지만 jmeter에서 값을 설정했지만 성공하지 못했습니다. –