41554 blogs · [ { "id": "01a087eb-7da4-717b-b7c7-9b24a86d5361", "title": "Retrying Android Tests and Clearing the Database Between the Runs", "url": "https://testableapple.com/retry-strategy-for-android-junit-tests/", "published_at": "2025-03-12T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24a929ece3", "title": "Implementing Test Coverage in a Multi-module Android Project with Sonar and JaCoCo/Kover", "url": "https://testableapple.com/implementing-test-coverage-multi-module-android-project-sonar-jacoco-kover/", "published_at": "2025-01-12T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24a9c0d544", "title": "Optimizing Android Test Runs: Parsing Test Names and Implementing Orchestration", "url": "https://testableapple.com/android-tests-parsing-and-orchestration/", "published_at": "2024-12-02T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24a9c3b871", "title": "Profiling app size on iOS", "url": "https://testableapple.com/ios-size-analysis/", "published_at": "2024-08-25T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24aa4bf444", "title": "Running iOS Performance Testing on CI", "url": "https://testableapple.com/xctmetric/", "published_at": "2024-07-30T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24aad595bc", "title": "How to install old iOS Simulator Runtimes from Command-line", "url": "https://testableapple.com/install-ios-simulator-runtimes/", "published_at": "2024-06-29T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24aadd6675", "title": "Managing credentials and environment variables within Xcode and XCTest", "url": "https://testableapple.com/xctest-credentials-management/", "published_at": "2023-07-15T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24ab0aa529", "title": "Managing Xcode project files programmatically", "url": "https://testableapple.com/managing-xcode-project-files-programmatically/", "published_at": "2023-06-20T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24abbbb1b2", "title": "How to access app logs from UI Tests on iOS", "url": "https://testableapple.com/how-to-access-app-logs-from-ui-tests-on-ios/", "published_at": "2023-06-03T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24abe71d62", "title": "Page Object Model with Maestro", "url": "https://testableapple.com/page-object-model-with-maestro/", "published_at": "2023-05-20T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24acbea865", "title": "Disabling network on iOS Simulator from XCTest", "url": "https://testableapple.com/disabling-network-on-ios-simulator-from-xctest/", "published_at": "2023-05-06T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24ace68499", "title": "Gaining access to Command-line from Maestro", "url": "https://testableapple.com/gaining-access-to-command-line-from-maestro/", "published_at": "2023-04-22T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24addca523", "title": "Test-only accessibility values on iOS", "url": "https://testableapple.com/test-only-accessibility-values-on-ios/", "published_at": "2023-04-09T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24ae32de5d", "title": "Painless BDD on iOS with XCTContext", "url": "https://testableapple.com/painless-bdd-on-ios-with-xctcontext/", "published_at": "2023-03-12T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24af14ded7", "title": "Ruby within iOS development realm", "url": "https://testableapple.com/ruby-within-ios-development-realm/", "published_at": "2023-02-24T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24af437434", "title": "Beautifying XCTest results", "url": "https://testableapple.com/beautifying-xctest-results/", "published_at": "2023-02-06T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24afca8c95", "title": "Gaining access to Command-line from XCTest", "url": "https://testableapple.com/gaining-access-to-command-line-from-xctest/", "published_at": "2023-01-22T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b06e29bb", "title": "Stress testing on iOS with xcmonkey", "url": "https://testableapple.com/stress-testing-on-ios-with-xcmonkey/", "published_at": "2023-01-08T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b0e23d3e", "title": "Allow XCTest to simulate location", "url": "https://testableapple.com/allow-xctest-to-simulate-location/", "published_at": "2022-12-04T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b1cc007c", "title": "Video recording of failed tests on iOS", "url": "https://testableapple.com/video-recording-of-failed-tests-on-ios/", "published_at": "2022-11-12T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b27952cc", "title": "Getting iOS Simulator UDID from tests", "url": "https://testableapple.com/getting-ios-simulator-udid-from-tests/", "published_at": "2022-11-11T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b311f2a2", "title": "Testing push notifications within XCTest", "url": "https://testableapple.com/testing-push-notifications-within-xctest/", "published_at": "2022-09-18T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b3b1eadf", "title": "The easiest way to manage multiple Xcodes", "url": "https://testableapple.com/the-easiest-way-to-manage-multiple-xcodes/", "published_at": "2022-08-11T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b4885f2f", "title": "Running tests on multiple iOS versions on GitHub Actions", "url": "https://testableapple.com/running-tests-on-multiple-ios-versions-on-github-actions/", "published_at": "2022-07-31T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b4b41a1e", "title": "Native mock server inside XCTest", "url": "https://testableapple.com/native-mock-server-inside-xctest/", "published_at": "2022-02-14T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b4c9bb64", "title": "Mitmproxy: tips, tricks and scripts", "url": "https://testableapple.com/mitmproxy-tips-tricks-and-scripts/", "published_at": "2022-02-13T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b5a5b19c", "title": "How to programmatically bypass 2FA", "url": "https://testableapple.com/how-to-programmatically-bypass-two-factor-authentication/", "published_at": "2021-10-16T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b5eaf0ea", "title": "Fastlane, plugin them all", "url": "https://testableapple.com/fastlane-plugin-them-all/", "published_at": "2021-09-13T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b654ff3f", "title": "How to re-run only failed jobs on GitHub Actions", "url": "https://testableapple.com/how-to-re-run-only-failed-jobs-on-github-actions/", "published_at": "2021-04-17T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b6f01a76", "title": "How to use Bash anonymously", "url": "https://testableapple.com/how-to-use-bash-anonymously/", "published_at": "2021-02-20T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b78145ed", "title": "Finding leaks, exposing secrets", "url": "https://testableapple.com/finding-leaks-exposing-secrets/", "published_at": "2021-01-03T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b7d92638", "title": "Speed up CI through impact analysis", "url": "https://testableapple.com/speed-up-ci-through-impact-analysis/", "published_at": "2020-07-27T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b835b1f5", "title": "iOS apps under the microscope", "url": "https://testableapple.com/ios-apps-under-the-microscope/", "published_at": "2020-05-03T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b8ad4748", "title": "Debugging third party iOS apps with lldb", "url": "https://testableapple.com/debugging-third-party-ios-apps-with-lldb/", "published_at": "2020-04-12T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24b962b552", "title": "Broad variety of waiting in Espresso", "url": "https://testableapple.com/broad-variety-of-waiting-in-espresso/", "published_at": "2020-02-22T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24ba3dec31", "title": "Counting views in Espresso", "url": "https://testableapple.com/counting-views-in-espresso/", "published_at": "2020-01-26T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24bb3790e0", "title": "Configure secure web proxy on macOS via command line", "url": "https://testableapple.com/configure-secure-web-proxy-on-macos-via-command-line/", "published_at": "2019-06-24T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24bc29ae72", "title": "Sniffing network traffic on Android ≥7", "url": "https://testableapple.com/sniffing-network-traffic-on-android-api-above-seven/", "published_at": "2019-06-19T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24bcea129c", "title": "Pull out whole information about any App Store apps", "url": "https://testableapple.com/pull-out-whole-information-about-any-app-store-apps/", "published_at": "2019-06-13T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24bcee4b8f", "title": "Opening the curtains (iOS/Android)", "url": "https://testableapple.com/open-up-top-menu-by-swiping-on-ios-and-android/", "published_at": "2019-06-11T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24bd67023b", "title": "«Rule your commits» © Git Hook", "url": "https://testableapple.com/rule-your-commits-via-git-hooks/", "published_at": "2019-05-31T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24be6212da", "title": "Jenkins which deploys itself", "url": "https://testableapple.com/jenkins-which-deploys-itself/", "published_at": "2019-05-26T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24bf295fba", "title": "OCR or getting text from the screenshot", "url": "https://testableapple.com/getting-text-from-the-screenshots-via-ocr/", "published_at": "2019-04-06T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24bf412fcd", "title": "Android apps under the microscope", "url": "https://testableapple.com/android-apps-under-the-microscope/", "published_at": "2019-04-05T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c028e3b6", "title": "Bypassing iOS application verification error", "url": "https://testableapple.com/bypassing-ios-application-verification-error/", "published_at": "2019-03-31T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c0c71e7c", "title": "How to download .ipa file from App Store", "url": "https://testableapple.com/how-to-download-ipa-file-from-app-store/", "published_at": "2019-03-08T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c12f5978", "title": "How to download .apk file from Play Store", "url": "https://testableapple.com/how-to-download-apk-file-from-play-store/", "published_at": "2019-03-07T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c171bd45", "title": "MITM can be pretty easy with Mitmproxy and Python", "url": "https://testableapple.com/mitm-can-be-pretty-easy-with-mitmproxy-and-python/", "published_at": "2019-02-25T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c22a338a", "title": "Screenshot testing in Espresso", "url": "https://testableapple.com/screenshot-testing-in-espresso/", "published_at": "2018-11-15T00:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c2bcaa14", "title": "Snapshot testing in XCTest", "url": "https://testableapple.com/snapshot-testing-in-xctest/", "published_at": "2018-10-23T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c3964fb6", "title": "Test multiple apps using bundle identifier in XCTest", "url": "https://testableapple.com/test-multiple-apps-using-bundle-identifier-in-xctest/", "published_at": "2018-10-08T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c3e84fb2", "title": "Android battery keeper", "url": "https://testableapple.com/android-battery-keeper/", "published_at": "2018-09-24T23:00:00+00:00" }, { "id": "01a087eb-7da4-717b-b7c7-9b24c42dff65", "title": "The easiest way to retry XCTests", "url": "https://testableapple.com/the-easiest-way-to-retry-xctests/", "published_at": "2018-09-16T23:00:00+00:00" } ] posts Claim your blog
Back to testableapple.com
Blog · corpus.blog/blogs/testableapple.com/posts

testableapple.com

testableapple.com

2025

2024

2023

2022

2021

2020

2019

2018