Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
11d09a9
blurb
madison-oates Oct 17, 2024
5d1b94a
UI updates for session explorer and overview
madison-oates Oct 21, 2024
4b01f6d
image clarity updates
madison-oates Oct 21, 2024
e081694
minor updates
madison-oates Oct 21, 2024
2860064
update
madison-oates Oct 21, 2024
51e57af
jira integration
madison-oates Oct 28, 2024
b656507
image updates
madison-oates Oct 28, 2024
a6bdd30
edits applied
madison-oates Nov 8, 2024
7b1d8a2
KOB-47667 add group actions in appium script and session explorer tim…
tungmhoang Nov 13, 2024
b9c130f
KOB-47667 add navigation for new doc
tungmhoang Nov 13, 2024
4c463d9
KOB-47667 small fixes
tungmhoang Nov 13, 2024
1623bc5
KOB-47666 add session tags
tungmhoang Nov 15, 2024
bb0b4ad
KOB-47666 complete sesssion tags
tungmhoang Nov 15, 2024
68b2b64
resolve conflict
tungmhoang Apr 2, 2025
016bbf8
address feedbacks
tungmhoang Apr 3, 2025
b622716
Merge branch 'main' into 4.16-session-explorer-update
tungmhoang Jun 2, 2025
0d06738
KOB-47666 addressed feedbacks regarding action tagging
tungmhoang Jun 2, 2025
94f8dc2
KOB-46858 add Test Result Analysis guide
tungmhoang Jun 3, 2025
d2ab15b
KOB-46858 continue with Test Result Analysis
tungmhoang Jun 4, 2025
d72973b
KOB-46858 continue with Test Result Analysis
tungmhoang Jun 4, 2025
557573b
KOB-46858 continue with Test Result Analysis
tungmhoang Jun 4, 2025
06cb7d0
KOB-46858 continue with Test Result Analysis
tungmhoang Jun 4, 2025
cd828aa
KOB-46858 fix typo and grammar error after prompting
tungmhoang Jun 5, 2025
1c7655f
test coderabbit ai
tungmhoang Jun 5, 2025
070bdd0
addressed comments from coderabbit AI
tungmhoang Jun 5, 2025
e2dbb5a
addressed comments from coderabbit AI
tungmhoang Jun 5, 2025
4049b2b
Update search-for-a-session.adoc
erincbailey Jun 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/modules/automation-testing/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
** xref:automation-testing:scripting/add-image-injection-to-appium-script.adoc[]
** xref:automation-testing:scripting/run-applitools-eyes-script.adoc[]
** xref:automation-testing:scripting/obfuscate-private-data-in-appium-script.adoc[]
** xref:automation-testing:scripting/add-action-groups-in-appium-script.adoc[]
** xref:automation-testing:scripting/migrate-to-java-client-9_2_2.adoc[]
** xref:automation-testing:scripting/launch-work-profile-app-android.adoc[]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,4 @@ public static DesiredCapabilities getIPhone11ProIOS146DesiredCapabilities() {
When you're finished, save your changes. Now `flexCorrect` will automatically select the correct elements, even when you run your script on different devices.

[NOTE]
After a session, you can check xref:session-explorer:manage-sessions.adoc[how many elements were corrected].
After a session, you can check xref:session-explorer:analytics/review-test-result-analysis.adoc#_test_result_analysis_overview[how many elements were corrected,window=read-later].
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ Use one or more xref:session-explorer:search-for-a-session.adoc#_search_for_a_se

Once you find a session, you can copy its session ID from the *ID* column directly, or select the session ID to open the session overview and copy the session ID from there. In the session overview, you can also verify the contents of the session before you use the session ID anywhere.

image:automation-testing:session-overview-view-id-context.png[width=1000,alt="Session Overview to verify the content of the session"]
image:session-explorer:session-overview-context.png[width=1000,alt="Session Overview to verify the content of the session"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
= Add action groups in Appium script
:navtitle: Add action groups in Appium script

To enhance test analysis, you can group related Appium actions. Grouping actions can help in troubleshooting by marking specific phases of a test and aligning them with your testing objectives.

== Action group Appium setting

To add actions within your script, use the following Appium setting to assign actions to a specific group.

[options="header"]
|=======================
|Appium setting | Description | Default value
| `kobiton:setGroup` | Set this field to any string value to assign actions to a group, using that value as the group name. | `''` (blank)
|=======================

== Add action group

Before starting a test action, use the `Update Settings` Appium command to set `'kobiton:setGroup'` to a string.

.Example (JavaScript)
[source,javascript]

await driver.updateSettings({'kobiton:setGroup': 'Test case A5423'})

Using the `updateSettings` command, all actions will be added to the group. To assign subsequent actions to a different group, execute the command again with the new group name.

== Examples

Below is a complete JavaScript example using `wd` that demonstrates how actions are organized into two distinct groups: `Test login` and `Test home page`.

.Example (JavaScript)
[source,javascript]

----
import 'babel-polyfill'
import 'colors'
import wd from 'wd'
import {assert} from 'chai'

const username = process.env.KOBITON_USERNAME
const apiKey = process.env.KOBITON_API_KEY
const deviceUdid = process.env.KOBITON_DEVICE_UDID
const protocol = 'https'
const host = 'api.kobiton.com'

if (!username || !apiKey || !deviceUdid) {
console.log('Error: Environment variables KOBITON_USERNAME, KOBITON_API_KEY or KOBITON_DEVICE_UDID are required to execute script')
process.exit(1)
}

const kobitonServerConfig = {protocol, host, auth: `${username}:${apiKey}`}

const desiredCaps = {
sessionName: 'Automation test action groups',
sessionDescription: 'An automation test with action groups',
udid: deviceUdid,
noReset: true,
fullReset: false,
browserName: 'chrome',
autoWebview: 'true',
}

let driver

function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms))
}

describe('Android Web sample', () => {
before(async () => {
driver = wd.promiseChainRemote(kobitonServerConfig)

driver.on('status', (info) => {
console.log(info.cyan)
})
driver.on('command', (meth, path, data) => {
console.log(' > ' + meth.yellow, path.grey, data || '')
})
driver.on('http', (meth, path, data) => {
console.log(' > ' + meth.magenta, path, (data || '').grey)
})

try {
await driver.init(desiredCaps)
}
catch (err) {
if (err.data) {
console.error(`init driver: ${err.data}`)
}
throw err
}
})

it('should perform a simple login', async () => {
await driver.settings()

//Start adding actions to group 'Test login'
await driver.updateSettings({'kobiton:setGroup': 'Test login'})

// Send username and password to log in.
await driver.get('https://the-internet.herokuapp.com/login')
.waitForElementByName('username')
.sendKeys('tomsmith')
.sleep(1000)
.waitForElementByName('password')
.sendKeys('SuperSecretPassword!')
.sleep(3000)
.keys(wd.SPECIAL_KEYS.Enter)

// Login completes. Start adding actions to group 'Test home page'
await driver.updateSettings({'kobiton:setGroup': 'Test home page'})
await driver.settings()

await driver.get('https://the-internet.herokuapp.com/')
await sleep(2000)
await driver.title()

})

after(async () => {
if (driver != null) {
try {
await driver.quit()
}
catch (err) {
console.error(`quit driver: ${err}`)
}
}
})
})
----

== Grouped actions in Session Explorer

You can review grouped actions in the xref:session-explorer:analytics/use-the-session-timeline.adoc#_action_groups_timeline[Session Explorer timeline].

== Limitations/Notes

* Only supported in Xium and Appium 2 Basic automation sessions.

* After adding action group, setting the group name to empty assigns the subsequent commands to the previous group.
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ Learn how to generate an Appium script from a manual session, so you can start b
[#_export_your_script]
== Export your script

After creating the baseline session, search for your session, open the session overview, and select *Automated test case*.
After creating the baseline session, search for your session, open Session Explorer, and select *Convert to Test Case*.

image:automation-testing:export-appium-script-context.png[width=1200, alt="The automated test case for the selected session."]
image:test-management:convert-test-case.png[width=1200, alt="The Convert to Test Case for the selected session."]

Next, select the *Export Appium Script* icon. If you don't see an icon, check if your session xref:test-management:remediation/index.adoc[requires remediation].

Expand Down Expand Up @@ -44,4 +44,4 @@ This section lists all programming languages and test frameworks available for g
* Java - TestNG
* Java - JUnit
* NodeJS - Mocha
* C# - NUnit
* C# - NUnit
Binary file not shown.
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/devices/images/select-sessions-closeup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
After your session, select *Sessions*.
In Kobiton, select *Sessions*.

image:select-sessions-closeup.png[width=1000,alt="Select Sessions tab"]
image:session-explorer:select-sessions-closeup.png[width=150,alt="Select Sessions tab"]

Search for your session, then select the *Session ID*.
xref:session-explorer:search-for-a-session.adoc[Find a session], then select the session in the search result.

[NOTE]
Learn more about xref:session-explorer:search-for-a-session.adoc[searching for a session].
image:session-explorer:search-session-id-closeup.png[width=1000,alt="Search for a session ID"]

image:search-your-session-id-closeup.png[width=1000,alt="Search for your session ID"]
Once you select your session, Session Explorer appears.

Select *Explorer*.
image:session-explorer:select-explorer-context.png[width=1000,alt="Select Explorer tab"]

image:select-explorer-context.png[width=1000,alt="Select Explorer tab"]
From the dropdown, choose *Response Time Analysis*.

Select the dropdown and choose *Observer Request / Response Payloads* or *Analyze Response Times*.

image:select-analyse-response-times-context.png[width=1000,alt="Select Observe Request/ Response Payloads or Analyze Response Times"]
image:devices:select-analyze-response-time-context.png[width=1000,alt="Select Response Time Analysis"]

Now you can xref:session-explorer:analytics/review-network-payload-data.adoc[review network payload data] in Session Explorer.
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/integrations/images/jira-create-ticket-context.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.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ image:session-explorer:search-bar-session-criteria-context.png[width=1000,alt="S

Select a session.

image:session-explorer:session-search-context.png[width=1000,alt="A context of Session page in Kobiton portal"]

If you have not logged into Jira, select **Jira Integration** from **Session Overview** or **Session Explorer**.
If you have not logged into Jira, select **Jira Integration** from **Session Explorer**.

image:jira-create-ticket-integration.png[width=500,alt="The Jira Integration button in Session Overview"]

Expand All @@ -27,7 +25,7 @@ After logging in, select **Jira ticket**, then **Create** in **Session Overview*

image:integrations:jira-create-ticket-button.png[width="500",alt="Select Jira ticket and then Create in Session Overview"]

Fill out the *Project*, *Issue Type*, and *Title*. A link to the session and other session details are prepopulated in the Description.
Fill out the *Project*, *Issue Type*, and *Title*. A link to the session and other session details are prepopulated in the *Description*.

image:integrations:jira-create-ticket-context.png[width="500",alt="Fill out required fields in the create ticket screen then select Create"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ image:session-explorer:search-session-id-closeup.png[width=1000,alt="Session sea
[NOTE]
For more information, see xref:session-explorer:session-metadata.adoc[].

Select *Automated Test Case*.
Select *Convert to Test Case*. If you've already created a test case for the session, select *View Test Case*.

image:scriptless-automation:scriptless-automated-test-case-button.png[width=1000,alt="The session overview page with the Automated Test Case button"]
image:test-management:convert-test-case.png[width=1000,alt="The Session Explorer page with the Convert to Test Case button"]

Select *Rerun*.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Learn about the requirements to convert a manual or automation session into Auto

// tag::supported-actions[]

Only certain actions are supported for scriptless baseline sessions. Refer to the following table while running your tests:
Only certain actions are supported for Scriptless baseline sessions. Refer to the following table while running your tests:

[cols="1,1,1,1"]
|===
Expand Down Expand Up @@ -75,7 +75,7 @@ _Only English is supported, excluding the emoji keyboard._
|
|

|Pin to zoom
|Pinch to zoom
|
|
|
Expand Down Expand Up @@ -123,4 +123,4 @@ The following requirements pertain to the application(s) installed and/or opened

* Must not contain CAPTCHA verification flow.

* Must enable `.setWebContentDebuggingEnable` for Android apps. If this configuration is disabled, Kobiton cannot access the HTML source of the application. Visit https://developer.chrome.com/docs/devtools/remote-debugging/webviews/#configure_webviews_for_debugging[this link] for more information.
* Must enable `.setWebContentDebuggingEnable` for Android apps. If this configuration is disabled, Kobiton cannot access the HTML source of the application. Visit https://developer.chrome.com/docs/devtools/remote-debugging/webviews/#configure_webviews_for_debugging[this link] for more information.
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/session-explorer/images/attributes-context.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/session-explorer/images/battery-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.
Binary file modified docs/modules/session-explorer/images/color-contrast-context.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.
Binary file modified docs/modules/session-explorer/images/copy-crash-log-context.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/session-explorer/images/copy-link-closeup.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/session-explorer/images/cpu-closeup.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/session-explorer/images/date-range-context.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 not shown.
Binary file modified docs/modules/session-explorer/images/download-inventory-context.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.
Binary file not shown.
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/session-explorer/images/hover-attribute-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.
Diff not rendered.
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/jump-to-step-npc-closeup.png
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/logs-closeup.png
Binary file modified docs/modules/session-explorer/images/logs-last-mile-speed.png
Binary file modified docs/modules/session-explorer/images/memory-closeup.png
Diff not rendered.
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/network-closeup.png
Binary file modified docs/modules/session-explorer/images/observe-request.png
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/previous-next-closeup.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/search-bar-closeup.png
Binary file modified docs/modules/session-explorer/images/select-explorer-context.png
Binary file modified docs/modules/session-explorer/images/select-red-dots-context.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/session-search-context.png
Binary file modified docs/modules/session-explorer/images/session-tags-context.png
Diff not rendered.
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/view-crash-logs-context.png
Binary file modified docs/modules/session-explorer/images/view-test-step-context.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file modified docs/modules/session-explorer/images/zoom.png
1 change: 1 addition & 0 deletions docs/modules/session-explorer/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* xref:session-explorer:manage-sessions.adoc[]

* xref:analytics/index.adoc[]
** xref:session-explorer:analytics/review-test-result-analysis.adoc[]
** xref:session-explorer:analytics/use-the-session-timeline.adoc[]
** xref:session-explorer:analytics/reinspect-appium-elements.adoc[]
** xref:session-explorer:analytics/review-network-payload-data.adoc[]
Expand Down
9 changes: 7 additions & 2 deletions docs/modules/session-explorer/pages/analytics/index.adoc
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
= Session Explorer analytics
:navtitle: Analytics

You can use Session Explorer to reinspect Appium elements, review network payload data, use the session timeline, and more.
Kobiton's Session Explorer provides powerful insights into your mobile testing sessions. You can use Session Explorer to
inspect Appium elements, review network payload data, analyze detailed device logs, and
more. With a session timeline and video replays for step-by-step troubleshooting, it enables faster issue
identification and efficient app performance optimization.


== In this section

* xref:session-explorer:analytics/review-test-result-analysis.adoc[]
* xref:session-explorer:analytics/use-the-session-timeline.adoc[]
* xref:session-explorer:analytics/reinspect-appium-elements.adoc[]
* xref:session-explorer:analytics/review-network-payload-data.adoc[]
* xref:session-explorer:analytics/review-system-metrics.adoc[]
* xref:session-explorer:analytics/review-crash-logs.adoc[]
* xref:session-explorer:analytics/review-device-logs.adoc[]
* xref:session-explorer:analytics/review-device-logs.adoc[]
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ image:session-explorer:refresh-inventory-closeup.png[width=500,alt="A closeup to

By default, WebView is set to `NATIVE_APP`. To filter the XML hierarchy by a different WebView, select the dropdown and choose a different option.

image:session-explorer:webview-closeup.png[width=500,alt="A closeup to webview with default is NATIVE_APP"]

To filter the XML hierarchy by a label, xPath, or xPath attribute, enter your string into the search bar.

image:session-explorer:search-bar-closeup.png[width=500,alt="A closeup to search bar in the Appium Inspector"]
Expand All @@ -54,6 +52,6 @@ image:session-explorer:hover-attribute-closeup.png[width=500,alt="Hover over a s

=== Download all XML data

To download the current XML hierarchy as an `.xml` file, select the *Download Inventory* icon.
To download the current XML hierarchy as an `.xml` file, select the *Download inventory* icon.

image:session-explorer:download-inventory-context.png[width=1000,alt="A context to Download inventory of Appium Inspector"]
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,20 @@ Learn how to review crash logs after your test session so you can troubleshoot c

include::session-explorer:partial$launch-session-explorer.adoc[]

[#_review_the_crash_logs]
== Review the crash logs

To review crash logs, select *View Crash Logs*.
To review crash logs:

1. Select the *Crash* validation in the *Test Results Analysis*.
2. Select a *red marker* from the timeline.
3. Choose *View Details*.

image:session-explorer:view-crash-logs-context.png[width=1000,alt="Users can view crash logs from Session Explorer"]

To copy the logs to your clipboard, select the *Copy* icon.
To download the logs, select the *Download* icon.

image:session-explorer:copy-crash-log-context.png[width=1000,alt="Crash log to be copied"]
image:session-explorer:copy-crash-log-context.png[width=1000,alt="Download the crash log"]

[NOTE]
You can also xref:session-explorer:manage-sessions.adoc#_download_session_logs[download device or crash logs] from the session overview.
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@ Learn how to review device logs after your test session so you can search for sp

include::session-explorer:partial$launch-session-explorer.adoc[]

Select *Review Device Logs*.
Select *Device Logs*.

image:session-explorer:launch-session-explorer-context.png[width=1000,alt="A context to Session Explorer launched"]
image:session-explorer:launch-device-logs.png[width=1000,alt="Device Logs selected in Session Explorer"]

== Review the device logs

=== Filter the device logs

By default, the log filter is set to *All*. To filter the logs by a message type, select the dropdown and choose *Notice*, *Info*, *Warning*, or *Error*.
By default, the log filter is set to *All*. To filter the logs by a message type, select the dropdown and choose *Debug*, *Info*, *Verbal*, *Warning*, or *Error*.

image:session-explorer:review-device-logs-filter-closeup.png[width=500,alt="A closeup to the filter of Review Device Log feature"]
image:session-explorer:review-device-logs-filter-closeup.png[width=250,alt="A closeup to the filter of Review Device Log feature"]

To filter the logs by a specific message, enter your string into the search bar.

image:session-explorer:review-device-logs-search-closeup.png[width=500,alt="A closeup to the filter of Review Device Log feature"]
image:session-explorer:review-device-logs-search-closeup.png[width=1000,alt="A closeup to the filter of Review Device Log feature"]

=== Copy device logs

Expand Down
Loading
Loading