Por que o Coded UI Test Builder mostra MSAA para controles WPF em vez de UIA
-
25-09-2019 - |
Pergunta
Pergunta
Quando seleciono um controle WPF com a linha cruzada do Visual Studio 2010 Coded UI Test Builder (capturas de tela), mostra que a tecnologia de acessibilidade utilizada foi a MSAA.Por que não é UIA?
Informações adicionais
Estou testando o novo recurso Coded UI Test fornecido com o VS2010 e o TFS2010.
Eu sei que existem basicamente duas tecnologias de acessibilidade de UI da Microsoft:
- Acessibilidade Ativa Microsoft (MSAA):Tecnologia mais antiga, COM
- Automação de UI da Microsoft (UIA):Tecnologia mais recente, parte do .NET 3.0, baseada em modelo de objeto
Quando crio um teste de UI codificado e dou uma olhada no código gerado, vejo que os controles são clicados com base nas posições dos pixels, em vez de - o que eu corajosamente esperaria - manipuladores para objetos reais.
Presumo que esse tipo de acesso torne os testes mais frágeis à realocação de elementos da UI.Considerando que os testes seriam mais estáveis se a UIA estivesse em funcionamento;contanto que eu não altere a árvore da UI, nada deve quebrar.
O que eu errei?
Solução
É um problema conhecido com Visual Studio 2010 Ultimate RC.
Outras dicas
Com relação à nota "posições de pixel" na pergunta original.Na maioria das vezes, as coordenadas dos pixels não são necessárias.O controle é encontrado pesquisando na hierarquia de controles na tela.As coordenadas gravadas estão dentro do controle.Isto é necessário para alguns controles complicados.Por exemplo.Um botão com um triângulo para expandir um conjunto de opções possui duas áreas clicáveis:a área principal e o triângulo.Consulte esta entrada do blog do MSDN para obter mais detalhes: http://blogs.msdn.com/b/mathew_aniyan/archive/2012/03/16/faq-why-are-we-using-coordinate-based-actions-in-coded-ui-test.aspx