Robot Framework - TypeError: родственник только различает дату / время - PullRequest
0 голосов
/ 17 января 2019

Я получаю ошибку TypeError :lativedelta только diffs datetime / date после выполнения кода

Это мой код робота:

Test calculate age
[Tags]   Test
${cal}      AgeTest   1988, 10, 1

Это мой код Python:

from datetime import date
from dateutil.relativedelta import relativedelta

def AgeTest(dob):
age = relativedelta(date.today(), dob)
print (age)
return age.years, age.months, age.days

Как это исправить.

Ответы [ 2 ]

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

Тип данных dob , который вы передаете, равен String, но в python необходимо tuple Так что вам нужно сначала преобразовать вашу строку в tuple, просто измените следующие ниже

def AgeTest(dob):
    dobnew = tuple(map(int, dob.split(',')))
    age = relativedelta(date.today(), date(*dobnew))
    return age.years, age.months, age.days
0 голосов
/ 17 января 2019

Я не работал с Robot Framework, но мне кажется, что он не распознал ваш вклад как правильную дату; может помочь docs , возможно, отформатировать его как 1988-10-1. С другой стороны, если dob является кортежем, вы можете легко превратить его в date объект:

age = relativedelta(date.today(), date(*dob))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...