惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
MyScale Blog
MyScale Blog
博客园 - 【当耐特】
I
InfoQ
腾讯CDC
aimingoo的专栏
aimingoo的专栏
L
LangChain Blog
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
C
Check Point Blog
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
D
Docker
MongoDB | Blog
MongoDB | Blog
量子位
博客园_首页

Datadog | The Monitor blog

Introducing our open source AI-native SAST Instrument and monitor Boomi integration flows with OpenTelemetry and Datadog Not all index scans are equal: How we cut query latency by over 99% Platform engineering metrics: What to measure and what to ignore Integrate Recorded Future threat intelligence with Datadog Cloud SIEM CI/CD security: threat modeling using a MITRE-style threat matrix CI/CD security: How to secure your GitHub ecosystem Ingress NGINX is EOL: A practical guide for migrating to Kubernetes Gateway API Operating agentic AI with Amazon Bedrock AgentCore and Datadog LLM Observability: Lessons from NTT DATA Introducing the Datadog Code Security MCP Capture and analyze custom heatmaps in Session Replay Understand session replays faster with AI summaries and smart chapters Monitor ClickHouse query performance with Datadog Database Monitoring How we designed empathetic alert sounds for on-call engineers Search and act across Datadog to resolve issues faster with Bits Assistant Measure the business impact of every product change with Datadog Experiments Analyzing round trip query latency Configuring JavaScript caches for better performance Introducing Bits AI Dev Agent for Code Security Datadog achieves ISO 42001 certification for responsible AI Monitor Nutanix clusters, hosts, and VMs with Datadog Monitor Juniper Mist in Datadog A new Host Map for modern infrastructure Annotate traces to improve LLM quality with Datadog LLM Observability What’s new in Cloud SIEM: AI-powered investigations, enhanced threat intelligence, and scalable security operations Explore Kubernetes with native OpenTelemetry data Monitor Oracle Fusion Cloud Applications with Datadog Announcing the Datadog Terraform provider v4.0.0 Scaling Kubernetes workloads on custom metrics How to design cloud environments for AI-powered threat analysis
How to build reliable and accurate synthetic tests for yo...
2025-08-07 · via Datadog | The Monitor blog
Addie Beach

Addie Beach

Mobile applications offer increased flexibility to both users and developers. Users can access content on a wide range of devices, operating systems, and network types, while developers can leverage touch screens and orientation-based layouts to create more responsive features.

However, all of these factors create new testing challenges. To ensure a good user experience (UX), developers have to test their apps across many device models and platforms, which can become costly and time-consuming. Additionally, because mobile apps have a different underlying structure from web apps, they often require different testing tools.

In this post, we’ll explore how you can effectively address these challenges by:

Test on emulators, simulators, and real devices

Mobile apps are used on a variety of devices and operating systems. Ensuring that all of your users can successfully interact with your app means testing evenly across every operating system you plan to support. Otherwise, your app might work perfectly on one system, but experience bugs and poor performance on another. This often involves tailoring your testing strategy to accommodate the challenges of your target platforms. For example, Android-compatible apps must adapt to devices made by different manufacturers, each with unique hardware configurations.

However, developing for any platform—even exclusively for iOS—means accounting for differences in device size and age. To start, you’ll want to make sure your app’s layout is consistent on differing screen dimensions. A UI that’s too large for a smaller phone can look cramped and might even cut off access to key components. Conversely, one that’s too small for a larger phone or tablet might leave too much blank space, which can confuse users or appear unpolished. You’ll also want to consider computing power across device models. To ensure a consistent UX, you need to monitor app performance on both the newest and older models, whose capabilities may be more restricted.

To exhaustively test device-OS combinations, many developers use simulators and emulators to spin up virtual Android and iOS devices. Simulators let you quickly verify that your app runs well on different software, while emulators also allow testing for hardware configurations. Because they offer speed and flexibility, virtual devices are commonly used in early-stage testing.

That said, virtual devices still struggle to replicate real-world usage in several key aspects. Their ability to mimic actual device UIs is limited, especially for external elements like push notifications or keyboards that may overlay on top of your app. While emulators can provide high-level hardware testing, they often fail to factor in certain real-world conditions, especially sluggish processing, poor battery life, and network throttling. For tests where accuracy is key, like performance or usability testing, real devices often give you more reliable insights.

To help you reliably test your app on as many platforms as possible, Datadog Synthetic Monitoring enables you to spin up mobile tests on real devices across a variety of manufacturers, including Google, Apple, Samsung, and LG. Synthetic Monitoring shows you which devices are currently available, enabling you to quickly run your tests for faster results.

A list of available devices for an Android synthetic test.

Identify UI elements using Android and iOS locators

In addition to having more devices and platforms to monitor, mobile app testing also gives you more ways to test them. For example, to account for the lack of a traditional web DOM, each mobile OS offers its own set of locators to help you reliably identify elements within tests.

iOS provides accessibility IDs and predicates. Accessibility IDs are strings that correspond to elements within an app. On the other hand, iOS predicates are queries used to select elements that meet a specific criterion. Predicates are useful when a component doesn’t have a specific accessibility ID associated with it; when there are multiple components with the same name; or when the component being selected may change, such as the first item in a list of the most popular products.

Here’s a comparison of what an accessibility ID and an iOS predicate might look like for the same checkout button:

Accessibility IDiOS predicate
checkoutlabel == “checkout”

By contrast, Android provides one unique kind of locator: resource IDs. Resource IDs generally consist of the file name of an element—for example, org.shopist.vending:id/checkout. Unlike iOS, Android doesn’t include a workaround for finding elements that don’t have a specific resource ID. In these situations, you can use xPath instead.

Datadog Synthetic Monitoring comes with built-in, self-healing locators that automatically identify elements for your tests. However, if you do want to manually specify a locator for an app component, Synthetic Monitoring also enables you to use accessibility IDs, iOS predicates, and resource IDs within your tests. This can be useful for testing certain dynamic conditions, such as selecting the first available slot when scheduling an appointment.

To easily create a test that identifies elements using Android or iOS locators, you can use our out-of-the-box templates. These templates enable you to select elements by accessibility ID, resource ID, predicates, xPath, or component name. Additionally, you can use these templates to extract and validate variables from within elements, such as text that may change depending on which option a user has selected. This enables you to perform granular testing of more user journeys in your app.

OOTB synthetic testing templates that enable you to choose locator type for your tests.

Once you’ve created the test, you can then specify the interactions you’d like to test for each element, including taps and double taps, scrolls, and device rotations, as well as the device type.

A list of available interactions for mobile synthetic tests.

Enhance your mobile testing strategy with synthetic monitoring

Testing mobile apps presents a number of challenges for developers, requiring additional hardware and software tests as well as a unique set of testing tools. Datadog helps your teams streamline this process and test your apps more accurately through fast, real-device testing. Additionally, by providing both self-healing locators and support for OS-specific locators, Datadog helps ensure that every critical element in your tests is captured.

You can use our documentation to learn more about mobile app testing with Datadog Synthetic Monitoring. Or, if you’re new to Datadog, you can sign up for a 14-day free trial.