如何为编码的 UI 测试设置文化以从资源文件中获取本地化文本?
Posted
技术标签:
【中文标题】如何为编码的 UI 测试设置文化以从资源文件中获取本地化文本?【英文标题】:How do I set culture for coded UI Test to get localised text from resource file? 【发布时间】:2014-01-15 09:06:35 【问题描述】:场景: 我们有一个具有本地化功能的应用程序,我们使用广泛的编码 UI 测试套件对其进行自动化测试。 UI 文本反映了用户选择的主要语言,例如法语。
我们有许多消息断言来检查特定结果,因此我们必须迎合本地化环境。
我已开始创建本地化 Resources.resx 文件(例如 Resources.fr-FR.resx)并将 CurrentUICulture 设置为 fr-FR,但始终会检索英文字符串。 (Properties.Resources.Culture 始终为空,即使我强制设置它,也没有成功...)
关于如何实现这一点或我哪里出错了有什么想法吗?我是否必须使用本地化文本强制部署程序集?
谢谢!
【问题讨论】:
【参考方案1】:好的,所以我想通了: 对于编码的 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 属性。 现在效果很好。
在此处阅读有关文件部署的更多信息: http://msdn.microsoft.com/en-us/library/ms182475.aspx
【讨论】:
以上是关于如何为编码的 UI 测试设置文化以从资源文件中获取本地化文本?的主要内容,如果未能解决你的问题,请参考以下文章
IOS如何为UICollectionView的第一个单元格设置动画以从右侧滑入