Mapeando PageObject



  • Pessoal estou mapeando uma página e notei que nessa página é utilizado AngularJs.
    Como eu faria para mapear esse campo que é um checkbox, como faço para clicar nele ?

    <!-- ngRepeat: campo in dados -->
    <tr ng-repeat=“campo in dados” class=“ng-scope”>
    <td class=“ng-binding”>
    Testes
    </td>
    <td class=“text-center”>
    <input type=“checkbox” ng-model=“campo.dados” ng-click=“vm.editar(campo)” class=“ng-pristine ng-valid ng-empty ng-touched”>
    </td>
    </tr>

    Lembrando que estou utilizando watir, rspec e ruby

    Grato,



  • Apenas uma dúvida: Se a stack do seu projeto é JS (Angular, especificamente), porque você não migrou os testes para Protractor ainda?

    Você já não teria essa dificuldade em lidar com os elementos. Agora respondendo a sua pergunta, tente usar localizador css ou então tagName, pegando aquele input



  • Opa Rafa…então é para um caso especifico.
    Existe já um projeto todo em protractor, esse caso é mais entender caso eu fosse utilizar esses framworks.



  • Oi @B.Rodrigo,

    Acredito que algo como (adapte para o seu contexto):

    Checkboxes

    require 'watir-webdriver'
    b = Watir::Browser.start 'bit.ly/watir-webdriver-demo'
    c = b.checkbox :value => '1.9.2'
    c.exists?
    c.set
    c.set?
    
    

    Dá uma olhada neste link: https://watirwebdriver.com/web-elements/ , tem mais alguns exemplo de interação com web elements