Я построил гибридную библиотеку в python для robotframework. Один из методов этого API возвращает строку, которую я хочу присвоить переменной robotframework в тесте.robotframework гибридная библиотека ключевое слово не вернет значение
${sms_1_2}= encrypt_sms_return_ciphered [email protected] [email protected] sms1to2
Я проверил, что питон код encrypt_sms_return_ciphered сделал возвращать строку. Но проблема в том, что переменной robotframework присваивается None.
Вот код метода:
@InstanceIndex.check_short_name
def encrypt_sms__return_ciphered(self, sender, receiver, clearsms):
self.encrypt_sms(sender, receiver, clearsms)
ClientIndex.success_if(sender, "isSmsSent", receiver, clearsms)
cipheredsms = self.smsSent[receiver, clearsms]
del self.smsSent[receiver, clearsms]
return cipheredsms
Вот код check_short_name декоратора:
@staticmethod
def check_short_name(method):
def wrapper(self, short_name, *args, **kwargs):
if short_name != self.short_name:
try:
getattr(self.collection.iterate(), method.__name__)(short_name, *args, **kwargs)
except StopIteration:
raise Exception("item \"%s\" is not a member of %s, or method \"%s\" is not defined for any member of %s" % (short_name, self.collection.name, method.__name__, self.collection.name))
else:
self.collection.rewind()
return method(self, short_name, *args, **kwargs)
return wrapper