2013-12-10 2 views
0

셀레늄에 대한 테스트를 시작했고 웹 사이트에 로그인 할 때 성능 메트릭을 얻을 수 있다면 좋을 것이라고 생각했습니다. BrowserMob-Proxy를 발견했습니다. Lightbody의 github 페이지에서 처음 다섯 줄을 복사 한 것으로 시작하여 "ProxyServer를 유형으로 확인할 수 없으며"프록시를 유형으로 확인할 수 없습니다 "라는 오류 메시지가 나타납니다.Selenium with BrowserMob-Proxy

누가 아직 여기에 무엇이 누락되어 있는지 말해 줄 수 있습니까? 여기

는 pom.xml 파일입니다 :

... 
</plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.junit</groupId> 
     <artifactId>arquillian-junit-container</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.extension</groupId> 
     <artifactId>arquillian-drone-impl</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <!-- 20131112 ab hier neu hinzugefügt von "https://docs.jboss.org/author/display/ARQ/Drone" --> 
    <dependency> 
     <groupId>org.jboss.arquillian.extension</groupId> 
     <artifactId>arquillian-drone-webdriver-depchain</artifactId> 
     <version>${version.org.jboss.arquillian.drone}</version> 
     <type>pom</type> 
     <scope>test</scope> 
    </dependency> 
    <!-- bis hier --> 
    <dependency> 
     <groupId>org.jboss.arquillian.extension</groupId> 
     <artifactId>arquillian-drone-selenium</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.extension</groupId> 
     <artifactId>arquillian-drone-selenium-server</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-server</artifactId> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>org.mortbay.jetty</groupId> 
       <artifactId>servlet-api-2.5</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.6.4</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>net.lightbody.bmp</groupId> 
     <artifactId>browsermob-proxy</artifactId> 
     <version>LATEST_VERSION (ex: 2.0-beta-9)</version> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>org.seleniumhq.selenium</groupId> 
       <artifactId>selenium-api</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
</dependencies> 
<profiles> 
    <profile> 
     <id>arquillian-weld-ee-embedded</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <dependencies> 
      <dependency> 
       <groupId>org.jboss.spec</groupId> 
       <artifactId>jboss-javaee-6.0</artifactId> 
       <version>1.0.0.Final</version> 
       <type>pom</type> 
       <scope>provided</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.jboss.arquillian.container</groupId> 
       <artifactId>arquillian-weld-ee-embedded-1.1</artifactId> 
       <version>1.0.0.CR3</version> 
       <scope>test</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.jboss.weld</groupId> 
       <artifactId>weld-core</artifactId> 
       <version>1.1.5.Final</version> 
       <scope>test</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.slf4j</groupId> 
       <artifactId>slf4j-simple</artifactId> 
       <version>1.6.4</version> 
       <scope>test</scope> 
      </dependency> 
     </dependencies> 
    </profile> 
    <profile> 
     <id>arquillian-glassfish-embedded</id> 
     <dependencies> 
... 

그리고 여기에 내가 방법 '시작'과 '끝'을 만들기 위해 노력하고있어 클래스의 ('시작' '아직 완료하고 나는 천국되지 않는다 t 만든 '끝'...). 'start'를 호출하면 BrowserMob이 성능 측정을 시작하고 '끝'을 통해 측정을 중지해야합니다 ...

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.remote.DesiredCapabilities; 

public class Timer { 

public void start() { 

    // start the proxy 
    ProxyServer server = new ProxyServer(4444); 
    server.start(); 

    // get the Selenium proxy object 
    Proxy proxy = server.seleniumProxy(); 

    // configure it as a desired capability 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.PROXY, proxy); 

    // start the browser up 
    WebDriver driver; 

} 

} 

답변

2

문제는 버전 라인에 있습니다. browsermob github 페이지에서 직접 복사하여 붙여 넣은 것 같습니다. 대신 선은 이와 같이 보입니다.

<version>2.0-beta-9</version> 

Drop LATEST_VERSION 및 다른 구문.

0

시도해보십시오. BrowserMobProxyServer server = new BrowserMobProxyServer(); 그런 다음 정기적으로 프록시를 가져 오십시오. 그리고 예, 최신 버전 가져 오기.