Research Article

Learning-Replay Based Automated Robotic Testing for Mobile App

Algorithm 2

Test replay
(i)Input: test sequence scripts TSSs, AUT
(ii)Output: test result TR
(1)serial_number = 1
(2)while true do
(3)    gui_current = getCurrentGUI()
(4)    gui_elements’ = getObjectDetection(gui_current)
(5)    gui_skeleton’ = getGUISkeleton(gui_elements’)
(6)    if serial_number is 0 then
(7)         break
(8)    else if serial_number is 1 then
(9)         for each tss in TSSs do
(10)              gui_skeleton = getTSSGUI(tss, serial_number)
(11)              e = getSimilarityJudgment(gui_skeleton’, gui_skeleton)
(12)         end for
(13)         TSS’ = getMaxSimliarScript(e, s_threshold)
(14)         serial_number = execteAction(TSS’, serial_number, gui_elements’)
(15)    else
(16)         gui_skeleton = getTSSGUI(TSS′, serial_number)
(17)         e = getSimilarityJudgment(gui_skeleton’, gui_skeleton)
(18)         if e > s_threshold then
(19)             TR ⇐ recordResults()
(20)             serial_number = exectueAction(TSS’, serial_number, gui_elements’)
(21)         else
(22)             TR ⇐ recordResults()
(23)             break
(24)         end if
(25)    end if
(26)end while
(27)return TR
(28)
(29)function executeAction(TSS’, serial_number, gui_elements’)
(30)    object = getTTSObject(TSS′, serial_number)
(31)    object’ = findObject(gui_elements’, object)
(32)    if object’ is find then
(33)         gesture’ = getGesture(TSS′, serial_number)
(34)         action = generateAction(object’, gesture’)
(35)         executeRoboticArm(action)
(36)         serial_number = step(serial_number)
(37)    else
(38)         serial_number = 0
(39)    end if
(40)    return serial_number
(41)end function