*** Settings *** Documentation Actions spécifiques aux pièces. *** Keywords *** Depuis le contexte de la pièce par le dossier d'instruction [Documentation] Permet d'accéder à l'écran de visualisation de la pièce. [Arguments] ${dossier_instruction} ${document_numerise} Depuis l'onglet des pièces du dossier d'instruction ${dossier_instruction} Click Element Until No More Element xpath=//div[@id="sousform-document_numerise"]/descendant::div[@id="sousform-container"]/descendant::table[contains(@class,"document_numerise")]/descendant::a[text()[contains(.,"${document_numerise}")]] #${selector} = Set Variable xpath=//div[@id="sousform-document_numerise"]/descendant::table[contains(@class,"document_numerise")]/descendant::a/span[normalize-space(text())="${document_numerise}"]/ancestor::tr/descendant::a/span[normalize-space(text())="Consulter"] #Click Element Until No More Element ${selector} Ajouter une pièce depuis le dossier d'instruction [Documentation] Permet d'ajouter une pièce sur un dossier d'instruction. ... ATTENTION : si l'option option_notification_piece_numerisee n'est pas active ce KW échoue ... car il ne peut pas récupérer l'id du message. [Arguments] ${dossier_instruction} ${document_numerise_values} ${message}=null Saisir et valider le formulaire d'ajout d'une pièce sur le dossier d'instruction ... ${dossier_instruction} ... ${document_numerise_values} ... ${message} # Retourne l'identifiant du message de notification ${dossier_message_id} = Get Value dossier_message_id [Return] ${dossier_message_id} Saisir et valider le formulaire d'ajout d'une pièce sur le dossier d'instruction [Documentation] Permet d'ajouter une pièce sur un dossier d'instruction. [Arguments] ${dossier_instruction} ${document_numerise_values} ${message}=null Depuis l'onglet des pièces du dossier d'instruction ${dossier_instruction} # Vérifie que l'action d'ajout est accessible et accède au formulaire d'ajout Wait Until Element Is Visible id=action-soustab-blocnote-message-ajouter Click Element id=action-soustab-blocnote-message-ajouter # Remplit le formulaire d'ajout Saisir la pièce ${document_numerise_values} # On valide le formulaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Submit Button In Subform # On vérifie le message de validation Run Keyword If '${message}' != 'null' Message Should Contain In Subform ${message} Run Keyword If '${message}' == 'null' Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. Modifier une pièce depuis le dossier d'instruction [Documentation] Permet de modifier une pièce sur un dossier d'instruction. [Arguments] ${dossier_instruction} ${document_numerise} ${document_numerise_values} ${message}=null # Depuis le contexte de la pièce par le dossier d'instruction ${dossier_instruction} ${document_numerise} # On clique sur l'action modifier Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action document_numerise modifier # Saisir la pièce ${document_numerise_values} # On valide le formulaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Submit Button In Subform # On vérifie le message de validation Run Keyword If '${message}' != 'null' Message Should Contain In Subform ${message} Run Keyword If '${message}' == 'null' Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. Supprimer une pièce depuis le dossier d'instruction [Documentation] Permet de supprimer une pièce sur un dossier d'instruction. [Arguments] ${dossier_instruction} ${document_numerise} ${message}=null # Depuis le contexte de la pièce par le dossier d'instruction ${dossier_instruction} ${document_numerise} # On supprime la pièce Supprimer une pièce depuis la page de consultation de la pièce Supprimer une pièce depuis la page de consultation de la pièce [Documentation] Permet de supprimer une pièce en partant de son interface de consultation. [Arguments] ${message}=null # On clique sur laction supprimer Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action document_numerise supprimer # On valide le formulaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Submit Button In Subform # On vérifie le message de validation Run Keyword If '${message}' != 'null' Message Should Contain In Subform ${message} Run Keyword If '${message}' == 'null' Valid Message Should Contain In Subform La suppression a été correctement effectuée. Saisir la pièce [Documentation] Saisit les valeurs du formulaire. [Arguments] ${document_numerise_values} # Si "uid_upload" existe dans "${document_numerise_values}" on execute "Add File" sur "uid" Si "date_creation" existe dans "${document_numerise_values}" on execute "Input Datepicker From Css Selector" dans "document_numerise" ${exist} = Run Keyword And Return Status Dictionary Should Contain Key ${document_numerise_values} document_numerise_type Run Keyword If ${exist} == True Select From Chosen List document_numerise_type ${document_numerise_values.document_numerise_type} Si "description_type" existe dans "${document_numerise_values}" on execute "Input Text" dans "document_numerise" Si "uid_dossier_final" existe dans "${document_numerise_values}" on execute "Input HTML" dans "document_numerise" Si "document_numerise_nature" existe dans "${document_numerise_values}" on execute "Select From List By Label" dans "document_numerise" Télécharger toutes les pièces [Documentation] Utilise l'action "Récupérer toutes les pièces" pour récupérer ... l'archive, qui est ensuite enregistrée dans le répertoire courant Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element zip_download_link Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Êtes vous sûr de vouloir télécharger l'intégralité des pièces du dossier Click Element css=button.ui-button:nth-child(1) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Votre archive est prête, Page Should Contain Cliquez ici pour la télécharger ${link} = Get Element Attribute archive_download_link href ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link} ${EXECDIR}${/}binary_files${/} ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name} Click Element css=.ui-icon-closethick [Return] ${full_path_to_file} ${output_name} Télécharger tous les documents [Documentation] Utilise l'action "Télécharger tous les documents" pour récupérer ... l'archive, qui est ensuite enregistrée dans le répertoire courant Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element zip_download_link Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Êtes vous sûr de vouloir télécharger l'intégralité des documents du dossier Click Element css=button.ui-button:nth-child(1) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Votre archive est prête, Page Should Contain Cliquez ici pour la télécharger ${link} = Get Element Attribute archive_download_link href ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link} ${EXECDIR}${/}binary_files${/} ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name} Click Element css=.ui-icon-closethick [Return] ${full_path_to_file} ${output_name} Télécharger le dossier final [Documentation] Utilise l'action "Récupérer toutes les pièces" pour récupérer ... l'archive, qui est ensuite enregistrée dans le répertoire courant Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element telecharger_dossier_final Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Êtes vous sûr(e) de vouloir télécharger l'ensemble des pièces du dossier final ? Click Element css=button.ui-button:nth-child(1) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Votre archive est prête, Page Should Contain Cliquez ici pour la télécharger ${link} = Get Element Attribute archive_download_link href ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link} ${EXECDIR}${/}binary_files${/} ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name} Click Element css=.ui-icon-closethick [Return] ${full_path_to_file} ${output_name} Télécharger l'archive du sous onglet téléchargement [Documentation] On suit les étapes pour télécharger l'archive contenant ... les pièces sélectionnées dans le sous onglet "Téléchargement" Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Êtes vous sûr(e) de vouloir télécharger l'ensemble des documents sélectionnés ? Click Element css=button.ui-button:nth-child(1) Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Votre archive est prête, Page Should Contain Cliquez ici pour la télécharger ${link} = Get Element Attribute archive_download_link href ${output_dir} ${output_name} = Télécharger un fichier ${SESSION_COOKIE} ${link} ${EXECDIR}${/}binary_files${/} ${full_path_to_file} = Catenate SEPARATOR= ${output_dir} ${output_name} Click Element css=.ui-icon-closethick [Return] ${full_path_to_file} ${output_name} Activer l'option de numérisation [Documentation] Permet d'activer l'option de numérisation. Move File ..${/}dyn${/}config.inc.php ..${/}dyn${/}config.inc.php.bak Copy File ..${/}tests${/}binary_files${/}config_option_numerisation.inc.php ..${/}dyn${/}config.inc.php Depuis la page d'accueil admin admin Désactiver l'option de numérisation [Documentation] Permet de désactiver l'option de numérisation Remove File ..${/}dyn${/}config.inc.php Move File ..${/}dyn${/}config.inc.php.bak ..${/}dyn${/}config.inc.php Depuis la page d'accueil admin admin Vérifier création répertoire du dossier [Documentation] Nécessite la librairie OperatingSystem [Arguments] ${dossier_instruction} # On supprime les espaces ${temp} = Sans espace ${dossier_instruction} # On compte la longueur du libellé ${input_lenght} = Get Length ${temp} # A laquelle on ote 2 (taille du suffixe) ${over} = Evaluate ${input_lenght}-2 # On récupère le suffixe ${part2} = Get Substring ${temp} ${over} # On récupère le préfixe ${part1} = Replace String ${temp} ${part2} ${EMPTY} # On concatène les deux, séparés par un point ${repertoire} = Catenate ${part1}.${part2} # On vérifie l'existance du répertoire Directory Should Exist ${EXECDIR}${/}..${/}var${/}digitalization${/}Todo${/}${repertoire} [Return] ${repertoire} Récupérer le chemin du fichier .info de la pièce stocké [Documentation] Permet de récupérer le chemin du .info d'une pièce numérisée dans le ... cas de l'utilisation du conencteur filesystem. [Arguments] ${di} ${dn} Depuis le contexte de la pièce par le dossier d'instruction ${di} ${dn} Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Subform Portlet Action document_numerise modifier ${uid} = Get Value uid ${path_1} = Get Substring ${uid} 0 2 ${path_2} = Get Substring ${uid} 0 4 [Return] ..${/}var${/}filestorage${/}${path_1}${/}${path_2}${/}${uid}.info Ajouter une pièce depuis le dossier contentieux [Documentation] Permet d'ajouter une pièce sur un dossier contentieux. [Arguments] ${contentieux} ${dossier} ${document_numerise_values} ${message}=null # Run Keyword If '${contentieux}' == 'infraction' Depuis l'onglet des pièces du dossier infraction ${dossier} Run Keyword If '${contentieux}' == 'recours' Depuis l'onglet des pièces du dossier recours ${dossier} # Wait Until Element Is Visible id=action-soustab-blocnote-message-ajouter Click Element id=action-soustab-blocnote-message-ajouter # Saisir la pièce dans le contexte ctx ${document_numerise_values} # On valide le formulaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Submit Button In Subform # On vérifie le message de validation Run Keyword If '${message}' != 'null' Message Should Contain In Subform ${message} Run Keyword If '${message}' == 'null' Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. # Retourne l'identifiant du message de notification ${dossier_message_id} = Get Value dossier_message_id [Return] ${dossier_message_id} Saisir la pièce dans le contexte ctx [Documentation] Saisit les valeurs du formulaire dans le contexte des contentieux. [Arguments] ${document_numerise_values} # Si "uid_upload" existe dans "${document_numerise_values}" on execute "Add File" sur "uid" Si "date_creation" existe dans "${document_numerise_values}" on execute "Input Datepicker From Css Selector" dans "document_numerise_contexte_ctx" ${exist} = Run Keyword And Return Status Dictionary Should Contain Key ${document_numerise_values} document_numerise_type Run Keyword If ${exist} == True Select From Chosen List document_numerise_type ${document_numerise_values.document_numerise_type} Si "description_type" existe dans "${document_numerise_values}" on execute "Input Text" dans "document_numerise" Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction [Documentation] Permet d'accéder à l'écran de visualisation des documents de l'onglet pièce. [Arguments] ${dossier_instruction} Depuis l'onglet des pièces du dossier d'instruction ${dossier_instruction} Click Element Until New Element css=div[data-view="document_instruction"] css=div.switcher__label.onglet_active[data-view="document_instruction"] La page ne doit pas contenir d'erreur Depuis le contexte des documents de travail par le dossier d'instruction [Documentation] Permet d'accéder à l'écran de visualisation du document de travail. [Arguments] ${dossier_instruction} ${document_travail} Accéder à l'onglet documents de l'onglet pièces par le dossier d'instruction ${dossier_instruction} # Sélectionne le document de travail cherché Click Element Until No More Element xpath=//div[@id="sousform-document_numerise"]/descendant::div[@id="sousform-container"]/descendant::div[@id="sousform-document_travail"]/descendant::a[text()[contains(.,"${document_travail}")]] Ajouter un document de travail depuis le dossier d'instruction [Documentation] Permet d'ajouter un document de travail sur un dossier d'instruction. [Arguments] ${dossier_instruction} ${document_numerise_values} ${message}=null # Depuis l'onglet des pièces du dossier d'instruction ${dossier_instruction} Click Element Until New Element css=div[data-view="document_instruction"] css=div.switcher__label.onglet_active[data-view="document_instruction"] # Wait Until Element Is Visible id=action-soustab-document_numerise-corner-ajouter Click Element id=action-soustab-document_numerise-corner-ajouter # Saisir la pièce ${document_numerise_values} # On valide le formulaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Submit Button In Subform # On vérifie le message de validation Run Keyword If '${message}' != 'null' Message Should Contain In Subform ${message} Run Keyword If '${message}' == 'null' Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. # Retourne l'identifiant du message de notification ${dossier_message_id} = Get Value dossier_message_id [Return] ${dossier_message_id} Modifier un document de travail depuis le dossier d'instruction [Documentation] Permet de modifier un document de travail sur un dossier d'instruction. [Arguments] ${dossier_instruction} ${document_travail} ${document_numerise_values} ${message}=null # Depuis le contexte des documents de travail par le dossier d'instruction ${dossier_instruction} ${document_travail} # On clique sur l'action modifier Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action document_numerise modifier # Saisir la pièce ${document_numerise_values} # On valide le formulaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Submit Button In Subform # On vérifie le message de validation Run Keyword If '${message}' != 'null' Message Should Contain In Subform ${message} Run Keyword If '${message}' == 'null' Valid Message Should Contain In Subform Vos modifications ont bien été enregistrées. Supprimer un document de travail depuis le dossier d'instruction [Documentation] Permet de supprimer un document de travail sur un dossier d'instruction. [Arguments] ${dossier_instruction} ${document_travail} ${message}=null # Depuis le contexte des documents de travail par le dossier d'instruction ${dossier_instruction} ${document_travail} # On clique sur laction supprimer Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On SubForm Portlet Action document_numerise supprimer # On valide le formulaire Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click On Submit Button In Subform # On vérifie le message de validation Run Keyword If '${message}' != 'null' Message Should Contain In Subform ${message} Run Keyword If '${message}' == 'null' Valid Message Should Contain In Subform La suppression a été correctement effectuée. Le document numerise contiens [Documentation] Clique sur le bouton de visualisation de la pièce dont l'identifiant est passé ... en paramètre. Fait un focus sur l'iframe du document pour pouvoir en valider le contenu. ... Déselectionne la frame et ferme la fenêtre. ... /!\ ne fonctionne que pour les documents numérisés au format PDF [Arguments] ${document} ${content} # Ouverture et focus sur le document Click Element Until New Element ... xpath=//td[text()[contains(.,"${document}")]]/ancestor::tr/descendant::a[@title = "Prévisualiser"] ... css=.ui-widget-overlay Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Be Visible css=.ui-dialog iframe#frame_pdf Select Frame frame_pdf # Vérification du contenu Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} ... Element Should Contain css=div#viewer .page .textLayer ${content} # Fermeture du document Unselect Frame Click Element Until No More Element css=.ui-dialog div#sousform-document_numerise_preview_edition .retour Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Element Should Not Be Visible css=.ui-widget-overlay