0
나는 robotframework 용 파이썬에서 하이브리드 라이브러리를 구축했습니다. 이 API의 메소드 중 하나는 테스트에서 robotframework 변수에 지정하려는 문자열을 반환합니다.robotframework 하이브리드 라이브러리 키워드가 값을 반환하지 않습니다.
${sms_1_2}= encrypt_sms_return_ciphered [email protected] [email protected] sms1to2
나는 encrypt_sms_return_ciphered의 파이썬 코드가 문자열을 반환했음을 확인했습니다. 그러나 문제는 robotframework 변수가 없음에 할당된다는 것입니다.
다음@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