モバイルテストではAppiumを試しています。私たちのアプリケーションが私たちのバックエンドに向かって行うAPIコールを読む方法を見つけることができませんでした。アプリケーションのネットワーク呼び出しを「聴く」ことができますか?たとえば、バックエンドから返されたJSON本体を読み取ることはできますか?AppiumでAppiumを呼び出すRead
おかげ
モバイルテストではAppiumを試しています。私たちのアプリケーションが私たちのバックエンドに向かって行うAPIコールを読む方法を見つけることができませんでした。アプリケーションのネットワーク呼び出しを「聴く」ことができますか?たとえば、バックエンドから返されたJSON本体を読み取ることはできますか?AppiumでAppiumを呼び出すRead
おかげ
ネットワーク呼び出しを記録する2つの方法があります。
1)あなたはチャールズ、wiresharkのように使用プロキシツールのいずれかを介して、あなたの携帯電話にプロキシを設定しますが。私が意味することは、あなたが持っているGUIツールを手動で開いて、ネットワークトラフィックを聞きたい時のようにツールを使ってトラフィックをルーティングすることです。
2)別の方法は、browsermobプロキシを使用することです。
:ご使用の環境を作成する場所<dependency>
<groupId>net.lightbody.bmp</groupId>
<artifactId>browsermob-core-littleproxy</artifactId>
<version>2.1.0-beta-3</version>
</dependency>
これを追加します。これは、(レスポンスのヘッダではなくJSONデータを与えるだろう).Maven依存関係がある行われたすべてのネットワーク呼び出しのHARファイルを生成します
// Starting server BrowserMobProxy
server= new BrowserMobProxyServer();
server.setConnectTimeout(10, TimeUnit.SECONDS);
server.start(8897);
Proxy proxy = ClientUtil.createSeleniumProxy(server);
設定機能:ドライバが設定されて
capabilities.setCapability(CapabilityType.PROXY, proxy);
後、HARファイルを作成
server.newHar("2.har");
あなた@AfterSuiteでは、以下の追加:
if(server.getHar()==null){
System.out.println("No Har capture");
}
Har har = server.getHar();
if(har==null){
System.out.println("Har is NULL");
}
FileOutputStream fos = new FileOutputStream(FILE_OUTPUT_HAR+"fos"+".har");
har.writeTo(fos);
HarLog log = har.getLog();
if(log==null){
System.out.println("Harlog is null");
}
List<HarEntry> entries = new CopyOnWriteArrayList<HarEntry>(log.getEntries());
System.out.println("entries"+entries);
for (HarEntry entry : entries){
System.out.println("entry="+entry.getRequest().getUrl());
}
File harFile = new File(HAR_FILE_PATH+"2"+".har");
File("/Users/yourpath/"+"2"+".har");
har.writeTo(harFile);
おかげTabishを。これはAppiumサーバーでも機能しますか?私はappiumがBrowserMobProxyによってサポートされていないことに気づいた。リンクはhttps://github.com/appium/appium/issues/4968です。何か提案はありますか? –
私はあなたが言及したようにapporachを試しました、harファイルは基本以上の情報なしで生成されます。ここに情報があります。 { \t "ログ":{ \t \t "バージョン"、 "1.2"、 \t \t "作成者":{ \t \t \t "名前": "BrowserMobプロキシ"、 \t \t \t "バージョン":「2.1 0.0-β-3- littleproxy」、 \t \t \t "コメント": "" \t \t}、 \t \t "ページ":[{ \t \t \t "ID": "Second.har"、 \t \t \t "startedDateTime": "2016-05-26T21:42:46.453 + 02:00"、 \t \t \t "タイトル":「セカンド。HAR " \t \t \t "pageTimings":{ \t \t \t \t "コメント": "" \t \t \t}、 \t \t \t "コメント": "" \t \t}]、 \t \t" エントリ":[]、 \t \t"コメント ":" " \t} } –
電話機をセットアップしましたか? oプロキシポート(この例では8897)経由でトラフィックをルーティングしますか? –