Невозможно получить значение из файла XML, где значения передаются в качестве ключа - PullRequest
0 голосов
/ 13 июня 2018

QAF версия

2.1.13 и 2.1.14-RC1

У меня ниже тестовых данных в XML-файле -

<registration>
    <existingdata>
        <title>Mr</title>
        <firstname>Narendra</firstname>
        <lastname>Rajput</lastname>
        <email>narendra.rajput@infostretch.com</email>
        <password>Qwerty@123</password>
        <confirmPassword>Qwerty@123</confirmPassword>
        <message>${registration.existing.user.message}</message>
    </existingdata>
</registration>

Изначения сообщения хранятся в appdata.en_GB файле -

registration.existing.user.message = There is already an account with this email address. If you are sure that it is your email address, click here to get your password and access your account.

Пока я пытаюсь получить доступ к значению сообщения на шаге BDD, как указано ниже -

Then verify user with same email already registered message '${registration.existingdata.message}'

Код реализацииВышеуказанный шаг -

@QAFTestStep(stepName = "verifyUserAlreadyRegisteredMessage", description = "verify user with same email already registered message {0}")
public void verifyUserAlreadyRegisteredMessage(String message) {
    verifyVisible("message.success.failure.text");
    verifyText("message.success.failure.text", message);
}

Ожидаемое поведение

Здесь я смогу получить значение сообщения, т.е. Уже существует учетная запись с этим адресом электронной почты.Если вы уверены, что это ваш адрес электронной почты, нажмите здесь, чтобы получить пароль и войти в свою учетную запись.

Фактическое поведение

Но он получает значения как - $ {registration.existing.user.message} , который является ссылочным ключом в XML-файле

И вот как я загружаю локали в application.properties файле:

env.default.locale=en_GB
env.load.locales=en_GB

Примечание. Если я запускаю тест, передавая ключ, значит, он работает, как и ожидалось, как показано ниже

SCENARIO: UserRegistrationWithExistingEmail
META-DATA: {"description":"Registration with already registered email","groups":["REGRESSION"],"key":"registration.existingdata"}
    Given user is on homepage
    When clicks on create an account link
    And fill registration form with data '${args[0]}'
    And click on register button
    Then verify user with same email already registered message '${message}'

END

1 Ответ

0 голосов
/ 15 июня 2018

Необходимо убедиться, что локальные файлы находятся под настроенными ресурсами.Например, если конфигурация вашего ресурса указывает на resources, то локальные файлы должны быть в ресурсах.Ниже приведено несколько примеров:

env.resource=resources
resources.load.subdirs=1
env.default.locale=en_GB
env.load.locales=en_GB

все ваши ресурсы будут загружены, включая локали из resources (и его подкаталоги).

env.resource=resources\common;resources\qa1
#If you will set resources.load.subdirs=0 then resources from subdirectories will not loaded.
resources.load.subdirs=1
env.default.locale=en_GB
env.load.locales=en_GB

все ваши ресурсы будут загружены, включая локали изresources\common (и его подкаталоги) и resources\qa1 (и его подкаталоги).Имейте в виду, что это не будет загружать другие ресурсы в родительском (в данном случае resources) каталоге.

...