소스 랩에서 실행중인 Java 테스트에서 트래픽을 캡처 할 수있는 BMP를 만들 수 없습니다. 누구든지이 작업을 성공적으로 완료 했습니까?appium 및 소스 랩에서 성공적으로 실행되도록 browsermobproxy 설정
public class AppiumTestBase {
BrowserMobProxy proxy;
public RemoteWebDriver createSauceDriver() throws Exception {
String sauceUserName = "userName";
String sauceAccessKey = "myKey";
proxy = new BrowserMobProxyServer();
proxy.start();
int port = proxy.getPort();
DesiredCapabilities caps = DesiredCapabilities.android();
caps.setCapability("deviceName", "Android Emulator");
caps.setCapability("deviceType", "phone");
caps.setCapability("deviceOrientation", "portrait");
caps.setCapability("browserName", "");
caps.setCapability("platformVersion", "5.1");
caps.setCapability("platformName", "Android");
caps.setCapability("app", "sauce-storage:app.zip");
caps.setCapability("app-package", "myPackage");
caps.setCapability("app-activity", "myOpenActivity");
//get/set test name
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
caps.setCapability("name", stackTrace[2].getMethodName());
RemoteWebDriver rd = new RemoteWebDriver(new URL(MessageFormat.format("http://{0}:{1}@ondemand.saucelabs.com:"+port+"/wd/hub", sauceUserName, sauceAccessKey)),
caps);
return rd;
}
@Test
public void sauceIt() throws Exception {
RemoteWebDriver d = createSauceDriver();
proxy.newHar("New HAR");
d.findElement(By.id("main_button")).click();
Thread.sleep(4000);
Har h = proxy.getHar();
File f = new File("/Users/me/Desktop/sauceExample");
h.writeTo(f);
d.quit();
}
org.openqa.selenium.remote.UnreachableBrowserException :
여기 내 exmaple 코드 새로운 세션을 시작할 수 없습니다. 가능한 원인은 원격 서버의 잘못된 주소 또는 브라우저 시작 실패입니다.
테스트는 포트 80에서 RemoteWebDriver를 시작할 때 실제로 실행되지만 트래픽을 캡처하지는 않습니다.
사람이 답변에 대한 검색이 건너 오는 경우
RemoteWebDriver rd = new RemoteWebDriver(new URL(MessageFormat.format("http://{0}:{1}@ondemand.saucelabs.com:80/wd/hub", sauceUserName, sauceAccessKey)),
caps);
안녕을 통해 프록시 액세스 시작해야, 내가 찾고 있어요 이 예제에서 이것이 무엇을 의미하는지 궁금합니다 : // new har har start put ("http : // localhost : 9000/proxy/9091/har"); 그것은 d.put입니까? 또한 콘솔에 sauceconnect와 bmp가 실행 중입니까? 감사합니다 – Aqua267
안녕하세요 - 그렇지 않습니다. 'd'는 원격 웹 드라이버 (모바일 앱)의 인스턴스이며 PUT은 프록시에 대한 HTTP 요청으로 "녹음"을 시작합니다. 고맙습니다. –
감사합니다. 나는 아직도 도움을 찾고있다. 포트 443에 시작 소스가 연결되어 있습니까? http : // {0} : {1} @ ondemand.saucelabs.com : "+ port +"/ wd/hub 또는 9091? – Aqua267