{"id":16775,"date":"2019-10-21T13:50:36","date_gmt":"2019-10-21T11:50:36","guid":{"rendered":"https:\/\/www.inovex.de\/blog\/?p=16775"},"modified":"2026-03-17T08:34:00","modified_gmt":"2026-03-17T07:34:00","slug":"android-espresso-tests-firebase-testlab-flank","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/","title":{"rendered":"Speed up Your Android Espresso Tests With Firebase TestLab and Flank"},"content":{"rendered":"<p>Executing Android Espresso Tests on a CI Server has always been a problem. Emulators are slow to start, tests take forever to finish or even fail because of timeouts or performance issues. One approach of solving this is to build a device rack and run the tests on real devices. But this takes a lot of time for maintenance and isn\u2019t exactly cheap either. To make things easier there are cloud providers with device farms. Firebase TestLab from Google is one well known example. The API integrates nicely with a CI-Server and the reports are amazing. But executing a large test suite can take quite some time to finish as Firebase runs the tests sequentially. That\u2019s where <a href=\"https:\/\/github.com\/TestArmada\/flank\">Flank<\/a> steps in. The project is open source and developed by WalmartLab. It enables you to run the tests in parallel.<!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#How-Does-This-Work\" >How Does This Work?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#How-Does-This-Work-With-Gitlab-CI\" >How Does This Work With Gitlab CI?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#Pricing\" >Pricing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#Summary\" >Summary<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#Read-on\" >Read on<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"How-Does-This-Work\"><\/span>How Does This Work?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Flank takes your test suite and splits it in test groups called shards. You can configure how many shards you want to create. At maximum, you can have as many shards as you have tests. If you do this and everything goes well, executing all of your tests will take just as much time as your longest UI Test needs to finish (plus some startup and teardown time).<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How-Does-This-Work-With-Gitlab-CI\"><\/span>How Does This Work With Gitlab CI?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Integrating it with your Gilab-CI Pipeline is pretty straight forward.<\/p>\n<ol>\n<li style=\"font-weight: 400;\">Create a Firebase Account<\/li>\n<li style=\"font-weight: 400;\">Add your project to firebase<\/li>\n<li style=\"font-weight: 400;\">Create a service account to get access over the API<\/li>\n<li style=\"font-weight: 400;\">Configure Flank to your needs with flank.yml<\/li>\n<\/ol>\n<p>Let\u2019s have a look at each step in detail. For the demo I used the <a href=\"https:\/\/github.com\/googlesamples\/android-sunflower\">Android Sunflower App<\/a> from Google. The project has 5 UI Tests integrated.<\/p>\n<p>First create a new account or log in to your existing Firebase account. Now add a new project. Your project ID is shown below the title as you can see in the first image. This is used as the identifier when uploading your project\u2019s APKs.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16776\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.04.39.png\" alt=\"Firebase projects overview cards\" width=\"600\" height=\"263\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.04.39.png 675w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.04.39-300x132.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.04.39-400x175.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.04.39-360x158.png 360w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>After that go the Firebase Settings and create a service account with an editor role. Download the json file which contains the private key which can be added directly as an environment variable in your Gitlab CI Project and used as authentication. Don\u2019t forget to enable the <strong>Google Cloud Testing API<\/strong> and <strong>Cloud Tool Results API<\/strong> in the Google <a href=\"https:\/\/console.developers.google.com\/apis\/library\">Developers Console API<\/a>.\u00a0This is important for uploading the APKs and accessing the results.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16780\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.08.35.png\" alt=\"Firebase service accounts settings\" width=\"601\" height=\"121\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.08.35.png 755w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.08.35-300x60.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.08.35-400x81.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Bildschirmfoto-2019-08-14-um-11.08.35-360x72.png 360w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/p>\n<p>The next step is to configure your Gitlab Pipeline. As mentioned before add the service account as an environment variable in your project for authentication which is needed in the <span class=\"lang:sh decode:true crayon-inline\">.gitlab-ci.yml<\/span>. What you need to do is basically triggering a build of the project APK and the test APK. The artifacts get saved and uploaded via flank to the Firebase Lab. The pipeline setup might look something like this:<\/p>\n<pre class=\"lang:yaml decode:true\" title=\".gitlab-ci.yml with flank setup\">image: inovex\/gitlab-ci-android:latest\r\n\r\nstages:\r\n\r\n  - build\r\n\r\n  - test\r\n\r\nbefore_script:\r\n\r\n  - export GRADLE_USER_HOME=$(pwd)\/.gradle\r\n\r\n  - chmod +x .\/gradlew\r\n\r\ncache:\r\n\r\n  paths:\r\n\r\n    - .gradle\/\r\n\r\nbuild_dev_debug:\r\n\r\n  stage: build\r\n\r\n  tags:\r\n\r\n    - shared\r\n\r\n  # Build your app and your test app.\r\n\r\n  script:\r\n\r\n    - .\/gradlew assembleDebug\r\n\r\n    - .\/gradlew assembleDebugAndroidTest\r\n\r\n  artifacts:\r\n\r\n    paths:\r\n\r\n      - app\/build\/outputs\/\r\n\r\ninstrumentation_test_dev_debug:\r\n\r\n  stage: test\r\n\r\n  tags:\r\n\r\n    - shared\r\n\r\n  only:\r\n\r\n    - dev\r\n\r\n  before_script:\r\n\r\n    # Preparing wget\r\n\r\n    - apt-get update\r\n\r\n    - apt install python2.7 python-pip -y\r\n\r\n    - apt-get install wget\r\n\r\n    # Activate google service account by copying the credentials to a file\r\n\r\n    - mkdir -p $HOME\/.config\/gcloud\/\r\n\r\n    - echo $SERVICE_ACCOUNT &gt; $HOME\/.config\/gcloud\/application_default_credentials.json\r\n\r\n  script:\r\n\r\n    # Download flank and run your tests\r\n\r\n    - wget --quiet https:\/\/github.com\/TestArmada\/flank\/releases\/download\/v7.0.1\/flank.jar -O .\/flank.jar\r\n\r\n    - java -jar .\/flank.jar android run\r\n\r\n  dependencies:\r\n\r\n    - build_dev_debug<\/pre>\n<p>When flank is executed it looks for <span class=\"lang:sh decode:true crayon-inline\">flank.yml<\/span>\u00a0as its configuration. There are a lot of custom settings that are explained on the project&#8217;s\u00a0<a href=\"https:\/\/github.com\/TestArmada\/flank#android-example\">GitHub page<\/a>. I strongly recommend having a look there for further optimizations.\u00a0But the following is all you need to get things up and running.<\/p>\n<pre class=\"lang:yaml decode:true\"># gcloud args match the official gcloud cli\r\n\r\n# See the docs for full gcloud details https:\/\/cloud.google.com\/sdk\/gcloud\/reference\/firebase\/test\/android\/run\r\n\r\ngcloud:\r\n\r\n  # -- AndroidGcloudYml --\r\n\r\n  ## The path to the application binary file.\r\n\r\n  ## The path may be in the local filesystem or in Google Cloud Storage using gs:\/\/ notation.\r\n\r\n  ## Android App Bundles are specified as .aab, all other files are assumed to be APKs.\r\n\r\n  app: app\/build\/outputs\/apk\/debug\/app-debug.apk\r\n\r\n  ## The path to the binary file containing instrumentation tests.\r\n\r\n  ## The given path may be in the local filesystem or in Google Cloud Storage using a URL beginning with gs:\/\/.\r\n\r\n  test: app\/build\/outputs\/apk\/androidTest\/debug\/app-debug-androidTest.apk\r\n\r\n  ## A list of DIMENSION=VALUE pairs which specify a target device to test against.\r\n\r\n  ## This flag may be repeated to specify multiple devices.\r\n\r\n  ## The four device dimensions are: model, version, locale, and orientation.\r\n\r\n  device:\r\n\r\n    - model: Nexus6P\r\n\r\n      version: 26\r\n\r\n      locale: en\r\n\r\n      orientation: portrait\r\n\r\nflank:\r\n\r\n# -- FlankYml --\r\n\r\n## test shards - the amount of groups to split the test suite into\r\n\r\n## set to -1 to use one shard per test. default: 1\r\n\r\n max-test-shards: 5\r\n\r\n## The project id\r\n\r\n project: testlab-test-sunflowers<\/pre>\n<p>When the pipeline is running, some log data about the current state will appear in your console. After the execution finishes there will be a link to the test report to verify the results. Here is the output for a test run with one shard\/test. The job failed because one test didn&#8217;t finish successfully. The logs don\u2019t show exactly which tests failed, you have to check the test report to analyze them in detail. If you look at the timestamps you can see that the shards all finished almost at the same time. The more tests you have the more time you can save executing them.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16790 size-full\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Flank-Log-Output.png\" alt=\"Basic logs in your console. \" width=\"676\" height=\"1059\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Flank-Log-Output.png 676w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Flank-Log-Output-192x300.png 192w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Flank-Log-Output-654x1024.png 654w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Flank-Log-Output-400x627.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Flank-Log-Output-360x564.png 360w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Pricing\"><\/span>Pricing<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>One important thing to notice is the pricing model of Firebase. In the free plan you can execute 5 test runs per day on a real device and 10 test runs on a virtual device. While this may be enough if you execute the whole test suite at once (in 1 shard) you&#8217;ll run out of capacity pretty fast once using multiple shards. For example if you have 20 UI tests and run them on 3 shards on real devices there are still 2 test runs left. If you use 5 shards the free capacity is gone, as every shard is treated as a separate test run. In the Blaze plan you pay as you go. They charge $1\/device\/hour for a virtual device and $5\/device\/hour for a real device. A thing to note here is that the usage time gets rounded up by minute which means if you use the device only for a couple of seconds you will still be charged for one minute.<\/p>\n<p>Luckily Flank has some optimizations for this kind of pricing that can be enabled in the <span class=\"lang:sh decode:true crayon-inline\">flank.yml<\/span>. When activated, Flank will try to create shards that run closely to full minutes. The following is documented on the github page of flank as well.<\/p>\n<pre class=\"lang:default decode:true\">## shard time - the amount of time tests within a shard should take\r\n\r\n## when set to &gt; 0, the shard count is dynamically set based on time up to the maxmimum limit defined by max-test-shards\r\n\r\n## 2 minutes (120) is recommended.\r\n\r\n## default: -1 (unlimited)\r\n\r\nshard-time: -1<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Setting up the Firebase TestLab and Flank is pretty easy following the steps above. Running the UI and instrumentation tests automated on the CI server on a regular basis adds a lot of value and potential bugs can be caught quickly. Furthermore you can save a lot of time because you don\u2019t need to execute the tests on your local machine so often. So I encourage you to give it a try and see if it fits your needs.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Read-on\"><\/span>Read on<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Need support in your app project? Have a look at our <a href=\"https:\/\/www.inovex.de\/en\/our-services\/apps\/\">mobile offering<\/a>! If you like to get your hands dirty yourself consider joining us as an Android dev!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Executing Android Espresso Tests on a CI Server has always been a problem. Emulators are slow to start, tests take forever to finish or even fail because of timeouts or performance issues. One approach of solving this is to build a device rack and run the tests on real devices. But this takes a lot [&hellip;]<\/p>\n","protected":false},"author":60,"featured_media":17395,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[510],"service":[420],"coauthors":[{"id":60,"display_name":"Andreas Bauer","user_nicename":"abauer"}],"class_list":["post-16775","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-apps-2","service-apps"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Speed up your Android Espresso Tests with Firebase TestLab and Flank<\/title>\n<meta name=\"description\" content=\"WalmartLab&#039;s Flank enables you to run Espresso tests on Firebase TestLab in parallel, speeding up the process while still leveraging its CI integration and amazing reports.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Speed up your Android Espresso Tests with Firebase TestLab and Flank\" \/>\n<meta property=\"og:description\" content=\"WalmartLab&#039;s Flank enables you to run Espresso tests on Firebase TestLab in parallel, speeding up the process while still leveraging its CI integration and amazing reports.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-21T11:50:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T07:34:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Andreas Bauer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andreas Bauer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Andreas Bauer\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/\"},\"author\":{\"name\":\"Andreas Bauer\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/1e32c55150415f2219308d3ddfb18f2b\"},\"headline\":\"Speed up Your Android Espresso Tests With Firebase TestLab and Flank\",\"datePublished\":\"2019-10-21T11:50:36+00:00\",\"dateModified\":\"2026-03-17T07:34:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/\"},\"wordCount\":962,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png\",\"keywords\":[\"Apps\"],\"articleSection\":[\"Applications\",\"English Content\",\"General\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/\",\"url\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/\",\"name\":\"Speed up your Android Espresso Tests with Firebase TestLab and Flank\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png\",\"datePublished\":\"2019-10-21T11:50:36+00:00\",\"dateModified\":\"2026-03-17T07:34:00+00:00\",\"description\":\"WalmartLab's Flank enables you to run Espresso tests on Firebase TestLab in parallel, speeding up the process while still leveraging its CI integration and amazing reports.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png\",\"width\":1920,\"height\":1080,\"caption\":\"Flank sugar cubes plunging into an espresso cup\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.inovex.de\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Speed up Your Android Espresso Tests With Firebase TestLab and Flank\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.inovex.de\/de\/#website\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.inovex.de\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/inovexde\",\"https:\/\/x.com\/inovexgmbh\",\"https:\/\/www.instagram.com\/inovexlife\/\",\"https:\/\/www.linkedin.com\/company\/inovex\",\"https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/1e32c55150415f2219308d3ddfb18f2b\",\"name\":\"Andreas Bauer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/16b31119f143104995dca6abbad792ef\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/Portrait-Andreas-Bauer-96x96.jpg\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/Portrait-Andreas-Bauer-96x96.jpg\",\"caption\":\"Andreas Bauer\"},\"description\":\"Mobile Entwicklung mit Android und Flutter. Hat mit Android-Entwicklung zu Version 2.2 und mit Eclipse begonnen. Ist immer wieder erstaunt \u00fcber die Leistungsf\u00e4higkeit moderner mobiler Ger\u00e4te.\",\"url\":\"https:\/\/www.inovex.de\/de\/blog\/author\/abauer\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Speed up your Android Espresso Tests with Firebase TestLab and Flank","description":"WalmartLab's Flank enables you to run Espresso tests on Firebase TestLab in parallel, speeding up the process while still leveraging its CI integration and amazing reports.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/","og_locale":"de_DE","og_type":"article","og_title":"Speed up your Android Espresso Tests with Firebase TestLab and Flank","og_description":"WalmartLab's Flank enables you to run Espresso tests on Firebase TestLab in parallel, speeding up the process while still leveraging its CI integration and amazing reports.","og_url":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2019-10-21T11:50:36+00:00","article_modified_time":"2026-03-17T07:34:00+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png","type":"image\/png"}],"author":"Andreas Bauer","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Andreas Bauer","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten","Written by":"Andreas Bauer"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/"},"author":{"name":"Andreas Bauer","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/1e32c55150415f2219308d3ddfb18f2b"},"headline":"Speed up Your Android Espresso Tests With Firebase TestLab and Flank","datePublished":"2019-10-21T11:50:36+00:00","dateModified":"2026-03-17T07:34:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/"},"wordCount":962,"commentCount":0,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png","keywords":["Apps"],"articleSection":["Applications","English Content","General"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/","url":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/","name":"Speed up your Android Espresso Tests with Firebase TestLab and Flank","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png","datePublished":"2019-10-21T11:50:36+00:00","dateModified":"2026-03-17T07:34:00+00:00","description":"WalmartLab's Flank enables you to run Espresso tests on Firebase TestLab in parallel, speeding up the process while still leveraging its CI integration and amazing reports.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/10\/Flank-Android-Espresso-Firebase-Tests.png","width":1920,"height":1080,"caption":"Flank sugar cubes plunging into an espresso cup"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/android-espresso-tests-firebase-testlab-flank\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"Speed up Your Android Espresso Tests With Firebase TestLab and Flank"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/1e32c55150415f2219308d3ddfb18f2b","name":"Andreas Bauer","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/16b31119f143104995dca6abbad792ef","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/Portrait-Andreas-Bauer-96x96.jpg","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/Portrait-Andreas-Bauer-96x96.jpg","caption":"Andreas Bauer"},"description":"Mobile Entwicklung mit Android und Flutter. Hat mit Android-Entwicklung zu Version 2.2 und mit Eclipse begonnen. Ist immer wieder erstaunt \u00fcber die Leistungsf\u00e4higkeit moderner mobiler Ger\u00e4te.","url":"https:\/\/www.inovex.de\/de\/blog\/author\/abauer\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/16775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=16775"}],"version-history":[{"count":2,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/16775\/revisions"}],"predecessor-version":[{"id":66579,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/16775\/revisions\/66579"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/17395"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=16775"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=16775"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=16775"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=16775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}