코딩된 UI 테스트를 사용하여 SharePoint 2010 응용 프로그램 테스트Testing SharePoint 2010 Applications with Coded UI Tests

SharePoint 응용 프로그램에 코딩된 UI 테스트를 포함하면 해당 UI 컨트롤을 포함해서 전체 응용 프로그램이 올바르게 작동하는지 확인할 수 있습니다.Including coded UI tests in a SharePoint application lets you verify that the whole application, including its UI controls, is functioning correctly. 코딩된 UI 테스트는 또한 사용자 인터페이스에서 값 및 논리의 유효성을 검사할 수 있습니다.Coded UI tests can also validate values and logic in the user interface.

요구 사항Requirements

  • Visual Studio EnterpriseVisual Studio Enterprise

코딩된 UI 테스트에 대해 그 밖에 알아야 할 내용What else should I know about coded UI tests?

코딩된 UI 테스트를 사용할 때의 이점에 대한 자세한 내용은 UI 자동화를 사용하여 코드 테스트Testing for Continuous Delivery with Visual Studio 2012 - Chapter 5 Automating System Tests(Visual Studio 2012를 사용한 지속적인 업데이트 테스트 – 5장 시스템 테스트 자동화)를 참조하세요.To learn more about the benefits of using coded UI tests, see Use UI Automation To Test Your Code and Testing for Continuous Delivery with Visual Studio 2012 - Chapter 5 Automating System Tests.


  • 필수 조건 SharePoint 응용 프로그램에 대한 코딩된 UI 테스트는 SharePoint 2010에서만 지원됩니다.Prerequisite Coded UI tests for SharePoint applications are supported only with SharePoint 2010.

  • 필수 조건 SharePoint 응용 프로그램에서 Visio 및 PowerPoint 2010 컨트롤은 지원되지 않습니다.Prerequisite Support for Visio and PowerPoint 2010 controls in your SharePoint application is not supported.

SharePoint 응용 프로그램에 대해 코딩된 UI 테스트 만들기Creating a coded UI test for your SharePoint app

SharePoint 2010 응용 프로그램에 대한코딩된 UI 테스트 만들기 는 다른 유형의 응용 프로그램에 대해 테스트 만들기와 동일합니다.Creating coded UI tests for your SharePoint 2010 applications is the same as creating tests for other types of applications. 기록 및 재생은 웹 편집 인터페이스의 모든 컨트롤에 대해 지원됩니다.Record and Playback is supported for all controls on the Web Editing interface. 범주 및 웹 파트 선택 인터페이스는 모두 표준 웹 컨트롤입니다.The interface for selecting categories and web parts are all standard web controls.

SharePoint 웹 파트SharePoint web parts


작업을 기록하는 경우 코드를 생성하기 전에 작업의 유효성을 검사합니다.If you are recording action, validate the actions before generating code. 마우스를 위로 가져가는 것과 관련해서는 몇 가지 동작이 있으므로 기본적으로 설정됩니다.Since there are several behaviors associated with Mouse hover, it is on by default. 코딩된 UI 테스트에서 중복된 위로 가져가기는 제거할 때 주의가 필요합니다.Be careful to remove redundant hovers from your coded UI tests. 이렇게 하려면 테스트에 대한 코드를 편집하거나 코딩된 UI 테스트 편집기를 사용합니다.You can do this by editing the code for the test, or by using the Coded UI Test Editor.

SharePoint 응용 프로그램 내에 Office 2010 컨트롤 테스트 포함Including testing of Office 2010 controls within your SharePoint app

SharePoint 응용 프로그램에서 일부 Office 2010 웹 파트에 대해 자동화를 설정하려면 코드를 약간 수정해야 합니다.To enable automation for some office 2010 web parts in your SharePoint app, you have to make some minor code modifications.


Visio 및 PowerPoint 2010 컨트롤은 지원되지 않습니다.Support for Visio and PowerPoint 2010 controls is not supported.

Excel 2010 셀 컨트롤Excel 2010 cell controls

Excel 셀 컨트롤을 포함하려면 코딩된 UI 테스트의 코드에서 일부 항목을 변경해야 합니다.To include Excel cell controls, you must make some changes in the coded UI test's code.


화살표 작업 후 Excel 셀에 텍스트를 입력하는 작업은 올바르게 기록되지 않습니다.Entering text in any Excel cell, followed by an arrow key action, does not record correctly. 마우스를 사용해서 셀을 선택하세요.Use the mouse to select cells.

빈 셀에 대한 작업을 기록할 때는 셀을 두 번 클릭하고 텍스트 설정 작업을 수행하여 코드를 수정해야 합니다.If you are recording actions on an empty cell, you must modify the code by double clicking on the cell and then performing a set text operation. 셀을 클릭하고 키보드 작업을 수행하면 셀 내에서 textarea 가 활성화되기 때문에 이 작업이 필요합니다.This is needed because a click on the cell, followed by any keyboard action activates the textarea within the cell. 빈 셀에서 단순히 setvalue 를 기록하면 셀을 클릭할 때까지 제공되지 않은 editbox 가 검색됩니다.Simply recording a setvalue on the empty cell would search for the editbox which is not present until the cell has been clicked. 예:For example:

Mouse.DoubliClick(uiItemCell,new Point(31,14));  

비어 있지 않은 셀에서 작업을 기록할 때는 셀에 텍스트를 입력하는 순간 셀의 자식으로 새로운 <div> 컨트롤이 추가되기 때문에 기록이 조금 더 복잡해집니다.If you are recording actions on a non-empty cell, then recording gets a little more complicated, because the moment you add text to a cell, a new <div> control is added as a child of the cell. 새로운 <div> 컨트롤에는 사용자가 방금 입력한 텍스트가 포함됩니다.The new <div> control contains the text that you just entered. 레코더는 새로운 <div> 컨트롤에서 작업을 기록해야 하지만 테스트를 입력할 때까지는 새로운 <div> 컨트롤이 존재하지 않기 때문에 그렇게 할 수 없습니다.The recorder needs to record actions on the new <div> control; however, it can't because the new <div> control does not exist until after the test is entered. 이 문제를 해결하기 위해서는 다음과 같이 코드를 직접 변경해야 합니다.You must manually make the following code changes to accommodate this issue.

  1. 셀 초기화로 이동하고 RowIndexColumnIndex 를 주 속성으로 지정합니다.Go to cell initialization and make RowIndex and ColumnIndex primary properties:

    this.mUIItemCell.SearchProperties[HtmlCell.PropertyNames. RowIndex] = "3";   
    this.mUIItemCell.SearchProperties[HtmlCell.PropertyNames. ColumnIndex] = "3";  
  2. 셀의 HtmlDiv 자식을 찾습니다.Find the HtmlDiv child of the cell:

    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에서 마우스 두 번 클릭 작업에 대한 코드를 추가합니다.Add code for a mouse double-click action on HtmlDiv:

    Mouse.DoubleClick(uIItemPane, new Point(31, 14)); )  
  4. TextArea에서 텍스트를 설정하는 코드를 추가합니다.Add code to set text on TextArea:

    uIGridKeyboardInputEdit.Text = value; }  

SharePoint 2010 응용 프로그램에서 Silverlight 웹 파트의 코딩된 UI 테스트 사용Enabling coded UI testing of Silverlight web parts in your SharePoint 2010 app

Visual Studio 2012 이상에서는 Silverlight 테스트가 지원되지 않습니다.Silverlight testing isn't supported in Visual Studio 2012 and later. 그러나 SharePoint 2010 앱에서 Silverlight 웹 파트를 테스트하려면 Visual Studio 갤러리에서 별도의 Silverlight 플러그 인을 설치할 수 있습니다.But, if you want to test the Silverlight web parts in your SharePoint 2010 app, you can install a separate Silverlight plug-in from the Visual Studio Gallery.

컴퓨터 설정Setting up your machine

  1. Visual Studio 2012.1 이상이 설치되어 있는지 확인합니다.Make sure that you have Visual Studio 2012.1 or later installed.

  2. Silverlight용 Microsoft Visual Studio UI 테스트 플러그인을 설치합니다.Install the Microsoft Visual Studio UI Test Plugin for Silverlight.

  3. Fiddler를 설치합니다.Install Fiddler. 이 도구는 단순히 HTTP 트래픽을 캡처하고 기록하는 도구입니다.This is simply a tool that captures and logs the HTTP traffic.

  4. fiddlerXap 프로젝트를 다운로드합니다.Download the fiddlerXap project. 파일의 압축을 풀고, 빌드하고, “CopySLHelper.bat” 스크립트를 실행하여 Fiddler 도구를 사용할 때 Silverlight 웹 파트를 테스트하는 데 필요한 도우미 DLL을 설치합니다.Unzip it, build it, and run the "CopySLHelper.bat" script to install the helper DLL that is required to test Silverlight web parts when you use the Fiddler tool.

    컴퓨터를 설정한 후 Silverlight 웹 파트에서 SharePoint 2010 응용 프로그램 테스트를 시작하려면 다음 단계를 수행합니다.After setting up your machine, to start testing your SharePoint 2010 app with Silverlight web parts, follow these steps:

Silverlight 웹 파트 테스트Testing Silverlight web parts

  1. Fiddler를 시작합니다.Start Fiddler.

  2. 브라우저 캐시를 지웁니다.Clear the browser cache. Silverlight UI 자동화 도우미 DLL을 포함하는 XAP 파일은 일반적으로 캐시에 저장되기 때문에 이 과정이 필요합니다.This is necessary because the XAP file, which contains the Silverlight UI Automation Helper DLL, is typically cached. 브라우저 캐시를 지울 수 있도록 수정된 XAP 파일이 선택되었는지 확인해야 합니다.We have to make sure that the modified XAP file is picked up, so we clear the browser cache.

  3. 웹 페이지를 엽니다.Open the web page.

  4. 레코더를 시작하고 일반 웹 응용 프로그램 테스트와 마찬가지로 코드를 생성합니다.Start the recorder and generate code like you would for a regular web application testing.

  5. 생성된 코드가 Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight.dll을 참조하는지 확인해야 합니다.You should confirm that the generated code references the Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight.dll.

    자세한 내용은 Visual Studio 2012에서 SharePoint 2010 UI 테스트를 참조하세요.For more information, see UI Testing SharePoint 2010 with Visual Studio 2012

외부 리소스External resources


Visual Studio 2012에서 SharePoint 2010 UI 테스트UI Testing SharePoint 2010 with Visual Studio 2012

코딩된 UI 테스트에서 Silverlight 컨트롤에 대한 검색 논리 이해Understanding the Search logic for Silverlight controls in Coded UI Test

Silverlight 컨트롤의 속성 페치Fetching Property of a Silverlight control

코딩된 UI 테스트에 대한 콘텐츠 인덱스Content Index for Coded UI Test


Testing for Continuous Delivery with Visual Studio 2012 - Chapter 5 Automating System Tests(Visual Studio 2012를 사용한 지속적인 업데이트 테스트 - 5장 시스템 테스트 자동화)Testing for Continuous Delivery with Visual Studio 2012 - Chapter 5 Automating System Tests


Visual Studio ALM + Team Foundation Server 블로그Visual Studio ALM + Team Foundation Server Blog

참고 항목See also

UI 자동화를 사용하여 코드 테스트Use UI Automation To Test Your Code
SharePoint 솔루션 만들기 Create SharePoint Solutions
SharePoint 코드 확인 및 디버그 Verifying and Debugging SharePoint Code
SharePoint 솔루션 빌드 및 디버깅 Building and Debugging SharePoint Solutions
SharePoint 응용 프로그램 성능 프로파일링Profiling the Performance of SharePoint Applications