Skip to content
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/modules/manual-testing/images/device-controls-context3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/modules/manual-testing/images/image-injection-closeup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/modules/manual-testing/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* Local or private devices
** xref:manual-testing:local-devices/capture-network-payload-data.adoc[]
** xref:manual-testing:local-devices/use-apple-pay-in-manual-session.adoc[]
** xref:manual-testing:local-devices/inject-audio.adoc[]

* xref:manual-testing:test-your-app-camera.adoc[]
* xref:manual-testing:adb-commands.adoc[]
Expand Down
33 changes: 30 additions & 3 deletions docs/modules/manual-testing/pages/device-controls.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -81,14 +81,41 @@ See xref:release-notes:all-releases/4_10.adoc#_enhanced_handling_of_sensitive_da

== Image injection

To test your in-app camera, select *Image Injection*, then add an image to the injection library and select *Inject*.
[IMPORTANT]
====
Follow xref:manual-testing:test-your-app-camera.adoc[this guide,window=read-later] for more details on how to use image injection.
====

To test your in-app camera, select *Media Injection*.

image:manual-testing:media-injection.png[width=300,alt="The media injection button in a manual session."]

Select *Image Injection*. Upload an image to the injection library and select *Inject*.

image:manual-testing:image-injection-closeup.png[width=400, alt="A manual session with a closeup of image injection."]

To reset the camera view after injecting an image, select *Reset Camera*.

image:manual-testing:image-injection-completed.png[width=400, alt="The image injection menu after injecting an image, with Reset Camera visible."]

== Audio injection

[IMPORTANT]
====
Follow xref:manual-testing:test-your-app-camera.adoc[this guide] for more details on how to use image injection.
Follow xref:manual-testing:local-devices/inject-audio.adoc[this guide,window=read-later] for more details on how to use audio injection.
====

image:manual-testing:image-injection-closeup.png[width=500, alt="A manual session with a closeup of image injection."]
To test your microphone, select *Media Injection*.

image:manual-testing:media-injection.png[width=300,alt="The media injection button in a manual session."]

Select *Audio Injection*. Add an audio file to the injection library and select *Inject*.

image:manual-testing:bluetooth-audio-injection-closeup.png[width=400, alt="A manual session with a closeup of audio injection."]

If you see the following message, then image injection is not enabled on the device. Choose another device that xref:manual-testing:local-devices/inject-audio.adoc[has audio injection enabled], or contact Kobiton support to learn more.

image:bluetooth-audio-not-enabled.png[width=400px,alt="Audio injection feature disabled with message indicating special setup is required"]

== Power

Expand Down
101 changes: 101 additions & 0 deletions docs/modules/manual-testing/pages/local-devices/inject-audio.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
= Inject audio during a manual session (Beta)
:navtitle: Inject audio (Beta)

Learn how to inject an audio file directly into a connected device during a manual session to test recording apps, voice calls, and audio handling.

== Prerequisites

* A private device with bluetooth audio enabled running in *Standard mode*.

[IMPORTANT]
Bluetooth audio requires an additional _bluetooth-bridge_ server to enable. Contact Kobiton support for more details.

* A valid audio file that meets the required format and size.

=== Supported audio format

|===
| Requirement | Value

| Container | WAV (PCM 16-bit), OGG, or MP3
| Sample Rate | 8 kHz
| Channels | mono
| Max File Size | 30 MB
|===

== Inject audio

* In the *Device List*, choose a device marked with the microphone icon and launch a *Manual Session*.

image:bluetooth-audio-devices.png[width=768px,alt="Filtered device list showing Pixel 7 Pro and Pixel 7 with audio capability icons"]

* In the session, open *Inject Media* and select the *Audio Injection* tab. You’ll see an empty state inviting you to *click* or *drag-and-drop* a file. The *Inject* button is disabled until a file is uploaded.

image:bluetooth-audio-injection-empty.png[width=768px,alt="Audio injection screen showing no file selected before injection"]

* Select the upload area to open your system file browser (e.g., *Downloads*). Highlight your audio file (e.g., `sample.wav`) and select *Open*.

image:bluetooth-audio-file-finder.png[width=768px,alt="Finder window highlighting a selected WAV file ready for injection"]

* Open the target application on the device (e.g., a voice recorder app or phone app) so it’s ready to capture the injected audio.

image:bluetooth-audio-injection-uploaded.png[width=768px,alt="Audio injection screen with sample.wav file ready and inject button active"]

* Choose *Inject*. The panel shows the status *Injecting…* above the purple action bar. On the device screen, the waveform and recording timer confirm playback is occurring.

image:bluetooth-audio-injecting.png[width=768px,alt="Manual session screen showing the audio file sample.wav being injected into a Pixel 7 Pro"]

* When the injection finishes, the session shows a confirmation banner: `Audio file [file_name] has been injected successfully.`

== Reviewing session artifacts

After the session, open xref:session-explorer:manage-sessions.adoc[Session Overview,window=read-later]. Under *Audio tracks*, you can download:

* *Input audio*: the uploaded audio tracks.
* *Injected audio*: the audio tracks that were injected to the device.
* *Output audio*: the output audio tracks.

image:bluetooth-audio-session-overview.png[width=768px,alt="Session summary showing audio tracks injected and details about the device and session"]

== Tips & best practices

* *Filter devices with bluetooth audio enabled*
+
Filter only devices with bluetooth audio enabled by selecting *Audio* -> *Supported* in the search bar.

image:bluetooth-audio-device-filter.png[width=768px,alt="Device filter showing the Audio capability filter with Supported selected"]

* *Verify format before upload.*
+
Convert the audio file to *WAV (PCM 16-bit), OGG, or MP3* and keep the file size under *30 MB*.
* *Stage the device app first.*
+
Open the recording or target app and get it ready *before* clicking *Inject*.

== Troubleshooting

[cols="1,2"]
|===
| Issue | Resolution

| *Inject button is disabled* | Ensure a file is uploaded and that it meets the required format (WAV, OGG, or MP3) and size (≤30 MB).
| *No inject button* | Make sure the device has bluetooth audio enabled. Contact Kobiton support for more details on enabling bluetooth audio.
| *No audio recorded in the app* a|
* Unmute the microphone.

* Make sure the target app is actively recording or listening when you click Inject.

* Verify device volume and any in-app input settings.

* For Android apps: Some voice recording apps require setting Bluetooth as the audio input in system settings.
|===

== Important notes

* Bluetooth bridge server limits: One Mac mini host can support one Bluetooth bridge server, with up to two devices.

* Audio output:

** Supported: HFP (calls, Google Meet, Zoom)

** Not supported: A2DP (YouTube, music, media playback)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 25 additions & 2 deletions docs/modules/session-explorer/pages/manage-sessions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ xref:session-explorer:search-for-a-session.adoc[Search for a session], then sele

image:search-session-id-closeup.png[width=1000,alt="Search for a session ID"]

From the Session Overview window, users can view below mentioned information.
From the Session Overview window, users can view more details and manage the session.

image:session-overview-context copy.png[width=1000,alt="A context to Session Overview"]

Expand Down Expand Up @@ -68,4 +68,27 @@ The Applitools Eyes status is also displayed from the session list. You can ente

image:session-explorer:applitools-session-list.png[width:500,alt="The Applitools Eyes status in Session Overview"]

====
====

=== Download audio tracks and metadata

[IMPORTANT]
====
Follow xref:manual-testing:local-devices/inject-audio.adoc[this guide,window=read-later] for more details on how to use audio injection.
====

After executing an automation session (https://github.com/kobiton/samples/tree/master/audio[sample code,window=read-later]) or a xref:manual-testing:local-devices/inject-audio.adoc[manual session,window=read-later] with bluetooth audio enabled, you can download the audio tracks and metadata under the *Download Audio Tracks* section:

* *Input audio*: the uploaded audio tracks.
* *Injected audio*: the audio tracks that were injected to the device.
* *Output audio*: the output audio tracks.

[NOTE]

====

* Audio output capture is supported only for calls, not media apps like YouTube.

====

image:session-explorer:audio-tracks-download.png[width=500,alt="The Download Audio Tracks options in Session Explorer"]
Loading