{"id":10756,"date":"2016-09-17T13:17:01","date_gmt":"2016-09-17T11:17:01","guid":{"rendered":"http:\/\/flaven.fr\/?p=10756"},"modified":"2016-09-17T13:17:01","modified_gmt":"2016-09-17T11:17:01","slug":"test-genymotion-android-tracer-les-flux-dune-application-avec-charles-sur-un-emulateur-genymotion","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2016\/09\/test-genymotion-android-tracer-les-flux-dune-application-avec-charles-sur-un-emulateur-genymotion\/","title":{"rendered":"Test, Genymotion, Android &#8211; Tracer les flux d&#8217;une application avec Charles sur un \u00e9mulateur genymotion"},"content":{"rendered":"<p>On avait vu comment utiliser genymotion comme solution pour tester les <code>.apk<\/code> sur un parc quasi-infini de terminaux Android. Tr\u00e8s souvent dans la phase de d\u00e9licate de la recette et\/ou du testing, il est souvent indispensable de tracer le traffic sur l&#8217;application, l&#8217;appel aux webservices notamment.<br \/>\nC&#8217;est \u00e0 ce moment pr\u00e9cis que l&#8217;on souhaite coupler cet \u00e9mulateur d&#8217;\u00e9ventuels outils que l&#8217;on utilise par ailleurs dans d&#8217;autres contextes notamment comme pour un site web par exemple, je veux parler de Charles.<\/p>\n<p><H4>Petit introduction \u00e0 Charles, prince du debug<\/H4><br \/>\nEn clair, dans sa d\u00e9finition la plus simple, Charles est un logiciel qui permet de tracer toutes le trafic HTTP et SSL \/ HTTPS entre votre machine et &#8220;le internet&#8221;.<\/p>\n<p>Ci-dessous, l&#8217;ADN du logiciel Charles livr\u00e9 in-extenso en anglais.<\/p>\n<blockquote><p>Charles is an HTTP proxy \/ HTTP monitor \/ Reverse Proxy that enables a developer to view all of the HTTP and SSL \/ HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).<\/p><\/blockquote>\n<h4>Configurer un \u00e9mulateur de Genymotion<\/h4>\n<p>Sans s&#8217;appesantir en d\u00e9tail, voil\u00e0 les principales \u00e9tapes.<\/p>\n<p>On part du principe que vous avez d\u00e9j\u00e0 installer Genymotion et que vous \u00eates en mesure de lancer un terminal Android quelconque. Voil\u00e0 ensuite les 7 \u00e9tapes \u00e0 suivre pour que le trafic de cette \u00e9mulateur soit pist\u00e9 dans Charles :<\/p>\n<ol>\n<li>Il faut ouvrir les &#8220;Settings&#8221; de votre terminal Android sous Genymotion puis appuyer sur l&#8217;onglet &#8220;Wi-Fi&#8221; pour voir les connections sans-fil.<\/li>\n<p>\t<b>L&#8217;onglet &#8220;Wi-Fi&#8221;<\/b><br \/>\n\t<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2016\/09\/genymotion_charles_1.jpg\" width=\"640\" height=\"480\" alt=\"Test, Genymotion, Android - Monitorer avec Charles un \u00e9mulateur sous genymotion\"><\/p>\n<li>Vous voyez apparaitre quelque chose comme &#8220;WiredSSID&#8221;. En maintenant appuyer un menu va apparaitre vous permettant de configurer la connexion wifi.<\/li>\n<li>S\u00e9lectionner &#8220;Modify network&#8221;.<\/li>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2016\/09\/genymotion_charles_2.jpg\" width=\"640\" height=\"480\" alt=\"Test, Genymotion, Android - Monitorer avec Charles un \u00e9mulateur sous genymotion\"><\/p>\n<li>Changer le &#8220;Proxy settings&#8221; pour &#8220;Manual&#8221;.<\/li>\n<li>Il faut ensuite changer la valeur du champs &#8220;Proxy hostname&#8221; en tapant <code>10.0.3.2<\/code><br \/>\n<b>A noter c&#8217;est une adresse IP sp\u00e9cifique \u00e0 Genymotion IP. Inutile d&#8217;essayer de la mettre dans la VM directement sur laquelle l&#8217;\u00e9mulateur est adoss\u00e9, cela ne fonctionnera pas.<\/b><\/li>\n<li>Changer la valeur du champs &#8220;Proxy port&#8221; \u00e0 <code>8888<\/code>.<\/li>\n<li>Appuyer sur &#8220;Save&#8221;. Le plus s\u00fbr est de red\u00e9marrer \u00e0 la fois Charles et Genymotion pour \u00eatre certain que les changements ont \u00e9t\u00e9 pris en compte. Pour chaque nouvelle \u00e9mulateur employ\u00e9, vous \u00eates dans l&#8217;obligation de faire la m\u00eame manipulation.<\/li>\n<\/ol>\n<p><b>Une capture de Charles coupl\u00e9 \u00e0 une application Android sur un \u00e9mulateur de Genymotion<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2016\/09\/genymotion_charles_3.jpg\" width=\"640\" height=\"480\" alt=\"Test, Genymotion, Android - Monitorer avec Charles un \u00e9mulateur sous genymotion\"><\/p>\n<p>Dernier conseil, il est possible de faire fonctionner Charles pour tracer l&#8217;activit\u00e9 sur un terminal physique, en clair un vrai smartphone. A priori, la condition requise pour un tel usage est de faire pointer le proxy de votre smartphone vers l&#8217;IP de votre machine sur le port <code>888<\/code>, PC ou Mac, sur laquelle est install\u00e9 Charles.<\/p>\n<p><b>Pour conclure, la combinaison des deux outils est un &#8220;must-have&#8221; \u00e9tant donn\u00e9 la facilit\u00e9 d&#8217;installation de deux logiciels. C&#8217;est un gain de temps pour &#8220;monitorer, tester, debuger&#8221; vos applications mobiles sous iOS comme sur Android.<\/b><\/p>\n<p><b>La connexion de Charles \u00e0 un terminal physique<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2016\/09\/genymotion_charles_4.jpg\" width=\"640\" height=\"480\" alt=\"Test, Genymotion, Android - Monitorer avec Charles un \u00e9mulateur sous genymotion\"><\/p>\n<p><b>S&#8217;assurer dans Charles que votre smartphone pointera vers l&#8217;IP de votre machine sur le port <code>888<\/code><\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2016\/09\/genymotion_charles_6.jpg\" width=\"640\" height=\"480\" alt=\"Test, Genymotion, Android - Monitorer avec Charles un \u00e9mulateur sous genymotion\"><\/p>\n<p><b>Charles trace une application sur un smartphone<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2016\/09\/genymotion_charles_5.jpg\" width=\"640\" height=\"480\" alt=\"Test, Genymotion, Android - Monitorer avec Charles un \u00e9mulateur sous genymotion\"><\/p>\n<h2>En savoir plus<\/h2>\n<ul>\n<li>Getting the Charles Debugging Proxy to Work with iOS and Genymotion<br \/><a href=\"https:\/\/raptureinvenice.com\/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion\/\" target=\"_blank\">https:\/\/raptureinvenice.com\/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion\/<\/a><\/li>\n<li>Using Charles from an iPhone<br \/><a href=\"https:\/\/www.charlesproxy.com\/documentation\/faqs\/using-charles-from-an-iphone\/\" target=\"_blank\">https:\/\/www.charlesproxy.com\/documentation\/faqs\/using-charles-from-an-iphone\/<\/a><\/li>\n<li>Genymotion \u2013 Fast And Easy Android Emulation<br \/><a href=\"https:\/\/www.genymotion.com\/\" target=\"_blank\">https:\/\/www.genymotion.com\/<\/a><\/li>\n<li>Using Charles proxy with a mobile device<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=8pKo1UiH6DM\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=8pKo1UiH6DM<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>On avait vu comment utiliser genymotion comme solution pour tester les .apk sur un parc quasi-infini de terminaux Android. Tr\u00e8s souvent dans la phase de&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2016\/09\/test-genymotion-android-tracer-les-flux-dune-application-avec-charles-sur-un-emulateur-genymotion\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">Test, Genymotion, Android &#8211; Tracer les flux d&#8217;une application avec Charles sur un \u00e9mulateur genymotion<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":10758,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Test Android apps with Genymotion. Trace app traffic, web service calls using Charles proxy on Genymotion emulator for precise debugging.","bf_ai_og_title":"Test Android with Charles & Genymotion","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3437,3454,3442,3444,3447,3448,3449,3450,3435,3452],"tags":[2238,2183,163,2344,1910,535,2111,518,31,2315,1871,2351,2317,2182,2153],"class_list":["post-10756","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business-case-studies","category-journalism-writing","category-mobile-devices","category-programming-databases","category-technology-trends","category-tools-productivity","category-tutorials-how-to","category-ux-product-design","category-web-development","category-wordpress-cms","tag-android","tag-api","tag-application","tag-best-practices","tag-bonnes-pratiques","tag-emulateur","tag-genymotion","tag-ios","tag-mobile","tag-selenium","tag-smartphone","tag-test","tag-tests","tag-web","tag-webservice"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-2Nu","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2016\/09\/genymotion_charles_b.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=10756"}],"version-history":[{"count":2,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10756\/revisions"}],"predecessor-version":[{"id":10765,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10756\/revisions\/10765"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/10758"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=10756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=10756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=10756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}