2015-11-23 2 views
0

J'essaie d'écrire un test de Robot Framework pour le téléchargement de fichiers. Im en utilisant le mot-clé ci-dessous pour effectuer la fonction.Obtenir le chemin n'est pas une erreur canonique lors d'un test fonctionnel à l'aide de Robot Framework

Choose File ${UPLOAD_FILE_HIDDEN_INPUT} ${UPLOAD_FILE_NAME} 

${UPLOAD_FILE_HIDDEN_INPUT} xpath=//input[@type="file"] 

et $ {} UPLOAD_FILE_NAME est l'emplacement du chemin où je suis en train de placer le fichier qui doit être téléchargé.

Mon testcase est en dessous de répertoire

C:\Dev\Application\tests\functional\Robot\TestSuite\TestCase 

Je place le fichier qui doit être téléchargé dans ci-dessous répertoire

C:\Dev\Application\tests\functional\Robot\Images\File1.jpg 

Je déclare la variable $ {UPLOAD_FILE_NAME} dans la section variable du cas de test. Pour se rendre à l'emplacement du fichier, je dois retourner un dossier

C:\Dev\Application\tests\functional\Robot\ 

puis passez à dossier images C: \ Dev \ Application tests \ \ fonctionnels \ \ Robot Images

In- pour réaliser cela, je me sers en dessous de la valeur à la variable

${UPLOAD_FILE_NAME} ${CURDIR}\\..\\Images\\File1.jpg 

Mais je reçois l'erreur ci-dessous

path is not canonical: C:\\Dev\\ClaimLogUI\\tests\\functional\\Robot\\TestSuite\\..\\Chrysanthemum.jpg\n (Session info: chrome=46.0.2490.86)\n (Driver info: chromedriver=2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3),platform=Windows NT 6.1 SP1 x86_64)' 

J'ai utilisé une notation de type similaire à celle d'autres fichiers dans un autre scénario et cela fonctionnait correctement. Je ne suis pas sûr où je vais mal afin de localiser File1.jpg. J'utilise Chrome Browser pour effectuer ce test. Quelqu'un pourrait-il m'aider?

Répondre

0

$ {CURDIR} est le chemin vers le répertoire où se trouve le fichier de données de test.

Vous devez utiliser $ {EXECDIR}, qui est le chemin absolu du répertoire dans lequel l'exécution du test a démarré.

-1

Vous pouvez utiliser mot-clé Normaliser Chemin de OperatingSystem bibliothèque pour rendre votre chemin comme

${NORMAL_PATH_UPLOAD_FILE_NAME} Normalize Path ${UPLOAD_FILE_NAME}

canonique Ensuite, vous pouvez utiliser ce code sans erreur

Choose File ${UPLOAD_FILE_HIDDEN_INPUT} ${NORMAL_PATH_UPLOAD_FILE_NAME}

(Vous peut lire ceci pour plus d'informations http://robotframework.org/robotframework/latest/libraries/OperatingSystem.html)