none
Problemas com a propriedade "SelectedIndex" em uma combobox RRS feed

  • Pergunta

  • Pessoal,

    Estou com um pequeno problema ao tentar utilizar a propriedade "SelectedIndex" de uma combobox. Primeiramente, estou desenvolvendo um teste automatizado de uma aplicação Web aqui da minha empresa.

    O que ocorre é o seguinte. Tenho dois combo box no qual preciso percorrê-lo selecionando valores e validando um campo posterior nesta página.

    Para tal, escrevi o seguinte código:

    ...

    int count_ramo = (int)uIRamoComboBox.GetProperty("ItemCount");

                for (int i = 1; i < count_ramo; i++)
                {
                    uIRamoComboBox.SelectedIndex = i;

                    int count_sub_ramo = (int)uIRamoComboBox.GetProperty("ItemCount");

                    for (int j = 1; j < count_sub_ramo; j++ )
                    {
                        // Select 'Sub-Ramo*' combo box
                        uIRamoComboBox.SelectedIndex = j;

    ...

    Quando o teste chega no trecho de seleção do valor no combo box (uIRamoComboBox.SelectedIndex = i;) simplesmente ocorre a falha abaixo:

    Microsoft.VisualStudio.TestTools.UITest.Extension.PlaybackFailureException was unhandled by user code
      Message=Cannot perform 'SetProperty of SelectedIndex with value "1"' on the control. Additional Details:
    TechnologyName:  'Web'
    ControlType:  'ComboBox'
    Id:  'cmbRamoAtividadeRamo'
    Name:  'cmbRamoAtividadeRamo'
    TagName:  'SELECT'
     Failed to find any control that matched the value ALIMENTACAO for the search property InnerText.
      Source=Microsoft.VisualStudio.TestTools.UITesting
      InnerException: System.Runtime.InteropServices.COMException

    Alguém poderia me ajudar a resolver este erro?

    Desde já agradeço.

    Rodrigo Dalmas

    quarta-feira, 16 de novembro de 2011 19:05

Todas as Respostas

  • Fala Rodrigo,

    Eu nunca fiz este teste, mas tenho algumas sugestões para você pensar.

    1 - Qual a necessidade deste teste?

    2 - Não seria melhor você testar os métodos de validação individualmente? Assim você aplicaria melhor a idéia de teste unitário. (alias. esta ferramenta que você esta usando, foi feita pra isso.)

    3 - Se o seu objetivo é testar se o combo esta carregado, você poderia testar o método que carrega o combo.. em vez de testar o combo!

    OK?


    Francisco Gonçalves
    Blog: franciscogoncalves.wordpress.com
    • Sugerido como Resposta Francisco Gonçalves quarta-feira, 16 de novembro de 2011 21:47
    • Não Sugerido como Resposta Rodrigo Dalmas quinta-feira, 17 de novembro de 2011 10:09
    quarta-feira, 16 de novembro de 2011 21:45
  • Olá Francisco,

    Eu trabalho com testes automatizados, portanto a questão do teste unitário não é o meu foco. Na realidade o meu foco é o seguinte. Tenho dois combo box e cada opção selecionada neles habilita um check box, numa outra tela. Preciso garantir que a regra foi corretamente aplicada e o check box irá aparecer para quem tem que aparecer e não vai aparecer para quem não tem que aparecer...

    Obrigado pelas sugestões!

    quinta-feira, 17 de novembro de 2011 10:08
  • Entendi..

    Então eu tenho outra sugestão..

    - Para fazer testes automatizados de interface.. eu utilizo o Microsoft Test Manager....

      Não sei se você conhece... mas ele permite você criar o tipo de teste que você precisa (lógica de interface) sem programar nenhuma linha... e ainda por cima você poderá automatizar isso.

    De uma olhada..

    http://itgirlsmms.wordpress.com/2011/02/28/criacao-e-execucao-de-testes-manuais-usando-o-microsoft-test-manager-2010/

    PS: Apesar de estar escrito teste manual neste artigo.. a segunda etapa é automatizar o teste

     


    Francisco Gonçalves
    Blog: franciscogoncalves.wordpress.com
    quinta-feira, 17 de novembro de 2011 10:49
  • Francisco,

    A idéia do post é realmente resolver o problema que está ocorrendo com o Visual Studio. Tenho outros problemas com a ferramenta QTP, também de testes automatizados e por enquanto não estou considerando a opção de expandir para uma terceira ferramenta, senão fica muito complicado de se trabalhar, até porque sou apenas eu quem faço os testes automatizados.

    Agradeço se pudermos focar na solução do problema em si, sem alternativas extra-ferramenta.

    quinta-feira, 17 de novembro de 2011 11:57
  • Como ficou seu problema?

     


    One word frees us of all the weight and pain of life: that word is love.
    segunda-feira, 16 de janeiro de 2012 19:43
    Moderador
  • Rodrigo, 

    Como eu consigo reproduzir esse erro? 

    Você está usando Web Application ou Windows Forms? O teste está sendo feito com Coded UI? Existe algum tipo de script server / client no onchange da primeira combo?

    []s


    André Dias, ALM Ranger & ALM MVP - @AndreDiasBR - http://blog.lambda3.com.br/L3/andredias - Treinamentos em TFS e ALM na Lambda3 -> http://www.lambda3.com.br/treinamentos/alm
    quinta-feira, 19 de janeiro de 2012 03:16
    Moderador