Partilhar via


Sample Excel Extension: TechnologyManager Class

Essa classe estende a classe de UITechnologyManager e é responsável para fornecer serviços principais para a extensão de Microsoft Excel .Embora a classe base tem vários métodos, somente um subconjunto de eles é usado neste exemplo.

Alguns métodos retornam apenas um valor de propriedade.Muitos dos métodos são destinados permitir que o desenvolvedor substitui a compilação padrão de algoritmos no mecanismo codificado de teste de interface do usuário.Esses métodos lançam NotSupportedException ou nullde retorno, que informa a estrutura para usar o algoritmo padrão.

Dependendo da complexidade de tecnologia subjacente, desenvolver código do gerenciador de tecnologia pode cuidar de algumas semanas a alguns meses.O excel fornece uma oportunidade para criar um gerente potencialmente muito abrangente da tecnologia.Este exemplo é limitado intencionalmente a planilhas e células o excel e usa formatação associado.

Quando possível, o código do gerenciador de tecnologia usa o canal da arquitetura .NET aberto pela classe de Communicator para extrair informações do suplemento que é executado no processo do excel.

Visibilidade COM

Observe que essa classe e cada uma das classes de elemento que estendem a classe tudo de UITechnologyElement têm ComVisibleAttribute com um valor de true para se certificar de classes são visíveis para COM.

Propriedade de TechnologyName

Esta substituição de propriedade de UITechnologyManager.TechnologyName deve fornecer um nome exclusivo e significativo que identifica a tecnologia subjacente para cada outro componente de extensão.Para esta extensão, o valor é “Excel”.

Método de GetControlSupportLevel

Esta substituição do método de UITechnologyManager.GetControlSupportLevel retorna um número que indica o nível de suporte que o gerenciador de tecnologia pode oferecer para o controle representado pela alça fornecida.Quanto maior o valor retornado, mais o gerenciador de tecnologia pode suportar o controle.Nesse caso, o método verifica a janela que contém o controle e se é uma planilha do excel, o método retorna o valor maior; caso contrário, retorna zero, indicando que nenhuma suporte é fornecido.

Métodos para obter um elemento

Há vários métodos importantes que são usados por interface do usuário codificado que testa a estrutura para obter um elemento específico da tecnologia fornecendo um manipulador, um ponto na tela, ou um elemento de uma tecnologia diferente.O código para esses métodos é evidente.Os métodos base são:

Método de ParseQueryId

Quando um teste codificado de interface de usuário for criado, o usuário pode especificar valores de propriedade para alguns ou todos os controles no teste.Esses valores de propriedade são usados pela estrutura de teste para criar os pares nome-valor chamados as propriedades de pesquisa que são usadas para localizar controles específicos de interface do usuário durante o teste.Todas as propriedades de pesquisa representam juntamente o valor da propriedade de UITechnologyElement.QueryId de cada elemento na tecnologia, que inclui cada controle.Porque um controle pode ter que ser encontrado várias vezes durante um teste, esse método permite ao gerenciador de tecnologia uma maneira para otimizar a análise de propriedades de pesquisa para o controle determinado.Esse método também retorna um cookie que a estrutura pode usar para pesquisas subsequentes para esse controle.Essa implementação do método usa o método de AndCondition.Match para analisar as propriedades de pesquisa.

Método de MatchElement

Para executar uma pesquisa pelo gerenciador de controle de tecnologia, você pode implementar o método de UITechnologyManager.Search ou para retornar uma matriz de correspondências possíveis, ou gere NotSupportedException, que indica a estrutura para usar seu próprio algoritmo de pesquisa.De qualquer forma, você deve implementar o método de MatchElement onde essa implementação usa novamente o método de AndCondition.Match .

Métodos de navegação

Esses métodos obtém o pai, os filhos, ou os seus irmãos do elemento fornecido da hierarquia de interface do usuário.O código é simples e comentado claramente.

Método interno de GetExcelElement

Este método interno utiliza um identificador de janela e uma informações sobre um elemento Excel, e retorna o elemento aplicativo do excel.

Consulte também

Referência

UITechnologyManager

NotSupportedException

UITechnologyElement

ComVisibleAttribute

QueryId

Conceitos

Extending Coded UI Tests and Action Recordings to Support Microsoft Excel