Winium desktop posicionar no Elemento

Boa tarde pessoal

Alquem ja utilizou o winium , Biblicoteca selenium para testes desktop?
estou com o sequinte problema. Preciso posicionar em um campo (textBox) . consegui encontrar o automation ID utilizando a ferramenta UISpy entretanto quando o selenium vai posicionar la ele clica fora do campo , dai nao consigo informar (sendkeys) no campo. Dei uma estudada sobre a nevegaçao posicional(X,Y), mas não consegui fazer funcionar . Alguem ja passou por isso e pode dar uma dica.

Ja tentou via Tab?
é uma solução que eu não gosto de usar mas as vezes funciona.
Manda ele clicar em X objeto depois vai dando TAB até chegar no objeto que você quer.

Já consegui:

  1. Tab “na paradinha”
  2. procurando algo específico dentro do textbox para dar um “focus” nele…
    Off: Esse carinha gerou um suporte do appium para windows…Se quiser arriscar…
    https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/windows-app-testing.md

existe alguma forma de dar mais de um Tab? pois o ultimo elemento que consigo posicionar corretamente usando o findElement esta a 3 tabs desse textBox.

.SendKeys({TAB})
.SendKeys({TAB})
.SendKeys({TAB})

O sendKey simula o teclado normalmente voce apertaria o tab 3x.
coloca 3 linhas.

Valeu Ramses, vou da uma olhada.

bruwesley

mas não e preciso apontar um elemento? o comando q uso:
Driver.FindElement(By.Id(“btnx”)).SendKeys(Keys.Tab);
como ficaria com 3 tabs?

Consegui cara usei:

Driver.FindElement(By.Id(“btnx”)).SendKeys(Keys.Tab + Keys.Tab + Keys.Tab);

Muito Obrigado!

Eu ia falar para você fazer isso.

       IWebElement currentElement = driverGC.SwitchTo().ActiveElement();
        currentElement.SendKeys(Keys.Tab);
        currentElement = driverGC.SwitchTo().ActiveElement();
        currentElement.SendKeys(Keys.Tab);
        currentElement = driverGC.SwitchTo().ActiveElement();
        currentElement.SendKeys(Keys.Tab);

@Fernando-Pimentel disse em Winium desktop posicionar no Elemento:

Consegui cara usei:

Driver.FindElement(By.Id(“btnx”)).SendKeys(Keys.Tab + Keys.Tab + Keys.Tab);

Muito Obrigado!

Dependendo, vai pensando em gerar um método que tu passa um elemento, a quantidade de “tabs” e ele faz por ti…pq né…tá bem gambi isso… (na verdade fazer isso já é uma gambi completa…) auehuaeuha
Ps: Não era mais sensato pegar todas as tabs na tela e percorrer elas em uma lista e ao achar a que tu quer, dar um tab (ou tentar clicar nela e etc…) ?

@bruwesley sim com certeza , ta uma Gambi das grandes, essa de criar um é uma boa, vou da uma olhada no link que o @Ramses-Saccol-de-Almeida enviou. sou novato no selenium com C# comecei semana passada com winium,

Eu estava usando o CodedUi para automatizar desktop.
Da uma olhada acho mais confuso que o selenium mas tem um record play razoavel e o object spy é bom.

Valeu, vo da uma olhada no codedUI , queria usar o winium por usar a mesma biblioteca do selenium, mas eta complicado buscar as coisas na tela. Não vou conseguir usar o tab pois quando dou Driver.FindElement(By.Id(“btnx”)).SendKeys(Keys.Tab); ele esta disparando o botao.

testa o que eu falei.
Voce pode colocar em um methodo.

   IWebElement currentElement = driverGC.SwitchTo().ActiveElement();
    currentElement.SendKeys(Keys.Tab);
    currentElement = driverGC.SwitchTo().ActiveElement();
    currentElement.SendKeys(Keys.Tab);
    currentElement = driverGC.SwitchTo().ActiveElement();
    currentElement.SendKeys(Keys.Tab);

@Fernando-Pimentel Esse projeto do winium meio que ficou parado, depois que a microsoft começou a dar um certo suporte para o driver que o appium usa (até fizeram um fork maroto do projeto…)https://github.com/Microsoft/appium
Mas foi uma bela sacada… Acho que a microsoft deu uma bela ajuda com a parte do windows…

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.