bir sınıfında kullanılabilir kelime tanımlayın:robotframework: Bir kütüphane, bir modül içinde bir sınıf olarak uygulayan
MyLib.py
class MyLib(ParentLib):
def __init__(self):
#do stuff
pass
def keyword(self, arg1):
robot.api.logger.console('keyword')
ParentLib.py
class ParentLib:
def __init__(self):
pass
def parent_keyword(self, arg):
robot.api.logger.console('parent keyword')
Bu kütüphaneyi Library MyLib
numaralı telefondan sorun olmadan içe aktarabilirim. Bu sezgisel karşıt görünebilir, ancak MyLib'in Parent Keyword
sağlamasını engellemek istiyorum. Eğer bir kullanıcı Parent Keyword
istiyorsa, bunların Library ParentLib
ile manuel olarak içe aktarılmasını zorunlu tutuyorum. Bu mümkün mü yoksa kütüphanemin uygulanma şeklini yeniden düzenlemem gerekiyor mu?
parent_keyword, herhangi bir ParentLib alt sınıfı tarafından miras alınacaktır. Bunu önlemek istiyorsanız, alt sınıflandırma yapmayın VEYA alt öğe –
@Apero alt sınıfında parent_keyword'ü geçersiz kılın. Robotun, hangi sınıf yönteminin anahtar sözcükler olduğunu tanımlamak için bir yöntem sağlayıp sağlamadığını merak ediyordum. (Biliyorum '__all__' modüller için python işlevselliğinde yerleşiktir.) – ewok
__alll__ burada yardımcı olamaz. parent_keyword bir sınıfın bir yöntemidir, bu nedenle sınıfın içe aktarılabilir olması durumunda yöntemleri ilerlemektedir. –