Extensão do Excel de amostra: Classe de TechnologyManager

Essa classe estende o UITechnologyManager de classe e é responsável por fornecer serviços de núcleo para o Microsoft Excel extensão. Embora a classe base tem muitos métodos, apenas um subconjunto deles é usado neste exemplo.

Assim, alguns métodos retornam um valor de propriedade. Muitos dos métodos destinam-se para permitir que o desenvolvedor substituir o padrão de algoritmos de promover o mecanismo de teste de interface do usuário codificado. Esses métodos lançam uma NotSupportedException ou retornar null, que informa o framework para usar o algoritmo padrão.

Dependendo da complexidade da tecnologia subjacente, desenvolver o código do Gerenciador de tecnologia pode levar de poucas semanas a alguns meses. O Excel oferece uma oportunidade para criar uma tecnologia potencialmente muito extensa manager. Este exemplo é intencionalmente limitado a células e planilhas do Excel e usa a formatação limitada.

Quando for possível, o código do Gerenciador de tecnologia usa o.Canal de NET Remoting aberto pelo Communicator classe para extrair informações do Add-In em execução no processo do Excel.

COM visibilidade

Observe que essa classe e cada elemento classes que estendem o UITechnologyElement classe todos possuem a ComVisibleAttribute com um valor de true para certificar-se de que as classes são visíveis para com.

Propriedade de TechnologyName

A substituição da UITechnologyManager.TechnologyName a propriedade deve fornecer um nome exclusivo e significativo que identifica a tecnologia subjacente para todos os outros componentes da extensão. Para essa extensão, o valor é "Excel".

Método de GetControlSupportLevel

A substituição da UITechnologyManager.GetControlSupportLevel método retorna um número que indica o nível de suporte que o gerente de tecnologia pode oferecer para o controle, representado pelo identificador fornecido. Quanto maior o valor retornado, mais o gerente de tecnologia pode oferecer suporte o controle. Nesse caso, o método verifica a janela que contém o controle e se for uma planilha do Excel, o método retorna o valor mais alto; Caso contrário, ele retorna zero, o que indica que é fornecido nenhum suporte.

Métodos para obter um elemento

Há vários métodos importantes que são usados pela estrutura de teste de interface do usuário codificada para obter um elemento específico da tecnologia, fornecendo uma alça de um ponto na tela ou um elemento de uma tecnologia diferente. O código para esses métodos são auto-explicativos. Os métodos de base são os seguintes:

Método de ParseQueryId

Quando um teste codificado de interface do usuário é 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 de propriedades de pesquisa que são usadas para localizar os controles de interface de usuário específicos durante o teste. Juntas, todas as propriedades de pesquisa representam o valor de UITechnologyElement.QueryId propriedade de cada elemento em tecnologia, que inclui cada controle. Porque um controle pode ter a serem encontradas várias vezes durante um teste, esse método oferece o gerente de tecnologia uma forma de otimizar a análise das propriedades de pesquisa para o controle fornecido. Esse método também retorna um cookie que o framework pode utilizar para pesquisas subseqüentes desse controle. Essa implementação do método usa o AndCondition.Match método para analisar as propriedades de pesquisa.

Método de MatchElement

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

Métodos de navegação

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

Método interno de GetExcelElement

Esse método interno leva a um identificador de janela e informações sobre um elemento do Excel e retorna o elemento solicitado do Excel.

Consulte também

Referência

UITechnologyManager

NotSupportedException

UITechnologyElement

ComVisibleAttribute

QueryId

Outros recursos

Estendendo testes codificados da interface do usuário e a gravações de ação para o suporte ao Microsoft Excel