Как использовать мой объект сервера в моем объекте теста? - PullRequest
0 голосов
/ 23 января 2019

Я новичок в ООП.В последнее время я работаю над проектом, целью которого является запуск всех тестовых примеров в каждом 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
    ???

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...