<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain-semi-automated-test _class='hudson.plugins.git.util.Build'><buildNumber>4</buildNumber><marked><SHA1>540b9d0d6b4034582a4b989446fbaaf129415f16</SHA1><branch><SHA1>540b9d0d6b4034582a4b989446fbaaf129415f16</SHA1><name>refs/remotes/origin/main-semi-automated-test</name></branch></marked><revision><SHA1>540b9d0d6b4034582a4b989446fbaaf129415f16</SHA1><branch><SHA1>540b9d0d6b4034582a4b989446fbaaf129415f16</SHA1><name>refs/remotes/origin/main-semi-automated-test</name></branch></revision></refsremotesoriginmain-semi-automated-test></buildsByBranchName><lastBuiltRevision><SHA1>540b9d0d6b4034582a4b989446fbaaf129415f16</SHA1><branch><SHA1>540b9d0d6b4034582a4b989446fbaaf129415f16</SHA1><name>refs/remotes/origin/main-semi-automated-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://devserver3.ustadmobile.com/jenkins/view/all/job/main-semi-automated-test-end-to-end/lastSuccessfulBuild/artifact</artifactsUrl><changesUrl>https://devserver3.ustadmobile.com/jenkins/view/all/job/main-semi-automated-test-end-to-end/changes</changesUrl><displayUrl>https://devserver3.ustadmobile.com/jenkins/view/all/job/main-semi-automated-test-end-to-end/lastSuccessfulBuild/</displayUrl><testsUrl>https://devserver3.ustadmobile.com/jenkins/view/all/job/main-semi-automated-test-end-to-end/lastSuccessfulBuild/testReport</testsUrl></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>app-android-debug.apk</displayPath><fileName>app-android-debug.apk</fileName><relativePath>app-android/build/outputs/apk/debug/app-android-debug.apk</relativePath></artifact><artifact><displayPath>app-android-release.apk</displayPath><fileName>app-android-release.apk</fileName><relativePath>app-android/build/outputs/apk/release/app-android-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>app-android/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20261005_131405.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20261005_131405.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20261005_131405.zip</relativePath></artifact><building>false</building><displayName>#4</displayName><duration>1642708</duration><estimatedDuration>1613042</estimatedDuration><fullDisplayName>main-semi-automated-test-end-to-end #4</fullDisplayName><id>4</id><inProgress>false</inProgress><keepLog>false</keepLog><number>4</number><queueId>352</queueId><result>SUCCESS</result><timestamp>1791190007204</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/main-semi-automated-test-end-to-end/4/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-cli/src/main/java/world/respect/clitools/domain/testlaunchableapp/TestLaunchableAppUseCaseImpl.kt</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/domain/testlaunchableapp/RunLearningUnitTestUseCase.kt</affectedPath><affectedPath>app-cli/src/main/resources/flows/test_launchable_app_main.yaml</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/OpenEelCLI.kt</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/domain/testlaunchableapp/GetXapiStatementsFromLearningUnitTestUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>540b9d0d6b4034582a4b989446fbaaf129415f16</commitId><timestamp>1791189992000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Minor refinements for semi automated launchable app tester.

1) Log all xAPI statements: the tool still checks to make sure an xapi completed statement with the expected activity id is received, but saves all statements to assist debugging.
2) Show error if maestro command is not found.
3) Log learning unit manifest url on console output.
4) Use Json pretty print when saving statement logs.
</comment><date>2026-10-05 09:46:32 +0100</date><id>540b9d0d6b4034582a4b989446fbaaf129415f16</id><msg>Minor refinements for semi automated launchable app tester.</msg><path><editType>edit</editType><file>app-cli/src/main/java/world/respect/clitools/domain/testlaunchableapp/TestLaunchableAppUseCaseImpl.kt</file></path><path><editType>edit</editType><file>app-cli/src/main/resources/flows/test_launchable_app_main.yaml</file></path><path><editType>edit</editType><file>app-cli/src/main/java/world/respect/clitools/OpenEelCLI.kt</file></path><path><editType>edit</editType><file>app-cli/src/main/java/world/respect/clitools/domain/testlaunchableapp/GetXapiStatementsFromLearningUnitTestUseCase.kt</file></path><path><editType>edit</editType><file>app-cli/src/main/java/world/respect/clitools/domain/testlaunchableapp/RunLearningUnitTestUseCase.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName><id>mike</id></culprit></freeStyleBuild>