Я импортирую библиотеки python и хотел создать два объекта с разными аргументами и вызовом метода, определенного в классе.
demo.py
class Sample:
def __init__(self,path,device):
self.device=device
self.path = path
print(self.device)
print(self.path)
def getting_path(self):
print(self.path)
print(self.device)
return self.path
demo.robot
===============
*** Settings ***
*** Variables ***
${path} c:
${device} samsung
${path1} D:
${device1} samsung11
*** Test Cases ***
Test
Test_python_class
*** Keywords ***
Test_python_class
Import Library demo.Sample ${path1} ${device1}
${result} = demo.sample.getting_path
log ${result}
Import Library demo.Sample ${path} ${device}
${result1} = demo.sample.getting_path
log ${result1}
Не создается второй объект. $ {result} и {result1} печатают одно и то же значение.
Я могу добиться этого, используя синтаксис ниже, используя имя WITH с двумя значениями. и вызов, как показано ниже, используя WITH NAME
Import Library demo.Sample ${path1} ${device1} With Name c1
${result} = c1.getting_path
log ${result}
Import Library demo.Sample ${path} ${device} With Name c2
${result1} = c2.getting_path
log ${result1}
Но это решение не является оптимальным. Если мне нужно создать 10 объектов с разным значением, мне нужно использовать 10 операторов import здесь.
Оцените, если кто-нибудь может предоставить какие-либо входные данные для оптимального решения, где я могу определить эти шаги как функцию / ключевое слово робота, которая примет эти аргументы для конструктора и вернет мне дескриптор объекта, чтобы мы могли вызывать метод класса, используя различные объект.