Я новичок в ООП.В последнее время я работаю над проектом, целью которого является запуск всех тестовых примеров в каждом sku из конфигурационного файла.Ниже приведен формат моего файла конфигурации.
<Project name="XXX">
<AllServer>
<LogServer>
<Host>192.168.122.3</Host>
<User>test</User>
<Password>test</Password>
<RemoteFolder>xxx</RemoteFolder>
<MountPoint>/SERVER</MountPoint>
</LogServer>
</AllServer>
<Sku name="A">
<TestStage stage="T1">
<TestCase name="Case1">
<Command>bash Case1.sh</Command>
<Timeout>5</Timeout>
</TestCase>
</TestStage>
<TestStage stage="T2">
<TestCase name="Case2">
<Command>bash Case2.sh</Command>
<Timeout>5</Timeout>
</TestCase>
</TestStage>
</Sku>
</Project>
Как видите, в проекте есть настройка сервера журналов.И я создам объект logServer в конфигурации после прочтения файла конфигурации с помощью XmlConfigManager, как показано ниже.
config = XmlConfigManager(os.path.join(os.path.dirname(__file__), os.pardir, "Config", "test_config.xml")).read()
projectRunner = ProjectRunner()
# Run all projects
for project in config.projects:
projectRunner.run(project)
XmlConfigManager вернет объект конфигурации, который содержит объект сервера журнала.Но я не знаю, как использовать его в методе run бегуна тестового примера.Вот мой код.
class CaseRunner(object):
def __init__(self):
pass
def run(self, case):
# skip test when skip is true
if case.skip == True:
print("Skip %s test..." % case.name)
return True
# Inform log server to start
???
# Run command
print("[%s]: %s" % (case.name, case.command))
# Inform log server to stop
???
Спасибо.