如何为编码的 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 测试设置文化以从资源文件中获取本地化文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Xcode UI 测试禁用沙箱

IOS如何为UICollectionView的第一个单元格设置动画以从右侧滑入

Android:如何为应用程序设置文化值

如何为整个 c# 应用程序设置默认文化信息

如何为 ListView.builder 加载数据以从提供者的数据构建

eclipse编码格式设置教程如何为eclipse设置编码格式?