Сравнение захваченной строки в приложении с шаблоном Regex в коде с двумя разными ожидаемыми языками - PullRequest
0 голосов
/ 02 апреля 2019

Я работаю над приложением, имеющим несколько языковых опций.Проблема, с которой я сталкиваюсь, заключается в том, чтобы найти эффективный способ проверки текста на экране.

Текст будет либо 1 из 10 , либо 1 de 10 в зависимости от языка

я пытался что-то сделать в соответствии с

string availableDesignCountText = designSelectionPage.designSelectionAvailableDesignCountText.Text.ToLower().Trim();
System.Text.RegularExpressions.Regex.IsMatch(availableDesignCountText, @"^[\d]\s(of|de)\s[\d]");

availableDesignCountText будет значением, полученным из приложения (1 из 10 или 1de 10).

В конечном итоге я хотел бы сделать assertEquals, который сравнивал бы строку с шаблоном регулярных выражений и работал бы для любого языка.Может быть, что-то вроде

TestReporter.assertEquals(availableDesignCountText, expectedText, //regex maybe?
                "The Design Selection Page Available Design Text [" + closeButtonText + "] " +
                "Didn't Match the Expected Text [" + expectedText + "]");

Любые рекомендации?

Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2019
            // Available Design Count Text
            addTestStep("The Design Selection Available Design Text Matches the Expected Text");
            string availableDesignCountText = designSelectionPage.designSelectionAvailableDesignCountText.Text.ToLower().Trim();
            bool textMatches = System.Text.RegularExpressions.Regex.IsMatch(availableDesignCountText, @"^\d+\s+(?:of|de)\s+\d+$");
            TestReporter.assertTrue(textMatches,
                "The Design Selection Page Available Design Text Didn't Match the Expected Format [" + availableDesignCountText + "]");
            addTestStep("Complete");

Это в конечном итоге делает трюк!

...