将应用程序中捕获的字符串与具有两种不同预期语言的代码中的正则表达式模式进行比较

问题描述 投票:0回答:1

我正在开发一个具有多种语言选项的应用程序。我遇到的问题是提出一种有效的方法来验证屏幕上的文本。

根据语言,文本将为10或1或10

我试图做一些事情

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

availableDesignCountText将是从应用程序捕获的值(10个中的1个或1个10)。

我最终想做一个assertEquals,它将字符串与正则表达式模式进行比较,并适用于任何一种语言。也许是这样的

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

任何建议书?

谢谢!

c# regex string comparison string-comparison
1个回答
0
投票
            // 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");

这最终成功了!

© www.soinside.com 2019 - 2024. All rights reserved.