Localization 如何设置编码UI测试的区域性以从资源文件获取本地化文本?
情景: 我们有一个具有本地化功能的应用程序,我们使用广泛的编码UI测试套件进行自动化测试。UI文本反映用户选择的主要语言,例如法语 我们有许多消息断言来检查特定的结果,因此我们必须适应本地化环境 我已经开始创建本地化的Resources.resx文件(例如Resources.fr-fr.resx),并将CurrentUICulture设置为fr-fr,但始终检索英文字符串。(Properties.Resources.Culture始终为空,即使我强制设置,也不会成功…) 有没有关于如何实现这一点的想法,或者我的错误在哪里?我是否必须使用本地化文本强制部署程序集Localization 如何设置编码UI测试的区域性以从资源文件获取本地化文本?,localization,automated-tests,coded-ui-tests,Localization,Automated Tests,Coded Ui Tests,情景: 我们有一个具有本地化功能的应用程序,我们使用广泛的编码UI测试套件进行自动化测试。UI文本反映用户选择的主要语言,例如法语 我们有许多消息断言来检查特定的结果,因此我们必须适应本地化环境 我已经开始创建本地化的Resources.resx文件(例如Resources.fr-fr.resx),并将CurrentUICulture设置为fr-fr,但始终检索英文字符串。(Properties.Resources.Culture始终为空,即使我强制设置,也不会成功…) 有没有关于如何实现这一点
谢谢 好吧,我想出来了:
对于编码的UI测试,所有必需的程序集都必须位于..\TestResults\uniqueTestInstance\Out文件夹中。语言程序集不会自动复制到此处,因此我所做的是将以下内容添加到我的testsettings文件中:
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="RegressionCUIT" id="caf0f1b1-7dd7-4bbe-9920-edd664229791" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Deployment>
<DeploymentItem filename="Resources\TestData.xml" />
<DeploymentItem filename="RegressionTesting\bin\Debug\de-DE\" outputDirectory="de-DE\" />
<DeploymentItem filename="RegressionTesting\bin\Debug\fr-FR\" outputDirectory="fr-FR\" />
</Deployment>
</TestSettings>
这些是本地测试运行的默认测试设置。
请注意DeploymentItem上的outputDirectory属性。
现在工作得很出色
请在此处阅读有关文件部署的详细信息: