使用编码的 UI 测试来测试 SharePoint 2010 应用程序

在 SharePoint 应用程序中包括编码的 UI 测试在内,允许您验证整个应用程序是否正常工作(包括其 UI 控件)。编码的 UI 测试还可以验证 UI 中的值和逻辑。

要求

  • Visual Studio 旗舰版 或 Visual Studio 高级专业版 与 Visual Studio 2012.1 或更高版本

还应当编码的 UI 测试了解什么?

若要了解更多有关使用编码的 UI 测试的好处,请参见 使用 UI 自动化验证代码Visual Studio 2012 中持续发送的测试 章节 5 - 自动化系统测试

注释

重要说明重要事项

  • 系统必备 只有 SharePoint 2010 支持对 SharePoint 应用程序进行编码的 UI 测试。

  • 系统必备 Visio 2010 和 PowerPoint 支持的控件,SharePoint 应用程序中不支持。

为您的 SharePoint 应用程序创建编码的 UI 测试

创建编码的 UI 测试为您的 SharePoint 2010 应用程序的和为其它类型的应用程序创建测试一样。Web 的编辑接口支持任何控件的录制和播放。选择类别和 Web 部件接口都是标准 Web 控件。

SharePoint Web 部件

说明说明

如果录制操作,请在生成代码前验证操作。因为有多种行为与鼠标关联,它在默认情况下为打开状态。注意从编码的 UI 测试中删除冗余的悬停。可以通过编辑该代码执行,或者通过使用 编码的 UI 测试编辑器

在 SharePoint 应用程序中包括 Office 2010 控件的测试

若要在您的 SharePoint 应用启用某些 office 2010 Web 组件的自动化,您必须作出一些小代码修改。

警告说明警告

支持 Visio 2010 和 PowerPoint 的控件不被支持。

Excel 2010 单元格控件

若要包括 Excel 单元格控件,则必须在编码的 UI 测试的代码中做些更改。

警告说明警告

在任 Excel 单元格中输入文本,后跟箭头键操作,为不正确记录。使用鼠标选择单元格。

如果记录了一个空单元格的操作,则您必须通过双击单元格来执行 Set 操作文本修改代码。这是必需的,因为单元格上的单击,后跟任何键盘操作会激活在单元格内的 textarea。在空单元格简单记录 setvalue,将一直搜索 editbox,直到单击单元格。例如:

     Mouse.DoubliClick(uiItemCell,new Point(31,14));
     uiGridKeyboardInputEdit.Text=value;

如果在非空单元格记录了操作,则记录变得稍复杂,因为您将文本添加到单元格时,新 <div> 控件作为单元格的子级添加。新的 <div> 控件包含您之前输入的文本。记录器需要记录新建 <div> 控件上的操作;但是,不可以,因为新的 <div> 控件直到测试被输入才存在。必须手动进行以下代码更改来满足此问题。

  1. 转到单元格初始化并制作 RowIndex 和 ColumnIndex 的主要属性:

    this.mUIItemCell.SearchProperties[HtmlCell.PropertyNames. RowIndex] = "3"; 
    this.mUIItemCell.SearchProperties[HtmlCell.PropertyNames. ColumnIndex] = "3";
    
  2. 找到单元格的 HtmlDiv 子级:

    private UITestControl getControlToDoubleClick(HtmlCell cell) 
    { 
         if (String.IsNullOrEmpty(cell.InnerText)) return cell; 
         HtmlDiv pane = new HtmlDiv(cell); 
         pane.FilterProperties[HtmlDiv.PropertyNames.InnerText] = cell.InnerText; 
         // Class is an important property in finding pane 
         pane.FilterProperties[HtmlDiv.PropertyNames.Class] = "cv-nwr"; 
         UITestControlCollection panes = pane.FindMatchingControls(); 
         return panes[0]; 
    } 
    
  3. 双击 HtmlDiv 添加代码:

    Mouse.DoubleClick(uIItemPane, new Point(31, 14)); )
    
  4. 添加代码设置 TextArea上的文本:

    uIGridKeyboardInputEdit.Text = value; }
    

在 SharePoint 2010 应用程序中启用 Silverlight Web 部件的编码 UI 测试

Visual Studio 2012 不支持 Silverlight 测试。但是,在 SharePoint 2010 应用中启用 Silverlight Web 组件测试,您可以从 Visual Studio 库安装单独的 Silverlight 插件。

设置您的计算机

  1. 确保您已安装 Visual Studio 2012.1 或更高版本。

  2. 安装 用于 Silverlight 的 Microsoft Visual Studio UI 测试插件

  3. 安装 Fiddler。这是捕获和记录 HTTP 流量的简单工具。

  4. 下载 fiddlerXap 项目。解压它,生成它,然后在使用 Fiddler 工具时运行 “CopySLHelper.bat” 脚本安装测试 Silverlight Web 部件需要的帮助程序 DLL。

在设置计算机后,请执行以下步骤开始测试 SharePoint 2010 应用与 Silverlight Web 部件:

测试 Silverlight Web 部件

  1. 启动 Fiddler。

  2. 清除浏览器缓存。这是必需的,因为 XAP 文件包含 Silverlight UI 自动化帮助程序 DLL,它通常被缓存。我们必须确保修改的 XAP 文件被选取,因此,我们清除浏览器缓存。

  3. 打开网页。

  4. 启动记录器并如为常规 Web 应用程序测试生成代码一样生成代码。

  5. 您应确认生成的代码引用了 Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight.dll。

    有关更多信息,请参见 Visual Studio 2012 中的 SharePoint 2010 UI 测试

外部资源

博客

Visual Studio 2012 中的 SharePoint 2010 UI 测试

了解编码的 UI 测试中 Silverlight 控件的搜索逻辑

提取 Silverlight 控件的属性

编码的 UI 测试的内容索引

指导

Visual Studio 2012 中的连续交付测试 - 第 5 章 自动系统测试

论坛

Visual Studio ALM + Team Foundation Server 博客

请参见

概念

使用 UI 自动化验证代码

SharePoint 2010 和 2013 应用程序的 Web 性能和负载测试

验证和调试 SharePoint 代码

其他资源

创建 SharePoint 解决方案

生成和调试 SharePoint 解决方案

分析 SharePoint 应用程序的性能