{
  "sourceReportPath": "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/index_2026-04-21_08-14-56.html",
  "generatedAt": "2026-04-21T09:47:42.255782Z",
  "summary": {
    "total": 49,
    "passed": 29,
    "failed": 20,
    "skipped": 0
  },
  "tests": [
    {
      "name": "Onboarding",
      "status": "PASS",
      "startTime": "04.21.2026 8:15:36 am",
      "endTime": "04.21.2026 8:15:39 am",
      "duration": "00:00:02:504",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:15:39 am",
          "details": "Onboarding - Verify splash Activity is in foreground"
        },
        {
          "status": "PASS",
          "timestamp": "8:15:39 am",
          "details": "Onboarding - Verify transition from Splash to MainActivity"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "login",
      "status": "PASS",
      "startTime": "04.21.2026 8:16:01 am",
      "endTime": "04.21.2026 8:16:29 am",
      "duration": "00:00:28:388",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:16:07 am",
          "details": "🧪 Login instruction should be \u0027Login with your Ghana mobile number"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:07 am",
          "details": "🧪 Verifying that the Privacy Policy is Visible on the Page"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:07 am",
          "details": "👆Tap on Privacy Policy Page"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:19 am",
          "details": "🧪Verify that the Privacy Policy is Visible on the Page"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:19 am",
          "details": "👆Go Back to Login Screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:20 am",
          "details": "👆 tapping on phone number field"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:22 am",
          "details": "⌨️ Entering \u00270557036211\u0027 as the Phone Number"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:22 am",
          "details": "👆Tap on clear button"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:22 am",
          "details": "⌨️ Entering \u00270557036211\u0027 as the Phone Number"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:24 am",
          "details": "👆 Tapping on Login button on the login screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:25 am",
          "details": "🧪 The account number \u0027233557036211\u0027 should be visible on OTP Screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:27 am",
          "details": "🧪 verifying that Go Back Button is Visible on Screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:16:29 am",
          "details": "👆 Tapping on OTP textfield"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Notifications",
      "status": "PASS",
      "startTime": "04.21.2026 8:16:57 am",
      "endTime": "04.21.2026 8:17:36 am",
      "duration": "00:00:38:619",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:17:08 am",
          "details": "👆Tap on Notification Icon on the top of the Home screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:17:34 am",
          "details": "👆 Tap on Various Types of Notifications 4 times"
        },
        {
          "status": "PASS",
          "timestamp": "8:17:35 am",
          "details": "👆Tap on Back Button Page"
        },
        {
          "status": "PASS",
          "timestamp": "8:17:36 am",
          "details": "👆Tap on Drop Down Button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "SeperateMeter",
      "status": "PASS",
      "startTime": "04.21.2026 8:17:59 am",
      "endTime": "04.21.2026 8:20:40 am",
      "duration": "00:02:41:514",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:18:08 am",
          "details": "👆 Tapping on Service Request Button on Homepage"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:09 am",
          "details": "👆 verifying that the request for ECG section of the service request page is visible and tapping on it"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:10 am",
          "details": "👆 Tapping on New Meter Connection Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:11 am",
          "details": "🧪 Verifying that close button is visible and tapping on close button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:12 am",
          "details": "👆 Tapping on New Meter Connection Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:13 am",
          "details": "🧪 Checking if service connection header is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:13 am",
          "details": "🧪 Checking if the enter service request ID button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:13 am",
          "details": "👆 Tapping on the New Meter Connection Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:15 am",
          "details": "👆 Tapping on the Select Request Type Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:16 am",
          "details": "🧪 Verifying that the separate meter button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:16 am",
          "details": "🧪 Verifying that the additional load button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:17 am",
          "details": "👆 tap on the Seperate Meter Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:17 am",
          "details": "👆 Tapping on Confirm Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:18 am",
          "details": "👆 Tapping on Select Request Category Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:19 am",
          "details": "👆 Tapping on the random service delivery option between standard, express and premuim service"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:20 am",
          "details": "👆 Tapping on Confirm Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:21 am",
          "details": "👆 tap on \u0027Sam N.A Ayeh-Datey (17307856)\u0027 as Meter for new Seperate Meter Request"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:23 am",
          "details": "👆 Tapping on Continue Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:23 am",
          "details": "👆 Tap on Purpose of Service Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:24 am",
          "details": "🧪 verifying that the service type header button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:24 am",
          "details": "🧪 Checking if the Three Phase Service Button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:25 am",
          "details": "👆 Tapping on the single phase service button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:26 am",
          "details": "👆 Tapping on Confirm Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:27 am",
          "details": "⌨️ Entering purpose of service into text field \u0027this is a test\u0027"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:29 am",
          "details": "👆 Tapping on Continue Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:29 am",
          "details": "⌨️ Entering 7 as the house number"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:32 am",
          "details": "⌨️ Enter Testing as Area"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:35 am",
          "details": "⌨️ Enter Kubekrom as Area"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:36 am",
          "details": "⌨️ Entering \u0027GM2452800\u0027 as the GPS and Scroll"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:37 am",
          "details": "👆 Tapping on Attach Photos Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:43 am",
          "details": "👆 Tapping on Shutter Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:55 am",
          "details": "Tapping on Done Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:18:59 am",
          "details": "👆 tapping on Back Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:02 am",
          "details": "👆 Tapping on Continue Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:06 am",
          "details": "⌨️ Entering ID Number Field \u0027Gha-713382529-6\u0027"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:09 am",
          "details": "👆 Tapping on Issue Date Field"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:10 am",
          "details": "👆 Tapping on OK Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:13 am",
          "details": "👆 Tapping on Expiry Date Field"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:15 am",
          "details": "👆 Tapping on OK Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:16 am",
          "details": "👆 Tap DOB Date Field"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:18 am",
          "details": "👆 Tapping on OK Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:21 am",
          "details": "scroll vertically"
        },
        {
          "status": "PASS",
          "timestamp": "8:19:54 am",
          "details": "👆 Tapping to upload Ghana Card front image"
        },
        {
          "status": "PASS",
          "timestamp": "8:20:32 am",
          "details": "👆 Tapping to upload Ghana Card back image"
        },
        {
          "status": "PASS",
          "timestamp": "8:20:38 am",
          "details": "👆 Tapping on Continue Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:20:40 am",
          "details": "👆 Tapping on Submit Button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "seeDetailsTest",
      "status": "FAIL",
      "startTime": "04.21.2026 8:21:15 am",
      "endTime": "04.21.2026 8:21:52 am",
      "duration": "00:00:36:625",
      "steps": [
        {
          "status": "FAIL",
          "timestamp": "8:21:48 am",
          "details": "👆Tap on Meters navigation button"
        },
        {
          "status": "FAIL",
          "timestamp": "8:21:48 am",
          "details": "org.openqa.selenium.TimeoutException: Expected condition failed: waiting for element to be clickable: Located by By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Meters\")}) (tried for 10 second(s) with 500 milliseconds interval)"
        }
      ],
      "error": "org.openqa.selenium.TimeoutException: Expected condition failed: waiting for element to be clickable: Located by By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Meters\")}) (tried for 10 second(s) with 500 milliseconds interval)",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/seeDetailsTest.png"
      ]
    },
    {
      "name": "TransactionRequestStatementTest",
      "status": "FAIL",
      "startTime": "04.21.2026 8:22:23 am",
      "endTime": "04.21.2026 8:23:14 am",
      "duration": "00:00:51:432",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:22:40 am",
          "details": "👆Tap on Transactions navigation button"
        },
        {
          "status": "FAIL",
          "timestamp": "8:23:10 am",
          "details": "👆Tap on Request Statement Button"
        },
        {
          "status": "FAIL",
          "timestamp": "8:23:10 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Request for Statement on a Meter Request statement on specific meters\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Request for Statement on a Meter Request statement on specific meters\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/TransactionRequestStatementTest.png"
      ]
    },
    {
      "name": "meterStatementTest",
      "status": "FAIL",
      "startTime": "04.21.2026 8:23:41 am",
      "endTime": "04.21.2026 8:24:39 am",
      "duration": "00:00:57:656",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:23:58 am",
          "details": "👆 Tap on Get Help"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:01 am",
          "details": "👆 Tap on View Past/Ongoing Request"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:03 am",
          "details": "👆Tap on Completed Request card"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:08 am",
          "details": "🧪 Verify \u0027Request for Statement on a Meter – Status of Request\u0027 is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:08 am",
          "details": "🧪 Verify \u0027September 03, 2025 – Request Submitted\u0027 card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:08 am",
          "details": "🧪 Verify \u0027September 03, 2025 – Statement Generated\u0027 card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:08 am",
          "details": "👆 Tap on View Statement"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:10 am",
          "details": "🧪 Verify that \u0027Meter Statement\u0027 Header is displayed"
        },
        {
          "status": "PASS",
          "timestamp": "8:24:11 am",
          "details": "👆 tap on Download PDF Button Visible on Screen"
        },
        {
          "status": "FAIL",
          "timestamp": "8:24:31 am",
          "details": "java.lang.AssertionError: Expected the statement view to remain available after tapping Download PDF. expected [true] but found [false]"
        }
      ],
      "error": "java.lang.AssertionError: Expected the statement view to remain available after tapping Download PDF. expected [true] but found [false]",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/meterStatementTest.png"
      ]
    },
    {
      "name": "AdditionalLoad",
      "status": "PASS",
      "startTime": "04.21.2026 8:25:39 am",
      "endTime": "04.21.2026 8:25:39 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "TemporarySupply",
      "status": "FAIL",
      "startTime": "04.21.2026 8:26:24 am",
      "endTime": "04.21.2026 8:29:01 am",
      "duration": "00:02:37:007",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:26:35 am",
          "details": "👆 Tapping on Service Request Button on Homepage"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:36 am",
          "details": "👆 verifying that the request for ECG section of the service request page is visible and tapping on it"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:38 am",
          "details": "👆 Tapping on New Meter Connection Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:40 am",
          "details": "🧪 Verifying that close button is visible and tapping on close button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:41 am",
          "details": "👆 Tapping on New Meter Connection Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:42 am",
          "details": "🧪 Checking if service connection header is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:42 am",
          "details": "🧪 Checking if the enter service request ID button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:42 am",
          "details": "👆 Tapping on the New Meter Connection Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:43 am",
          "details": "👆 Tapping on the Select Request Type Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:44 am",
          "details": "🧪 Verifying that the separate meter button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:44 am",
          "details": "🧪 Verifying that the additional load button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:45 am",
          "details": "👆 Tap on temporary supply button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:46 am",
          "details": "👆 Tapping on Confirm Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:47 am",
          "details": "👆 Tapping on Select Request Category Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:47 am",
          "details": "👆 Tapping on the random service delivery option between standard, express and premuim service"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:49 am",
          "details": "👆 Tapping on Confirm Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:49 am",
          "details": "👆 Tapping on Continue Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:50 am",
          "details": "👆 Tap on Purpose of Service Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:51 am",
          "details": "🧪 verifying that the service type header button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:52 am",
          "details": "🧪 Checking if the Three Phase Service Button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:53 am",
          "details": "👆 Tapping on the single phase service button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:55 am",
          "details": "👆 Tapping on Confirm Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:58 am",
          "details": "⌨️ Entering purpose of service into text field \u0027this is a test\u0027"
        },
        {
          "status": "PASS",
          "timestamp": "8:26:59 am",
          "details": "👆 Tapping on Continue Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:02 am",
          "details": "⌨️ Entering 7 as the house number"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:04 am",
          "details": "👆 Tapping on select region button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:06 am",
          "details": "👆 Tapping on select region button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:09 am",
          "details": "👆 Tapping on Tema as Region"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:11 am",
          "details": "👆 tapping on select district field"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:12 am",
          "details": "👆 tapping and Selecting Tema North as the District"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:14 am",
          "details": "⌨️ Entering \u0027Testing\u0027 as the Area"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:15 am",
          "details": "⌨️ Entering \u0027Kubekrom\u0027 as Landmark"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:16 am",
          "details": "⌨️ Entering \u0027GM2452800\u0027 as the GPS and Scroll"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:17 am",
          "details": "scroll vertically"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:17 am",
          "details": "👆 Tapping on Attach Photos Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:31 am",
          "details": "👆 Tapping on Shutter Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:43 am",
          "details": "Tapping on Done Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:47 am",
          "details": "👆 tapping on Back Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:50 am",
          "details": "👆 Tapping on Continue Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:27:56 am",
          "details": "⌨️ Entering ID Number Field \u0027Gha-713382529-6\u0027"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:05 am",
          "details": "👆 Tapping on Issue Date Field"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:06 am",
          "details": "👆 Tapping on OK Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:07 am",
          "details": "👆 Tapping on Expiry Date Field"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:10 am",
          "details": "👆 Tapping on OK Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:11 am",
          "details": "👆 Tap DOB Date Field"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:13 am",
          "details": "👆 Tapping on OK Button"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:15 am",
          "details": "scroll vertically"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:16 am",
          "details": "👆 Tapping to upload Ghana Card front image"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:17 am",
          "details": "👆 Tapping on Upload with Document Field"
        },
        {
          "status": "PASS",
          "timestamp": "8:28:23 am",
          "details": "👆 Tapping on Image"
        },
        {
          "status": "FAIL",
          "timestamp": "8:28:55 am",
          "details": "👆 Tapping to upload Ghana Card back image"
        },
        {
          "status": "FAIL",
          "timestamp": "8:28:55 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Upload back image of your GhanaCard\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Upload back image of your GhanaCard\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/TemporarySupply.png"
      ]
    },
    {
      "name": "homescreen",
      "status": "FAIL",
      "startTime": "04.21.2026 8:29:38 am",
      "endTime": "04.21.2026 8:30:55 am",
      "duration": "00:01:16:782",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:30:01 am",
          "details": "🧪Verify that the Home header is displayed"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:03 am",
          "details": "🧪Verify that the Service Request button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:04 am",
          "details": "🧪Verify that all navigation elements are visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:05 am",
          "details": "👆Tap on Meters navigation button"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:08 am",
          "details": "🧪Verify that the Meters screen is displayed"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:09 am",
          "details": "👆Tap on Home to return to Home screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:11 am",
          "details": "👆Tap on Transactions navigation button"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:12 am",
          "details": "🧪Verify that the Transactions screen is displayed"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:14 am",
          "details": "👆Tap on Home to return to Home screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:18 am",
          "details": "👆Tap on Wallets navigation button"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:24 am",
          "details": "🧪Verify that the Wallets screen is displayed"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:26 am",
          "details": "👆Tap on Home to return to Home screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:29 am",
          "details": "🧪Verify that the Home screen is displayed again"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:33 am",
          "details": "scroll to end"
        },
        {
          "status": "PASS",
          "timestamp": "8:30:35 am",
          "details": "Tap on View All button"
        },
        {
          "status": "FAIL",
          "timestamp": "8:30:47 am",
          "details": "👆Process news items and notifications (up to 4 items)"
        },
        {
          "status": "FAIL",
          "timestamp": "8:30:47 am",
          "details": "org.openqa.selenium.StaleElementReferenceException: Cached elements \u0027By.clazz: android.view.View\u0027 do not exist in DOM anymore For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Command: [56f4bf72-57af-46ab-8e54-3c9902187643, getElementAttribute {id\u003d00000000-0000-0189-0000-009400000003, name\u003dcontent-desc}] Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Element: [[AndroidDriver: on ANDROID (56f4bf72-57af-46ab-8e54-3c9902187643)] -\u003e class name: android.view.View] Session ID: 56f4bf72-57af-46ab-8e54-3c9902187643"
        }
      ],
      "error": "org.openqa.selenium.StaleElementReferenceException: Cached elements \u0027By.clazz: android.view.View\u0027 do not exist in DOM anymore For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Command: [56f4bf72-57af-46ab-8e54-3c9902187643, getElementAttribute {id\u003d00000000-0000-0189-0000-009400000003, name\u003dcontent-desc}] Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Element: [[AndroidDriver: on ANDROID (56f4bf72-57af-46ab-8e54-3c9902187643)] -\u003e class name: android.view.View] Session ID: 56f4bf72-57af-46ab-8e54-3c9902187643",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/homescreen.png"
      ]
    },
    {
      "name": "HomescreenGhanaCard",
      "status": "FAIL",
      "startTime": "04.21.2026 8:31:57 am",
      "endTime": "04.21.2026 8:32:47 am",
      "duration": "00:00:49:439",
      "steps": [
        {
          "status": "FAIL",
          "timestamp": "8:32:30 am",
          "details": "org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by AppiumBy.androidUIAutomator: new UiSelector().description(\"Home\") (tried for 15 second(s) with 500 milliseconds interval) Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: daa510bf-ab6f-4067-b5f8-14f216cd7bea"
        }
      ],
      "error": "org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by AppiumBy.androidUIAutomator: new UiSelector().description(\"Home\") (tried for 15 second(s) with 500 milliseconds interval) Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: daa510bf-ab6f-4067-b5f8-14f216cd7bea",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/HomescreenGhanaCard.png"
      ]
    },
    {
      "name": "HomescreenElectricityConsumption",
      "status": "FAIL",
      "startTime": "04.21.2026 8:33:41 am",
      "endTime": "04.21.2026 8:34:39 am",
      "duration": "00:00:58:325",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:34:04 am",
          "details": "📜 Scroll down to bottom of the homescreen"
        },
        {
          "status": "FAIL",
          "timestamp": "8:34:34 am",
          "details": "👆 Tap on \u0027See how much you spend on electricity\u0027 Card"
        },
        {
          "status": "FAIL",
          "timestamp": "8:34:34 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"See how much you spend on electricity\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"See how much you spend on electricity\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/HomescreenElectricityConsumption.png"
      ]
    },
    {
      "name": "HomescreenPrepaidMMS",
      "status": "PASS",
      "startTime": "04.21.2026 8:35:24 am",
      "endTime": "04.21.2026 8:35:57 am",
      "duration": "00:00:33:044",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:35:40 am",
          "details": "👆 tappping on Add Meter Button on HomeScreen"
        },
        {
          "status": "PASS",
          "timestamp": "8:35:47 am",
          "details": "👆 Tap on Added MMS Meter Button on Popup Modal"
        },
        {
          "status": "PASS",
          "timestamp": "8:35:49 am",
          "details": "⌨️ Enter Amount into textfield"
        },
        {
          "status": "PASS",
          "timestamp": "8:35:51 am",
          "details": "👆 Tap on Top Up Button on Popup Modal"
        },
        {
          "status": "PASS",
          "timestamp": "8:35:57 am",
          "details": "🧪 Verify that Top Up Meter page is Visible"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "ClouMeter",
      "status": "FAIL",
      "startTime": "04.21.2026 8:36:42 am",
      "endTime": "04.21.2026 8:37:16 am",
      "duration": "00:00:34:728",
      "steps": [
        {
          "status": "FAIL",
          "timestamp": "8:37:12 am",
          "details": "👆Tapping on navigation meters"
        },
        {
          "status": "FAIL",
          "timestamp": "8:37:12 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({By.xpath: //android.widget.ImageView[@content-desc\u003d\"Meters\"]})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({By.xpath: //android.widget.ImageView[@content-desc\u003d\"Meters\"]})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/ClouMeter.png"
      ]
    },
    {
      "name": "HomescreenPostpaid",
      "status": "PASS",
      "startTime": "04.21.2026 8:37:46 am",
      "endTime": "04.21.2026 8:38:17 am",
      "duration": "00:00:30:589",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:38:10 am",
          "details": "👆 tappping on Add Meter Button on HomeScreen"
        },
        {
          "status": "PASS",
          "timestamp": "8:38:12 am",
          "details": "👆 tap on Added Postpaid Meter on Pop-up Modal"
        },
        {
          "status": "PASS",
          "timestamp": "8:38:13 am",
          "details": "⌨️ Enter Amount into textfield"
        },
        {
          "status": "PASS",
          "timestamp": "8:38:15 am",
          "details": "👆 Tap on pay Bill Button on Popup Modal"
        },
        {
          "status": "PASS",
          "timestamp": "8:38:17 am",
          "details": "🧪 Verify that we are on the Pay your Postpaid Meter Bill page"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "AddPostpaid",
      "status": "PASS",
      "startTime": "04.21.2026 8:38:54 am",
      "endTime": "04.21.2026 8:41:40 am",
      "duration": "00:02:46:817",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:39:19 am",
          "details": "👆 Tapping on Navigation bar meters button"
        },
        {
          "status": "PASS",
          "timestamp": "8:39:34 am",
          "details": "📜 Scrolling till prepaid meter card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:39:36 am",
          "details": "👆Tapping on Postpaid Meter"
        },
        {
          "status": "PASS",
          "timestamp": "8:39:40 am",
          "details": "🧪Checking if header is visible on account number screen"
        },
        {
          "status": "PASS",
          "timestamp": "8:39:44 am",
          "details": "⌨️ Enter meter account number"
        },
        {
          "status": "PASS",
          "timestamp": "8:39:45 am",
          "details": "🧪 Verify customer account number is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:40:47 am",
          "details": "🧪Verify customer account details"
        },
        {
          "status": "PASS",
          "timestamp": "8:40:47 am",
          "details": "👆Tap on this is correct button"
        },
        {
          "status": "PASS",
          "timestamp": "8:40:51 am",
          "details": "🧪Verifying home name text field is visible and entering K Oppong in it"
        },
        {
          "status": "PASS",
          "timestamp": "8:40:54 am",
          "details": "🧪 Verifying home location text field is visible and clicking on it"
        },
        {
          "status": "PASS",
          "timestamp": "8:41:26 am",
          "details": "⌨️Entering address into text field is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:41:27 am",
          "details": "⌨️Entering Address into the Textfield"
        },
        {
          "status": "PASS",
          "timestamp": "8:41:32 am",
          "details": "🧪Verifying K-Hostel text field results is visible"
        },
        {
          "status": "PASS",
          "timestamp": "8:41:37 am",
          "details": "👆Tapping on use this address button"
        },
        {
          "status": "PASS",
          "timestamp": "8:41:40 am",
          "details": "👆 Tapping on the save meter button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "HomescreenFaultyMeter",
      "status": "PASS",
      "startTime": "04.21.2026 8:42:48 am",
      "endTime": "04.21.2026 8:42:48 am",
      "duration": "00:00:00:001",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "RequestNewMeter",
      "status": "FAIL",
      "startTime": "04.21.2026 8:43:29 am",
      "endTime": "04.21.2026 8:44:25 am",
      "duration": "00:00:55:755",
      "steps": [
        {
          "status": "FAIL",
          "timestamp": "8:44:01 am",
          "details": "👆 Tap on Request New Meter Button on Homescreen"
        },
        {
          "status": "FAIL",
          "timestamp": "8:44:01 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Request new meter or additional load\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Request new meter or additional load\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/RequestNewMeter.png"
      ]
    },
    {
      "name": "homescreenIllegalConnection",
      "status": "PASS",
      "startTime": "04.21.2026 8:45:42 am",
      "endTime": "04.21.2026 8:45:42 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "HomescreenReportPostpaid",
      "status": "PASS",
      "startTime": "04.21.2026 8:46:32 am",
      "endTime": "04.21.2026 8:46:32 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "AddPrepaid",
      "status": "FAIL",
      "startTime": "04.21.2026 8:47:40 am",
      "endTime": "04.21.2026 8:51:50 am",
      "duration": "00:04:09:686",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:49:01 am",
          "details": "👆Tapping on navigation meters"
        },
        {
          "status": "PASS",
          "timestamp": "8:50:11 am",
          "details": "📜 Scrolling Horizontally To View Add Prepaid Card"
        },
        {
          "status": "FAIL",
          "timestamp": "8:50:49 am",
          "details": "👆 Tap on add prepaid meter action button"
        },
        {
          "status": "FAIL",
          "timestamp": "8:50:49 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Add Prepaid Meter\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Add Prepaid Meter\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/AddPrepaid.png"
      ]
    },
    {
      "name": "HomescreenStolenMeter",
      "status": "PASS",
      "startTime": "04.21.2026 8:52:30 am",
      "endTime": "04.21.2026 8:52:30 am",
      "duration": "00:00:00:002",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "DeletePrepaidMMSMeterTest",
      "status": "PASS",
      "startTime": "04.21.2026 8:54:14 am",
      "endTime": "04.21.2026 8:54:14 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "TransferMeter",
      "status": "PASS",
      "startTime": "04.21.2026 8:55:07 am",
      "endTime": "04.21.2026 8:55:07 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "DeletePostpaidMeterTest",
      "status": "PASS",
      "startTime": "04.21.2026 8:56:07 am",
      "endTime": "04.21.2026 8:56:07 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "addmeter",
      "status": "PASS",
      "startTime": "04.21.2026 8:56:54 am",
      "endTime": "04.21.2026 8:57:50 am",
      "duration": "00:00:56:356",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:57:12 am",
          "details": "👆 Tapping on navigation meters"
        },
        {
          "status": "PASS",
          "timestamp": "8:57:47 am",
          "details": "📜 Scrolling to Add Prepaid Meter Card"
        },
        {
          "status": "PASS",
          "timestamp": "8:57:48 am",
          "details": "🧪Verifying Meter heading"
        },
        {
          "status": "PASS",
          "timestamp": "8:57:48 am",
          "details": "🧪Verifying navigation transactions"
        },
        {
          "status": "PASS",
          "timestamp": "8:57:49 am",
          "details": "🧪Verifying navigation wallets"
        },
        {
          "status": "PASS",
          "timestamp": "8:57:50 am",
          "details": "🧪Verifying navigation home"
        },
        {
          "status": "PASS",
          "timestamp": "8:57:50 am",
          "details": "🧪Verifying service request button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Prepaid_Meter",
      "status": "PASS",
      "startTime": "04.21.2026 8:58:40 am",
      "endTime": "04.21.2026 9:00:21 am",
      "duration": "00:01:41:298",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "8:59:34 am",
          "details": "👆 Checking and tapping on navigation meters"
        },
        {
          "status": "PASS",
          "timestamp": "8:59:54 am",
          "details": "📜 Scrolling to Add Prepaid Meter Card"
        },
        {
          "status": "PASS",
          "timestamp": "8:59:55 am",
          "details": "👆 Click on add prepaid meter action button"
        },
        {
          "status": "PASS",
          "timestamp": "8:59:58 am",
          "details": "🧪 Verify enter your meter number text is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:00:14 am",
          "details": "🧪 verify enter your meter amount textfield is visible and entering meter number"
        },
        {
          "status": "PASS",
          "timestamp": "9:00:16 am",
          "details": "👆 Tap on Verify meter button"
        },
        {
          "status": "PASS",
          "timestamp": "9:00:21 am",
          "details": "🧪 verify that \u0027The details of this PREPAID account is not available to display at this moment. Make sure there are no spaces when entering the Meter or STS Number.\u0027 shows to verify that popup modal is visible"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Visa_Wallet",
      "status": "PASS",
      "startTime": "04.21.2026 9:01:12 am",
      "endTime": "04.21.2026 9:02:10 am",
      "duration": "00:00:58:029",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:01:45 am",
          "details": "👆 Tapping on Wallet Navigation Button on Home Page"
        },
        {
          "status": "PASS",
          "timestamp": "9:01:48 am",
          "details": "👆 Tap on \u0027Add mobile money wallet/bank card\u0027 button"
        },
        {
          "status": "PASS",
          "timestamp": "9:01:50 am",
          "details": "👆 Tap on Bank card button"
        },
        {
          "status": "PASS",
          "timestamp": "9:01:54 am",
          "details": "⌨️ Enter Visa Card Number"
        },
        {
          "status": "PASS",
          "timestamp": "9:01:56 am",
          "details": "⌨️ Enter Visa Card Expiry Date"
        },
        {
          "status": "PASS",
          "timestamp": "9:01:57 am",
          "details": "⌨️ Enter Visa Card CVV"
        },
        {
          "status": "PASS",
          "timestamp": "9:01:58 am",
          "details": "👆 Tapping on Save this Bank Card Button"
        },
        {
          "status": "PASS",
          "timestamp": "9:02:01 am",
          "details": "👆 tap on options menu to bring up popup modal"
        },
        {
          "status": "PASS",
          "timestamp": "9:02:04 am",
          "details": "👆 tap on delete wallet button"
        },
        {
          "status": "PASS",
          "timestamp": "9:02:04 am",
          "details": "🧪 Verify that Delete wallet popup modal shows confirmation"
        },
        {
          "status": "PASS",
          "timestamp": "9:02:10 am",
          "details": "👆 tap on delete wallet button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Mastercard_Wallet",
      "status": "PASS",
      "startTime": "04.21.2026 9:02:54 am",
      "endTime": "04.21.2026 9:03:52 am",
      "duration": "00:00:57:929",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:03:27 am",
          "details": "👆 Tapping on Wallet Navigation Button on Home Page"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:29 am",
          "details": "👆 Tap on \u0027Add mobile money wallet/bank card\u0027 button"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:32 am",
          "details": "👆 Tap on Bank card button"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:35 am",
          "details": "⌨️ Enter Visa Card Number"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:37 am",
          "details": "⌨️ Enter Visa Card Expiry Date"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:39 am",
          "details": "⌨️ Enter Visa Card CVV"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:39 am",
          "details": "👆 Tapping on Save this Bank Card Button"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:42 am",
          "details": "👆 tap on options menu to bring up popup modal"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:44 am",
          "details": "👆 tap on delete wallet button"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:45 am",
          "details": "🧪 Verify that Delete wallet popup modal shows confirmation"
        },
        {
          "status": "PASS",
          "timestamp": "9:03:52 am",
          "details": "👆 tap on delete wallet button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Transactions",
      "status": "PASS",
      "startTime": "04.21.2026 9:04:40 am",
      "endTime": "04.21.2026 9:05:51 am",
      "duration": "00:01:11:057",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:05:20 am",
          "details": "🧪Verifying Transaction Navigation Bar Button is Visible and Tapping on it"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:26 am",
          "details": "🧪Verifying Transaction Header is Visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:26 am",
          "details": "🧪 verify that \u0027Payments made via mobile money and cash\u0027 sub text is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:27 am",
          "details": "🧪 verify that this month filter button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:27 am",
          "details": "🧪 Verify that last month filter button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:27 am",
          "details": "🧪 verify that last three month filter button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:27 am",
          "details": "🧪 verify that total transaction count is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:28 am",
          "details": "🧪 verify that prepaid top ups is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:28 am",
          "details": "🧪 verify that postpaid bill payments is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:29 am",
          "details": "🧪 verify that service request payments is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:29 am",
          "details": "👆 tap on All Meters dropdown Buttons"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:33 am",
          "details": "👆Tap on All meters option"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:39 am",
          "details": "👆 Tap on All Date Filters Options"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:42 am",
          "details": "👆 tap on Sm NA Datey Postpaid Meter Payment History"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:45 am",
          "details": "🧪 verify that transaction summary details is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:48 am",
          "details": "👆 Click on View Receipt Button"
        },
        {
          "status": "PASS",
          "timestamp": "9:05:51 am",
          "details": "🧪 verify that receipt screen with descriptions is visible"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Add_Wallet",
      "status": "PASS",
      "startTime": "04.21.2026 9:06:37 am",
      "endTime": "04.21.2026 9:07:40 am",
      "duration": "00:01:02:341",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:07:10 am",
          "details": "👆 Tapping on Wallet Navigation Button on Home Page"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:11 am",
          "details": "👆 Tap on \u0027Add mobile money wallet/bank card\u0027 button"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:12 am",
          "details": "🧪 Verify bank option is displayed on Popup Screen"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:13 am",
          "details": "👆Tapping on Mobile Money Option"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:17 am",
          "details": "⌨️ Entering Phone Number into textfield"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:20 am",
          "details": "👆 Tapping on Select Mobile Network"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:30 am",
          "details": "👆 Tapping on MTN Mobile Network Button"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:32 am",
          "details": "👆 Tapping on Save Wallet Button"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:34 am",
          "details": "👆 tap on options menu to bring up popup modal"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:36 am",
          "details": "👆 tap on delete wallet button"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:37 am",
          "details": "🧪 Verify that Delete wallet popup modal shows confirmation"
        },
        {
          "status": "PASS",
          "timestamp": "9:07:40 am",
          "details": "👆 tap on delete wallet button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "PrepaidMeter_MMS",
      "status": "PASS",
      "startTime": "04.21.2026 9:08:31 am",
      "endTime": "04.21.2026 9:11:20 am",
      "duration": "00:02:48:969",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:08:38 am",
          "details": "👆Tapping on navigation meters"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:53 am",
          "details": "📜 Scrolling Horizontally Right To View Add Prepaid Card"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:54 am",
          "details": "👆 Tap on add prepaid meter action button"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:54 am",
          "details": "🧪 Verify enter your meter number text is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:55 am",
          "details": "👆 Tap on \u0027Where do I find my meter number\u0027"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:56 am",
          "details": "🧪 Verify that \u0027You can find your meter number on:\u0027 is Visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:56 am",
          "details": "🧪 Verify that \u0027Can be found on the meter. It may start with ‘P’ or appear as the STS number.\u0027 is Visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:56 am",
          "details": "🧪 Verify that \u0027On your prepaid card for vending\u0027 is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:56 am",
          "details": "🧪 Verify that \u0027Dial 014 or 004 to check your meter number on your UIU\u0027 is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:08:58 am",
          "details": "👆 Tap on Close Button"
        },
        {
          "status": "PASS",
          "timestamp": "9:09:02 am",
          "details": "🧪 Verify enter your meter amount textfield is visible and entering meter number"
        },
        {
          "status": "PASS",
          "timestamp": "9:09:03 am",
          "details": "🧪 Verify meter button"
        },
        {
          "status": "PASS",
          "timestamp": "9:09:06 am",
          "details": "🧪 Verify Confirm details text header is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:09:06 am",
          "details": "🧪 Verifying \u0027make sure the information displayed is correct\u0027 body text is displayed"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:07 am",
          "details": "🧪 Verifying that Meter details are correct"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:07 am",
          "details": "👆 Tapping on confirm details button"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:09 am",
          "details": "🧪 Verifying \u0027get notified on the service issues\u0027 text is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:10 am",
          "details": "🧪 Verifying home name text field is visible and entering Moms House in it"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:11 am",
          "details": "🧪 Verifying home location text field is visible and clicking oon it"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:28 am",
          "details": "🧪Verifying home address text field is visible and clicking on it"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:30 am",
          "details": "⌨️ Entering address into text field is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:32 am",
          "details": "🧪Verifying kHostel text field results is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:37 am",
          "details": "👆 Tapping on use this address button"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:38 am",
          "details": "👆 Tapping on the save meter button"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:57 am",
          "details": "📜 Scroll into Added Prepaid Screen"
        },
        {
          "status": "PASS",
          "timestamp": "9:10:59 am",
          "details": "👆 Tapping on K Oppong meter button"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:01 am",
          "details": "👆 tapping on Refresh button"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:06 am",
          "details": "🧪 Verifying that the MMS-WASION Metering System card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:06 am",
          "details": "🧪 Verifying that the Transactions card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:07 am",
          "details": "🧪 Verifying that the This month tab is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:08 am",
          "details": "🧪 Verifying that the Last month tab is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:09 am",
          "details": "🧪 Verifying that the Last 3 months tab is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:10 am",
          "details": "🧪 Verifying that the Total Transaction Count card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:13 am",
          "details": "🧪 Verifying that the This month tab is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:13 am",
          "details": "tapping on buy credit button"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:14 am",
          "details": "Inputting 1 cedi into topup meter text field is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:15 am",
          "details": "Tapping on the cancel button"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:18 am",
          "details": "📜 Scroll down to bottom of Screen"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:20 am",
          "details": "👆 Tapping on remove meter button"
        },
        {
          "status": "PASS",
          "timestamp": "9:11:20 am",
          "details": "👆 Tapping on delete meter button"
        }
      ],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Postpaid_Meter",
      "status": "FAIL",
      "startTime": "04.21.2026 9:12:05 am",
      "endTime": "04.21.2026 9:13:33 am",
      "duration": "00:01:27:948",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:12:17 am",
          "details": "👆 Tapping on Navigation bar meters button"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:38 am",
          "details": "📜 Scrolling till prepaid meter card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:39 am",
          "details": "👆Tapping on Postpaid Meter"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:42 am",
          "details": "🧪Checking if header is visible on account number screen"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:42 am",
          "details": "🧪 Verify that\u0027The customer account number is a 9-digit number starting with \u00277\u0027 (example: 738398373) and can be found on ECG bills or receipts.\u0027 is Visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:45 am",
          "details": "⌨️ Enter meter account number"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:46 am",
          "details": "🧪 Verify customer account number is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:47 am",
          "details": "🧪 Verify customer account details"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:47 am",
          "details": "👆Tapping on this is correct button"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:48 am",
          "details": "🧪 Verifying home name text field is visible and entering K Oppong in it"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:50 am",
          "details": "🧪 Verifying home location text field is visible and clicking on it"
        },
        {
          "status": "PASS",
          "timestamp": "9:12:57 am",
          "details": "⌨️ Entering address into text field is visible"
        },
        {
          "status": "FAIL",
          "timestamp": "9:13:27 am",
          "details": "⌨️ Entering Address into the Textfield"
        },
        {
          "status": "FAIL",
          "timestamp": "9:13:27 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().className(\"android.widget.EditText\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().className(\"android.widget.EditText\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/Postpaid_Meter.png"
      ]
    },
    {
      "name": "ServiceRequest",
      "status": "FAIL",
      "startTime": "04.21.2026 9:14:22 am",
      "endTime": "04.21.2026 9:15:30 am",
      "duration": "00:01:07:397",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:14:44 am",
          "details": "👆 Tapping on Service Request Button on Homepage"
        },
        {
          "status": "FAIL",
          "timestamp": "9:15:15 am",
          "details": "🧪 verifying that the add ghana card section of the service request page is visible"
        },
        {
          "status": "FAIL",
          "timestamp": "9:15:15 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Festus Chris Otopa Ayeh-Datey Ghana Card Number GHA********29-6 Phone Number 233557036211 Update Details\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Festus Chris Otopa Ayeh-Datey Ghana Card Number GHA********29-6 Phone Number 233557036211 Update Details\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/ServiceRequest.png"
      ]
    },
    {
      "name": "ChangeDetails",
      "status": "FAIL",
      "startTime": "04.21.2026 9:16:30 am",
      "endTime": "04.21.2026 9:17:28 am",
      "duration": "00:00:58:281",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:16:53 am",
          "details": "👆 Tapping on Service Request Button on Homepage"
        },
        {
          "status": "FAIL",
          "timestamp": "9:17:23 am",
          "details": "🧪 verifying that the add ghana card section of the service request page is visible"
        },
        {
          "status": "FAIL",
          "timestamp": "9:17:23 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Festus Chris Otopa Ayeh-Datey Ghana Card Number GHA********29-6 Phone Number 233557036211 Update Details\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Festus Chris Otopa Ayeh-Datey Ghana Card Number GHA********29-6 Phone Number 233557036211 Update Details\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/ChangeDetails.png"
      ]
    },
    {
      "name": "issuePostPaidBill",
      "status": "FAIL",
      "startTime": "04.21.2026 9:18:10 am",
      "endTime": "04.21.2026 9:21:39 am",
      "duration": "00:03:28:487",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:18:33 am",
          "details": "👆 Tapping on Navigation bar meters button"
        },
        {
          "status": "PASS",
          "timestamp": "9:19:01 am",
          "details": "📜 Scrolling till prepaid meter card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:19:07 am",
          "details": "👆Tapping on Postpaid Meter"
        },
        {
          "status": "PASS",
          "timestamp": "9:19:08 am",
          "details": "🧪Checking if header is visible on account number screen"
        },
        {
          "status": "PASS",
          "timestamp": "9:19:11 am",
          "details": "⌨️ Enter meter account number"
        },
        {
          "status": "PASS",
          "timestamp": "9:19:14 am",
          "details": "🧪 Verify customer account number is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:20:15 am",
          "details": "🧪 Verify customer account details"
        },
        {
          "status": "PASS",
          "timestamp": "9:20:16 am",
          "details": "👆Tapping on this is correct button"
        },
        {
          "status": "PASS",
          "timestamp": "9:20:18 am",
          "details": "🧪Verifying home name text field is visible and entering K Oppong in it"
        },
        {
          "status": "PASS",
          "timestamp": "9:20:21 am",
          "details": "🧪Verifying home location text field is visible and clicking on it"
        },
        {
          "status": "PASS",
          "timestamp": "9:20:56 am",
          "details": "⌨️Entering address into text field is visible"
        },
        {
          "status": "FAIL",
          "timestamp": "9:21:31 am",
          "details": "⌨️Entering Address into the Textfield"
        },
        {
          "status": "FAIL",
          "timestamp": "9:21:31 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().className(\"android.widget.EditText\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().className(\"android.widget.EditText\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/issuePostPaidBill.png"
      ]
    },
    {
      "name": "FaultyMeter",
      "status": "FAIL",
      "startTime": "04.21.2026 9:22:38 am",
      "endTime": "04.21.2026 9:24:12 am",
      "duration": "00:01:33:540",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:23:24 am",
          "details": "👆 Tapping on Navigation bar meters button"
        },
        {
          "status": "FAIL",
          "timestamp": "9:24:05 am",
          "details": "📜 Scrolling till prepaid meter card is visible"
        },
        {
          "status": "FAIL",
          "timestamp": "9:24:05 am",
          "details": "org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Command: [108fef45-5893-4c00-9a95-95623b1c8221, findElement {value\u003dnew UiScrollable(new UiSelector().className(\"android.view.View\").instance(7)).setAsHorizontalList().scrollIntoView(new UiSelector().description(\"Add Postpaid Meter\")), using\u003d-android uiautomator}] Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: 108fef45-5893-4c00-9a95-95623b1c8221"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Command: [108fef45-5893-4c00-9a95-95623b1c8221, findElement {value\u003dnew UiScrollable(new UiSelector().className(\"android.view.View\").instance(7)).setAsHorizontalList().scrollIntoView(new UiSelector().description(\"Add Postpaid Meter\")), using\u003d-android uiautomator}] Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: 108fef45-5893-4c00-9a95-95623b1c8221",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/FaultyMeter.png"
      ]
    },
    {
      "name": "ViewPastOngoingRequests",
      "status": "FAIL",
      "startTime": "04.21.2026 9:28:51 am",
      "endTime": "04.21.2026 9:29:49 am",
      "duration": "00:00:57:863",
      "steps": [
        {
          "status": "FAIL",
          "timestamp": "9:29:32 am",
          "details": "👆 Tap on Service Request Button on the Homepage"
        },
        {
          "status": "FAIL",
          "timestamp": "9:29:32 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Get Help\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().description(\"Get Help\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/ViewPastOngoingRequests.png"
      ]
    },
    {
      "name": "Illegal_Connection",
      "status": "PASS",
      "startTime": "04.21.2026 9:30:44 am",
      "endTime": "04.21.2026 9:30:44 am",
      "duration": "00:00:00:002",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "Stolen_Meter",
      "status": "FAIL",
      "startTime": "04.21.2026 9:31:15 am",
      "endTime": "04.21.2026 9:34:16 am",
      "duration": "00:03:01:126",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:31:47 am",
          "details": "👆 Tapping on Navigation bar meters button"
        },
        {
          "status": "PASS",
          "timestamp": "9:32:04 am",
          "details": "📜 Scrolling till prepaid meter card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:32:06 am",
          "details": "👆Tapping on Postpaid Meter"
        },
        {
          "status": "PASS",
          "timestamp": "9:32:08 am",
          "details": "🧪Checking if header is visible on account number screen"
        },
        {
          "status": "PASS",
          "timestamp": "9:32:10 am",
          "details": "⌨️ Enter meter account number"
        },
        {
          "status": "PASS",
          "timestamp": "9:32:10 am",
          "details": "🧪 Verify customer account number is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:33:12 am",
          "details": "🧪Verify customer account details"
        },
        {
          "status": "PASS",
          "timestamp": "9:33:12 am",
          "details": "👆Tapping on this is correct button"
        },
        {
          "status": "PASS",
          "timestamp": "9:33:14 am",
          "details": "🧪Verifying home name text field is visible and entering K Oppong in it"
        },
        {
          "status": "PASS",
          "timestamp": "9:33:16 am",
          "details": "🧪Verifying home location text field is visible and clicking on it"
        },
        {
          "status": "PASS",
          "timestamp": "9:33:28 am",
          "details": "tapping on use this address button"
        },
        {
          "status": "FAIL",
          "timestamp": "9:33:59 am",
          "details": "👆 Tapping on the save meter button (handles \u0027already exists\u0027 dialog)"
        },
        {
          "status": "FAIL",
          "timestamp": "9:33:59 am",
          "details": "org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Command: [e2b8b26b-076c-4c77-b181-5f2a6e3d0b51, findElement {value\u003dnew UiSelector().description(\"Save Meter\"), using\u003d-android uiautomator}] Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: e2b8b26b-076c-4c77-b181-5f2a6e3d0b51"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Command: [e2b8b26b-076c-4c77-b181-5f2a6e3d0b51, findElement {value\u003dnew UiSelector().description(\"Save Meter\"), using\u003d-android uiautomator}] Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: e2b8b26b-076c-4c77-b181-5f2a6e3d0b51",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/Stolen_Meter.png"
      ]
    },
    {
      "name": "ThirdPartyStoreVendor",
      "status": "FAIL",
      "startTime": "04.21.2026 9:36:26 am",
      "endTime": "04.21.2026 9:37:29 am",
      "duration": "00:01:02:677",
      "steps": [
        {
          "status": "FAIL",
          "timestamp": "9:37:01 am",
          "details": "⏳ Waiting for Home screen to load completely"
        },
        {
          "status": "FAIL",
          "timestamp": "9:37:01 am",
          "details": "org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.xpath: //android.widget.ImageView[@content-desc\u003d\"Meters\"] (tried for 20 second(s) with 500 milliseconds interval) Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: 0fff25b5-93e1-4bdc-bcc2-34a454e7d916"
        }
      ],
      "error": "org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.xpath: //android.widget.ImageView[@content-desc\u003d\"Meters\"] (tried for 20 second(s) with 500 milliseconds interval) Build info: version: \u00274.20.0\u0027, revision: \u0027866c76ca80\u0027 System info: os.name: \u0027Mac OS X\u0027, os.arch: \u0027x86_64\u0027, os.version: \u002726.4.1\u0027, java.version: \u002717.0.12\u0027 Driver info: io.appium.java_client.android.AndroidDriver Capabilities {appium:appActivity: com.ecgmobile.MainActivity, appium:appPackage: com.ecgmobile, appium:autoGrantPermissions: true, appium:autoWebview: false, appium:autoWebviewTimeout: 15000, appium:automationName: UIAutomator2, appium:chromedriverAutodownload: true, appium:databaseEnabled: false, appium:desired: {appActivity: com.ecgmobile.MainActivity, appPackage: com.ecgmobile, autoGrantPermissions: true, autoWebview: false, autoWebviewTimeout: 15000, automationName: UIAutomator2, chromedriverAutodownload: true, deviceName: Pixel 4, ensureWebviewsHavePages: true, fullReset: false, noReset: true, platformName: ANDROID}, appium:deviceApiLevel: 35, appium:deviceManufacturer: Genymobile, appium:deviceModel: Pixel 9, appium:deviceName: 127.0.0.1:6555, appium:deviceScreenDensity: 422, appium:deviceScreenSize: 1080x2424, appium:deviceUDID: 127.0.0.1:6555, appium:ensureWebviewsHavePages: true, appium:fullReset: false, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:networkConnectionEnabled: true, appium:noReset: true, appium:pixelRatio: 2.6375, appium:platformVersion: 15, appium:statBarHeight: 63, appium:takesScreenshot: true, appium:viewportRect: {height: 2361, left: 0, top: 63, width: 1080}, appium:warnings: {}, appium:webStorageEnabled: false, platformName: ANDROID} Session ID: 0fff25b5-93e1-4bdc-bcc2-34a454e7d916",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/ThirdPartyStoreVendor.png"
      ]
    },
    {
      "name": "TemporaryDisconnection",
      "status": "PASS",
      "startTime": "04.21.2026 9:39:04 am",
      "endTime": "04.21.2026 9:39:04 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "NewServiceConnection",
      "status": "PASS",
      "startTime": "04.21.2026 9:40:00 am",
      "endTime": "04.21.2026 9:40:00 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "ChangeDetailsMeter",
      "status": "PASS",
      "startTime": "04.21.2026 9:40:46 am",
      "endTime": "04.21.2026 9:40:46 am",
      "duration": "00:00:00:000",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "meterCardReplacementTest",
      "status": "PASS",
      "startTime": "04.21.2026 9:41:49 am",
      "endTime": "04.21.2026 9:41:49 am",
      "duration": "00:00:00:001",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "PaySmallSmall",
      "status": "PASS",
      "startTime": "04.21.2026 9:42:34 am",
      "endTime": "04.21.2026 9:42:34 am",
      "duration": "00:00:00:002",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "PaySmallSmallTopUp",
      "status": "PASS",
      "startTime": "04.21.2026 9:43:22 am",
      "endTime": "04.21.2026 9:43:22 am",
      "duration": "00:00:00:001",
      "steps": [],
      "error": null,
      "screenshotPaths": []
    },
    {
      "name": "ViewLastBill",
      "status": "FAIL",
      "startTime": "04.21.2026 9:44:08 am",
      "endTime": "04.21.2026 9:45:27 am",
      "duration": "00:01:18:692",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:44:42 am",
          "details": "👆 Tap Meters on navigation bar"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:45 am",
          "details": "👆 Tap on Sam N.A Ayeh-Datey postpaid meter card"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:47 am",
          "details": "🧪 Verify meter detail page header is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:48 am",
          "details": "🧪 Verify POSTPAID badge is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:48 am",
          "details": "🧪 Verify Outstanding Bill card is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:48 am",
          "details": "🧪 Verify Pay Bill button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:48 am",
          "details": "🧪 Verify View Last Bill button is visible"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:49 am",
          "details": "👆 Tap View Last Bill button"
        },
        {
          "status": "PASS",
          "timestamp": "9:44:51 am",
          "details": "🧪 Verify Get Postpaid Bill bottom sheet is visible"
        },
        {
          "status": "FAIL",
          "timestamp": "9:45:21 am",
          "details": "🧪 Verify month dropdown is visible"
        },
        {
          "status": "FAIL",
          "timestamp": "9:45:21 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().descriptionContains(\"February\")})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({AppiumBy.androidUIAutomator: new UiSelector().descriptionContains(\"February\")})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/ViewLastBill.png"
      ]
    },
    {
      "name": "logout",
      "status": "FAIL",
      "startTime": "04.21.2026 9:46:09 am",
      "endTime": "04.21.2026 9:47:34 am",
      "duration": "00:01:25:103",
      "steps": [
        {
          "status": "PASS",
          "timestamp": "9:46:30 am",
          "details": "👆 Tapping on Service Button Visible on Homescreen"
        },
        {
          "status": "PASS",
          "timestamp": "9:46:37 am",
          "details": "📜 Scrolling to end of screen"
        },
        {
          "status": "PASS",
          "timestamp": "9:46:37 am",
          "details": "👆 Tap on Terms of use and Privacy Policy Button"
        },
        {
          "status": "FAIL",
          "timestamp": "9:47:19 am",
          "details": "🧪Verify that the Privacy Policy is Visible on the Page"
        },
        {
          "status": "FAIL",
          "timestamp": "9:47:19 am",
          "details": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({By.xpath: //android.widget.TextView[@text\u003d\"Privacy Policy for ECG PowerApp\"]})"
        }
      ],
      "error": "org.openqa.selenium.NoSuchElementException: Can\u0027t locate an element by this strategy: By.chained({By.xpath: //android.widget.TextView[@text\u003d\"Privacy Policy for ECG PowerApp\"]})",
      "screenshotPaths": [
        "/Users/chrisayehdatey/Developer/Hubtel-ECG-PowerApp-Mobile/reports/2026-04-21/logout.png"
      ]
    }
  ]
}