샘플 Excel 확장: 요소 클래스Sample Excel Extension: Element Classes

확장에서는 <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement>에서 파생되며 Microsoft ExcelMicrosoft Excel의 워크시트 컨트롤 및 셀 컨트롤을 나타내는 클래스를 사용합니다.The extension uses classes that are derived from <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement> and represent the Worksheet control and Cell control in Microsoft ExcelMicrosoft Excel.

이 확장의 기본 요소는 ExcelElement입니다.The base element for this extension is the ExcelElement. ExcelWorksheetElement 클래스 및 ExcelCellElement 클래스는 해당 요소에서 속성을 상속합니다.The ExcelWorksheetElement class and the ExcelCellElement class inherit from that element

Element 및 ElementInformation 클래스Element and ElementInformation Classes

Element는 Excel 확장의 모든 사용자 인터페이스 요소에 대한 기본 클래스이며 <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement> 클래스에서 속성을 상속합니다.The Element is the base class for all user interface elements for the Excel extension, and it inherits from the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement> class. ElementInformation은 샘플의 요소 정보 클래스에 대한 기본 클래스이며 구성원은 포함하지 않습니다.ElementInformation is the base class for the element information classes in the sample, and it has no members.

단순 속성 및 메서드Simple Properties and Methods

이러한 구성원은 Name 속성의 값이나 ClassName 속성의 값과 같은 단순한 값을 반환하며, 코드는 명확하고 쉽게 읽을 수 있습니다.These members return simple values, such as the value of the Name property or the value of the ClassName property, and the code is clear and easy to read. Utility 클래스를 사용하여 반환되는 값도 있습니다. 이 클래스에 대해서는 뒷부분에서 설명합니다.Some values are returned by using the Utility class, which is discussed later. 그리고 이 샘플 확장과는 관련성이 없으므로 null을 반환하는 클래스도 있습니다.Others return null because they are not relevant in this sample extension. 특히 눈여겨볼 만한 두 멤버는 <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> 속성과 <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.CacheProperties%2A> 메서드입니다.Two members are more interesting than the others: the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> property and the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.CacheProperties%2A> method.

QueryId 속성QueryId Property

이 속성은 재생 중에 컨트롤을 고유하게 식별하는 속성 이름/값 쌍으로 구성된 조건을 반환합니다.This property returns a condition that is made of property name-value pairs that uniquely identify the control during playback. 개발자는 파생된 각 컨트롤 클래스에 대해 프레임워크가 UI에서 컨트롤을 찾는 데 사용할 수 있는 <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement> 개체를 반환하도록 이 속성을 재정의해야 합니다.For each derived control class, the developer must override this property to return an <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement> object that the framework can use to find the control in the UI.

CacheProperties 메서드CacheProperties Method

이 메서드는 기록 프로세스 중에 테스트 프레임워크에서 호출되어 중요 속성의 스냅샷을 저장하도록 요소에 지시합니다.This method is called by the testing framework during the recording process to tell the element to save a snapshot of important properties. 따라서 실제 UI 컨트롤이 화면에 더 이상 표시되어 있지 않아도 속성을 사용할 수 있습니다.This keeps the properties available even when the actual UI control is no longer on the screen.

WorksheetElement 및 WorksheetInformation 클래스WorksheetElement and WorksheetInformation Classes

WorksheetElement 클래스는 테스트 프레임워크의 Excel 워크시트를 나타내며 Element 기본 클래스에서 속성을 상속합니다.The WorksheetElement class represents an Excel Worksheet in the testing framework, and inherits from the Element base class. Excel 워크시트 개체에 대한 특정 정보를 제공하기 위해 세 가지 속성(<xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ClassName%2A>, <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ControlTypeName%2A>, <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.Name%2A>)이 재정의됩니다.Three properties are overridden to provide specific information about the Excel Worksheet object: <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ClassName%2A>, <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.ControlTypeName%2A>, and <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.Name%2A>.

이 클래스를 COM에 표시하기 위해 ComVisibleAttribute도 이 클래스에 적용됩니다.The ComVisibleAttribute is also applied to this class to make it visible to COM.

WorksheetInformation 클래스는 Excel 워크시트에 대한 정보를 나타냅니다.The WorksheetInformation class represents information about an Excel Worksheet. 이 클래스의 구성원은 SheetName 속성 하나뿐이며, 이 샘플에서는 해당 속성만 사용해도 충분합니다.It has only one member, the SheetName property, which is sufficient for this sample.

CellElement 및 CellInformation 클래스CellElement and CellInformation Classes

CellElement 클래스는 Excel 셀을 나타내며 Element 기본 클래스에서 속성을 상속합니다.The CellElement class represents an Excel Cell, and inherits from the Element base class. 재정의되는 멤버는 RowIndexColumnIndex 속성을 사용하여 셀을 식별하는 <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement>를 반환하는 <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> 속성뿐입니다.The only overridden member is the <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.UITechnologyElement.QueryId%2A> property, which returns an <xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement> that uses the RowIndex and ColumnIndex properties to identify the cell.

Utilities 및 ExcelUtilities 클래스Utilities and ExcelUtilities Classes

내부 ExcelUtilities 클래스는 기술 이름과 같은 몇 가지 상수 값과, 제공된 창 핸들이 Excel 워크시트를 나타내는지 여부를 확인하는 메서드를 제공합니다.The internal ExcelUtilities class provides some constant values, such as the technology name, and a method that determines if the provided window handle represents an Excel worksheet.

Utilities 클래스에는 UI에 대한 여러 정보를 반환하는 도우미 메서드가 있습니다.The Utilities class has helper methods that return a variety of information about the UI. USER32.DLL, OLEACC.DLL 등의 외부 시스템 DLL을 직접 호출하여 UI에서 창 핸들을 가져오는 메서드도 있습니다.Some methods use direct calls into external system DLLs, such as USER32.DLL and OLEACC.DLL, to get window handles from the UI.

참고 항목See Also

ComVisibleAttributeComVisibleAttribute
<xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement><xref:Microsoft.VisualStudio.TestTools.UITest.Extension.IQueryElement>
Microsoft Excel을 지원하도록 코딩된 UI 테스트 및 작업 기록 확장Extending Coded UI Tests and Action Recordings to Support Microsoft Excel