*** Settings *** Documentation Fonctions et méthodes de traitement *** Keywords *** STR_PAD_LEFT # ${input} Chaîne d'entrée. # ${pad_length} Taille de la chaîne à retourner. # ${pad_string} Caractère pour combler les vides de la chaîne à retourner. [Arguments] ${input} ${pad_length} ${pad_string} # On récupère le nombre de caractère de ${input} ${input_lenght} = Get Length ${input} # On convertit les variables en integer ${pad_length} = Convert to Integer ${pad_length} ${input_lenght} = Convert to Integer ${input_lenght} # On récupère le nombre de ${pad_string} à ajouter ${lenght} = Evaluate ${pad_length}-${input_lenght} # On déclare la variable à retourner ${result} Set Variable # On concatène ${pad_string} pour chaque ${lenght} :FOR ${INDEX} IN RANGE 0 ${lenght} \ ${result} = Catenate SEPARATOR= ${result} ${pad_string} # On concatène au résultat ${input} ${result} = Catenate SEPARATOR= ${result} ${input} # On retourne la valeur [return] ${result} STR_REPLACE # ${pattern} Texte à remplacer. # ${replace_with} Texte de remplacement. # ${string} Chaîne à modifier. [Arguments] ${pattern} ${replace_with} ${string} ${result} = Replace String Using Regexp ${string} ${pattern} ${replace_with} [return] ${result} Sans espace [Arguments] ${string} ${result} = STR_REPLACE ${SPACE} ${EMPTY} ${string} [return] ${result} Date du jour FR ${yyyy} = Get Time year ${mm} = Get Time month ${dd} = Get Time day [return] ${dd}/${mm}/${yyyy} Date du jour EN ${yyyy} = Get Time year ${mm} = Get Time month ${dd} = Get Time day [return] ${yyyy}-${mm}-${dd} # Appel une ressource REST fail sur =! 200 et retourne le message Appeler le web service [Documentation] Appel une ressource REST et retourne son message, ... fail si != de 200 [Arguments] ${methods} ${ressource} ${json} Run Keyword If '${methods}' == 'null' Fail No HTTP method ${session} = Catenate http${PROJECT_NAME} Create Session ${session} ${PROJECT_URL}services/rest_entry.php ${headers} = Create Dictionary Content-Type=application/json ${resp} = Run Keyword If '${methods}' == 'Get' Get Request ${session} /${ressource} headers=${headers} ... ELSE IF '${methods}' == 'Post' Post Request ${session} /${ressource} data=${json} headers=${headers} ... ELSE IF '${methods}' == 'Put' Put Request ${session} /${ressource} data=${json} headers=${headers} ... ELSE IF '${methods}' == 'Delete' Delete Request ${session} /${ressource} data=${json} headers=${headers} ... ELSE Fail No HTTP method [return] ${resp} Vérifier le code retour du web service et retourner son message [Arguments] ${methods} ${ressource} ${json} ${code} ${resp} = Appeler le web service ${methods} ${ressource} ${json} Should be Equal '${resp.status_code}' '${code}' ${data} = To Json ${resp.content} [return] ${data['message']} Vérifier le code retour du web service et vérifier que son message contient [Arguments] ${methods} ${ressource} ${json} ${code} ${message} ${resp} = Appeler le web service ${methods} ${ressource} ${json} Should be Equal '${resp.status_code}' '${code}' ${data} = To Json ${resp.content} Run Keyword If Run Keyword And Return Status Get From Dictionary ${data} message Should be Contain '${data['message']}' '${message}' Vérifier le code retour du web service et vérifier que son message est [Arguments] ${methods} ${ressource} ${json} ${code} ${message} ${resp} = Appeler le web service ${methods} ${ressource} ${json} Should be Equal '${resp.status_code}' '${code}' ${data} = To Json ${resp.content} ${is_message_exist} = Run Keyword And Return Status Get From Dictionary ${data} message Run Keyword If ${is_message_exist} Should be Equal '${data['message']}' '${message}' Sans quote simple [Arguments] ${string} ${result} = STR_REPLACE ' '' ${string} [return] ${result} Si "${key}" existe dans "${collection}" on execute "${keyword}" dans le formulaire ${exist} = Run Keyword And Return Status Dictionary Should Contain Key ${collection} ${key} Run Keyword If ${exist} == True ${keyword} ${key} ${collection.${key}} Si "${key}" existe dans "${collection}" on execute "${keyword}" dans "${subform}" ${exist} = Run Keyword And Return Status Dictionary Should Contain Key ${collection} ${key} Run Keyword If ${exist} == True ${keyword} css=#sousform-${subform} #${key} ${collection.${key}} Si "${key}" existe dans "${collection}" on execute "${keyword}" sur "${locator}" ${exist} = Run Keyword And Return Status Dictionary Should Contain Key ${collection} ${key} Run Keyword If ${exist} == True Get Value From Dictionary ${collection} ${key} Run Keyword If ${exist} == True ${keyword} ${locator} ${value} Get Value From Dictionary [Arguments] ${collection} ${key} ${value} = Get From Dictionary ${collection} ${key} Set Suite Variable ${value} Input Datepicker From Css Selector [Arguments] ${selector} ${date} # On clique sur l'image du datepicker Click Image ${selector} + .ui-datepicker-trigger # On récupère le jour ${day} = Get Substring ${date} 0 2 # On récupère le mois ${month} = Get Substring ${date} 3 5 # On récupère l'année ${year} = Get Substring ${date} 6 # Récupère le premier chiffre de la date ${day_first_character} = Get Substring ${day} 0 1 # Récupère le deuxième chiffre de la date ${day_second_character} = Get Substring ${day} 1 2 # On fait -1 sur le mois pour avoir la value du datepicker ${month} = Convert to Integer ${month} ${datepicker_month} = Evaluate ${month}-1 ${datepicker_month} = Convert to String ${datepicker_month} # On sélectionne le mois Wait Until Keyword Succeeds 10 sec 0.2 sec Select From List By Value css=.ui-datepicker-month ${datepicker_month} # On sélectionne l'année Select From List By Value css=.ui-datepicker-year ${year} # On sélectionne le jour, sur un caractère ou deux selon la valeur du premier Run keyword If '${day_first_character}' == '0' Click Link ${day_second_character} ELSE Click Link ${day} # On attend le temps que le datepicker ne soit plus affiché Sleep 1