Возврат значений списка из скрипта Python с использованием специального ключевого слова Robot Framework - PullRequest
0 голосов
/ 28 декабря 2018

Я создал специальное ключевое слово Robot Framework в скрипте Python, который возвращает полные пути к файлам в структуре каталогов.Я могу запустить скрипт python отдельно и получить ожидаемые результаты, однако, когда я использую скрипт в качестве настраиваемого ключевого слова, возвращаемый список будет пустым.

Любая помощь приветствуется. Ниже приведен код: ROBOT CODE

Settings 
Library  FilePaths.py

Test Cases

GetsubmissionFiles

  @{List}=  get filepaths  ////SomeServer//D//TestData//Automation//UK//

Вот код Python:

import os
class  FilePaths:
    ROBOT_LIBRARY_SCOPE = 'GLOBAL'

d = "\\\\SomeServer\\D\\TestData\\Automation\\UK\\"

def get_filepaths(d):

    file_paths = []  
    for root, directories, files in os.walk(d):
        for filename in files:
            filepath = os.path.join(root, filename)
            file_paths.append(filepath)
    return file_paths

full_file_paths = get_filepaths(d)

print(full_file_paths)

Проблема В Robot Framework получается пустое значение списка без путей к файлам. Возвращаемое значение = []

1 Ответ

0 голосов
/ 08 января 2019

Проблема в том, что вы не используете правильный путь к файлу.Для путей UNC вам нужно использовать только одну косую черту, а не двойную косую черту:

@{List}=  get filepaths  //SomeServer/D/TestData/Automation/UK/

В своем вопросе вы заявляете: «Я могу запустить скрипт Python отдельно и получить ожидаемые результаты», но вкод Python, который вы используете с обратной косой чертой.Поскольку вы используете обратную косую черту в строке, вы должны удвоить их.С косыми чертами нет необходимости делать это.

Другими словами, это работало в python, но не в роботе, потому что вы использовали правильный путь в python и неверный путь в роботе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...