코딩된 UI 테스트를 사용하여 SharePoint 응용 프로그램 테스트Test SharePoint 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.

코딩된 UI 테스트를 사용하는 혜택에 대한 자세한 내용은 UI 자동화를 사용하여 코드 테스트를 참조하세요.To learn more about the benefits of using coded UI tests, see Use UI automation to test your code.

요구 사항Requirements

  • Visual Studio EnterpriseVisual Studio Enterprise

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

SharePoint 응용 프로그램에 대한코딩된 UI 테스트 만들기 는 다른 유형의 응용 프로그램에 대해 테스트 만들기와 동일합니다.Creating coded UI tests for your SharePoint 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 웹 파트

참고

작업을 기록하는 경우 코드를 생성하기 전에 작업의 유효성을 검사합니다.If you are recording action, validate the actions before you generate 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 컨트롤 테스트Test Office controls within a SharePoint app

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

참고

SharePoint 응용 프로그램에서 Visio 및 PowerPoint 컨트롤 테스트는 지원되지 않습니다.Testing Visio and PowerPoint controls in a SharePoint application is not supported.

Excel 셀 컨트롤Excel 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));
uiGridKeyboardInputEdit.Text=value;

비어 있지 않은 셀에서 작업을 기록할 때는 셀에 텍스트를 입력하는 순간 셀의 자식으로 새로운 <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; }
    ``
    

See also