HR application / employees-clear
employees-clear
Clear All with no change does nothing; after an edit CONFIRM_CLEAR asks, Cancel keeps it and OK discards it.
Three runs from a fresh database gave byte-identical diffs. Behaviour that looks odd in the migrated app but is the original's: faithful to the original and waivers. Files: scenario, golden record, target record, diff (JSON).
Scenario steps
Items are addressed by their Forms name (BLOCK.ITEM[row]), the same name in the
original and, through the mapping, in the migrated app.
| # | Step | Action | Checked on the original |
|---|---|---|---|
| 0 | Open form login | ||
| 1 | Type LOGIN.USERNAME = alice, LOGIN.PASSWORD = alice#123 | ||
| 2 | login | Click LOGIN.LOGIN | |
| 3 | employees | Click CONSOLE.EMPLOYEES | |
| 4 | clear unchanged | Click BUTTONS.CLEAR_BUTTON | |
| 5 | Type EMPLOYEES.SALARY[2] = 1 | ||
| 6 | clear changed | Click BUTTONS.CLEAR_BUTTON | |
| 7 | keep | Answer the alert Cancel | |
| 8 | clear again | Click BUTTONS.CLEAR_BUTTON | |
| 9 | discard | Answer the alert OK |
Screens, step by step
Left: the original Oracle Forms application, recorded on a virtual display. Right: the migrated application in headless Chromium. Screenshots are evidence only; the comparison works on the recorded values.
Step 0: open login
Step 1: type
Step 2: login
Step 3: employees
Step 4: clear unchanged
Step 5: type
Step 6: clear changed
Step 7: keep
Step 8: clear again
Step 9: discard
Golden record of the original
After each step: the focus, the displayed values that changed, the message line and any alert. The full record (every item of every step, windows, lists of values) is in the JSON file.
| # | Step | Action (by name) | Focus after | Displayed values that changed | Message line | Alert | Expect |
|---|---|---|---|---|---|---|---|
| 0 | Open form login | LOGIN.USERNAME[0] | |||||
| 1 | Type LOGIN.USERNAME = alice, LOGIN.PASSWORD = alice#123 | LOGIN.PASSWORD[0] | LOGIN.PASSWORD[0] = alice#123LOGIN.USERNAME[0] = alice | ||||
| 2 | login | Click LOGIN.LOGIN | CONSOLE.EMPLOYEES[0] | CONSOLE.USERNAME[0] = alice | |||
| 3 | employees | Click CONSOLE.EMPLOYEES | EMPLOYEES.APEX[0] | DEPARTMENT.CITY[0] = SeattleDEPARTMENT.COUNTRY_NAME[0] = United States of AmericaDEPARTMENT.DEPARTMENT_ID[0] = 90DEPARTMENT.DEPARTMENT_NAME[0] = ExecutiveDEPARTMENT.REGION_NAME[0] = AmericasDEPARTMENT.STATE_PROVINCE[0] = WashingtonDEPARTMENT.STREET_ADDRESS[0] = 2004 Charade RdEMPLOYEES.DEPARTMENT_ID[0] = 90EMPLOYEES.DEPARTMENT_ID[1] = 90EMPLOYEES.DEPARTMENT_ID[2] = 90EMPLOYEES.DEPARTMENT_ID[3] = 60EMPLOYEES.DEPARTMENT_ID[4] = 60EMPLOYEES.DEPARTMENT_ID[5] = 60EMPLOYEES.DEPARTMENT_ID[6] = 60EMPLOYEES.DEPARTMENT_ID[7] = 60EMPLOYEES.DEPARTMENT_ID[8] = 100EMPLOYEES.DEPARTMENT_ID[9] = 100EMPLOYEES.EMAIL[0] = SKINGEMPLOYEES.EMAIL[1] = NYANGEMPLOYEES.EMAIL[2] = LGARCIAEMPLOYEES.EMAIL[3] = AJAMESEMPLOYEES.EMAIL[4] = BMILLEREMPLOYEES.EMAIL[5] = DWILLIAMSEMPLOYEES.EMAIL[6] = VJACKSONEMPLOYEES.EMAIL[7] = DNGUYENEMPLOYEES.EMAIL[8] = NGRUENBEEMPLOYEES.EMAIL[9] = DFAVIETEMPLOYEES.EMPLOYEE_ID[0] = 100EMPLOYEES.EMPLOYEE_ID[1] = 101EMPLOYEES.EMPLOYEE_ID[2] = 102EMPLOYEES.EMPLOYEE_ID[3] = 103EMPLOYEES.EMPLOYEE_ID[4] = 104EMPLOYEES.EMPLOYEE_ID[5] = 105EMPLOYEES.EMPLOYEE_ID[6] = 106EMPLOYEES.EMPLOYEE_ID[7] = 107EMPLOYEES.EMPLOYEE_ID[8] = 108EMPLOYEES.EMPLOYEE_ID[9] = 109EMPLOYEES.FIRST_NAME[0] = StevenEMPLOYEES.FIRST_NAME[1] = NeenaEMPLOYEES.FIRST_NAME[2] = LexEMPLOYEES.FIRST_NAME[3] = AlexanderEMPLOYEES.FIRST_NAME[4] = BruceEMPLOYEES.FIRST_NAME[5] = DavidEMPLOYEES.FIRST_NAME[6] = ValliEMPLOYEES.FIRST_NAME[7] = DianaEMPLOYEES.FIRST_NAME[8] = NancyEMPLOYEES.FIRST_NAME[9] = DanielEMPLOYEES.HIRE_DATE[0] = 17-06-2013EMPLOYEES.HIRE_DATE[1] = 21-09-2015EMPLOYEES.HIRE_DATE[2] = 13-01-2011EMPLOYEES.HIRE_DATE[3] = 03-01-2016EMPLOYEES.HIRE_DATE[4] = 21-05-2017EMPLOYEES.HIRE_DATE[5] = 25-06-2015EMPLOYEES.HIRE_DATE[6] = 05-02-2016EMPLOYEES.HIRE_DATE[7] = 07-02-2017EMPLOYEES.HIRE_DATE[8] = 17-08-2012EMPLOYEES.HIRE_DATE[9] = 16-08-2012EMPLOYEES.JOB_ID[0] = AD_PRESEMPLOYEES.JOB_ID[1] = AD_VPEMPLOYEES.JOB_ID[2] = AD_VPEMPLOYEES.JOB_ID[3] = IT_PROGEMPLOYEES.JOB_ID[4] = IT_PROGEMPLOYEES.JOB_ID[5] = IT_PROGEMPLOYEES.JOB_ID[6] = IT_PROGEMPLOYEES.JOB_ID[7] = IT_PROGEMPLOYEES.JOB_ID[8] = FI_MGREMPLOYEES.JOB_ID[9] = FI_ACCOUNTEMPLOYEES.LAST_NAME[0] = KingEMPLOYEES.LAST_NAME[1] = YangEMPLOYEES.LAST_NAME[2] = GarciaEMPLOYEES.LAST_NAME[3] = JamesEMPLOYEES.LAST_NAME[4] = MillerEMPLOYEES.LAST_NAME[5] = WilliamsEMPLOYEES.LAST_NAME[6] = JacksonEMPLOYEES.LAST_NAME[7] = NguyenEMPLOYEES.LAST_NAME[8] = GruenbergEMPLOYEES.LAST_NAME[9] = FavietEMPLOYEES.MANAGER_ID[1] = 100EMPLOYEES.MANAGER_ID[2] = 100EMPLOYEES.MANAGER_ID[3] = 102EMPLOYEES.MANAGER_ID[4] = 103EMPLOYEES.MANAGER_ID[5] = 103EMPLOYEES.MANAGER_ID[6] = 103EMPLOYEES.MANAGER_ID[7] = 103EMPLOYEES.MANAGER_ID[8] = 101EMPLOYEES.MANAGER_ID[9] = 108EMPLOYEES.PHONE_NUMBER[0] = 1.515.555.0100EMPLOYEES.PHONE_NUMBER[1] = 1.515.555.0101EMPLOYEES.PHONE_NUMBER[2] = 1.515.555.0102EMPLOYEES.PHONE_NUMBER[3] = 1.590.555.0103EMPLOYEES.PHONE_NUMBER[4] = 1.590.555.0104EMPLOYEES.PHONE_NUMBER[5] = 1.590.555.0105EMPLOYEES.PHONE_NUMBER[6] = 1.590.555.0106EMPLOYEES.PHONE_NUMBER[7] = 1.590.555.0107EMPLOYEES.PHONE_NUMBER[8] = 1.515.555.0108EMPLOYEES.PHONE_NUMBER[9] = 1.515.555.0109EMPLOYEES.SALARY[0] = 24000EMPLOYEES.SALARY[1] = 17000EMPLOYEES.SALARY[2] = 17000EMPLOYEES.SALARY[3] = 9000EMPLOYEES.SALARY[4] = 6000EMPLOYEES.SALARY[5] = 4800EMPLOYEES.SALARY[6] = 4800EMPLOYEES.SALARY[7] = 4200EMPLOYEES.SALARY[8] = 12008EMPLOYEES.SALARY[9] = 9000 | |||
| 4 | clear unchanged | Click BUTTONS.CLEAR_BUTTON | BUTTONS.CLEAR_BUTTON[0] | ||||
| 5 | Type EMPLOYEES.SALARY[2] = 1 | EMPLOYEES.SALARY[2] | EMPLOYEES.SALARY[2] = 1 | ||||
| 6 | clear changed | Click BUTTONS.CLEAR_BUTTON | CONFIRM_CLEAR/PushButton:Cancel | Do you want to discard all changes ? | |||
| 7 | keep | Answer the alert Cancel | BUTTONS.CLEAR_BUTTON[0] | ||||
| 8 | clear again | Click BUTTONS.CLEAR_BUTTON | CONFIRM_CLEAR/PushButton:Cancel | Do you want to discard all changes ? | |||
| 9 | discard | Answer the alert OK | EMPLOYEES.APEX[0] | EMPLOYEES.SALARY[2] = 17000 |
Database effects
None: the scenario changes no row and draws no sequence value.
Classified diff against the migrated app
Diff: employees-clear counts: match 921, tolerated 0, waived 0, defect 0, unmapped 0, harness 0 generated-id pairs (source -> target): none waivers: H1 [proposed] APEX links fail with FRM-92022 instead of opening the page: applied to 0 value(s) H2 [proposed] Department tab keeps the previous department number: applied to 0 value(s)
Waivers
No waiver applies to this scenario: every compared value matches or is within the tolerance policy.



















