0

我正在使用来自http://vsarcodeduiword.codeplex.com/的 ALM Rangers Coded UI Word 插件,并且我希望能够对选定文本中的字段代码进行断言。

我可以对选定的文本进行断言,该文本由 UITestControl 对象表示。问题是 Coded UI Word Add-in 支持的属性是有限的。由于它是开源的,我尝试自己添加对 Fields 属性的支持(我相信所选文本是 Word.Range 对象)

我在上面提到的外接程序中WordAddIn项目的UITestCommunicator.cs中的GetSelectionProperty中添加了下面这行代码:case PropertyNames.Fields: return selection.Fields;

问题是当我尝试访问该属性时,测试失败并出现下面发布的错误。是否有另一种方法来添加支持,或者

测试方法 CuiAutoTagTagTestProject.CuiAutoTagTagTests.InsertOutTag 抛出异常:System.IO.FileNotFoundException:无法加载文件或程序集 'Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其中之一它的依赖关系。系统找不到指定的文件。Assembly manager加载自:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll在可执行文件C:\Program Files\Microsoft Office\Office14\WINWORD.EXE下运行---详细的错误日志如下。=== 预绑定状态信息 ===LOG: User = WINDWARD\marcusjLOG: DisplayName = Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (Fully-specified)LOG :应用程序库=文件:///C:

4

1 回答 1

0

这就是问题所在,有一个文件没有被复制过来。file:///C:/Users/marcusj/AppData/Roaming/Microsoft Visual Studio ALM Rangers/Coded UI Word 2010 Add-in/Microsoft.VisualStudio.TestTools.UITest.Extension.DLL 丢失。

于是解决办法:我搜了C:,在这里找到了:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies 复制过来,一切都好。

除了向 GetSelectionProperty(WordSelectionInfo, string) 添加一行代码:

case PropertyNames.Fields: return selection.Fields;

我还在 WordPropertyProvider (WordExtension/WordPropertyProvider.cs) 中添加了一行代码:

map.Add(PropertyNames.Fields, new UITestPropertyDescriptor(typeof(Word.Fields), Read));

有了这个,一切似乎都很好。

于 2012-05-24T14:45:11.920 回答