Creazione Test in Automatico

 

Requisito Utente

 

Partendo da una folder di Test Plan deve essere possibile inserire automaticamente un caso di test alle ultime cartelle dell'alberatura.

 

Soluzione Proposta

 

Creazione di un tasto nella sezione Test Plan che effettua creazione di un caso di test fittizio nelle ultime folder nel caso queste siano vuote.


 

______________________________________________________________________

 

Implementazione sul Prodotto

 

L'implementazione prevede la creazione di un nuovo pulsante nella sezione Test Plan che:

  • estrae tutte le folder il cui path inizia con lo stesso path della cartella selezionata
  • controlla che non abbiano figli (folder o test)
  • crea oggetto test virtuale (NULL)
  • aggiunge tutti i valori di default per gli attributi obbligatori

 

1. ActionCanExecute: richiamo Sub

Function ActionCanExecute(ActionName)

On Error Resume Next

Dim Res

Res = True

 

'supponiamo che la action richiamata dal pulsante sia act_CreaTest

if ActionName = "act_CreaTest" then

    'richiamo sub in TestPlan

    Test_CreazioneAutomatica

end if

 

ActionCanExecute = Res

On Error Goto 0

End Function

 

 

E' necessario dichiarare una variabile globale in common che rappresenta l'oggetto Folder in cui ci si è posizionati. Quindi dichiareremo nel common module all'inizio l'oggetto Folder_TP come segue

 

Dim Folder_TP

 

Inseriremo nella Sub MoveToSubject questa istruzione

 

Sub MoveToSubject(Subject)

On Error Resume Next

     Set Folder_TP = Subject   'rendo Subject oggetto globale di modulo

On Error Goto 0

End Sub

 

Devo gestire anche la sua distruzione inserendo il codice:

 

    set Folder_TP = Nothing

 

sia in Test_MoveTo (modulo Test Plan) che in ExitModule (modulo Common)

 

 

2. Sub in TestPlan.  

Sub Test_CreazioneAutomatica

On Error Resume Next

Dim ListOfSons, MyCom, RecSet, MyTest

 

'controllo se ha almeno un figlio
if Folder_TP.Count > 0 then

 

     'carico la lista dei figli/nipoti/ecc...
     Set ListOfSons = objFlder_TP.FindChildren("",False,"")

 

        'ciclo per ogni figlio
        for each El_Fld in ListOfSons

 

          'mi chiedo se la cartella è l'ultima (.Count<1)
          'e non è Unattached
          if El_Fld.Count < 1 And _
             El_Fld.Name <> "Unattached" then

 

             'quey per vedere se sotto la cartella
             'non esistono tests

              qry = "Select count(*) from test where ts_subject = " & El_Fld.NodeID

       

              'creo oggetto Command per esecuzione query

              set MyCom = TDConnection.Command
              MyCom.CommandText = qry

            

              'esecuzione query
              set RecSet = MyCom.Execute

 

              'mi posiziono all'inizio del RecordSet

              RecSet.First

             

              'Verifico che non esistano test sotto la folder

              if RecSet.FieldValue(0) = 0 then

                'creo il test 

                set MyTest = TDConnection.TestFactory.AddItem(Null)
                MyTest.Name = "NomeTest"
                MyTest.Type = "MANUAL"
                MyTest.Field("TS_SUBJECT") = El_Fld.NodeID

 

                'imposto tutti i dati obbligatori

                MyTest.Field("TS_USER_01") = "Valore"
                .....


                MyTest.Post
                MyTest.Refresh
                set MyTest = Nothing               

 

              end if

 

              'distruggo gli oggetti

              Set RecSet = Nothing
              Set MyCom  = Nothing

 

          end if

 

        next

 

     set ListOfSons = Nothing


end if

 

'Effettuo Refresh

Actions.Action("act_filter_refresh").Execute 

 

On Error Goto 0

End Sub

 

 

Pag: <<    <    >    >>