SeleniumWebModule / selenium_core_rb

Selenium Core Implementação Ruby
0 stars 0 forks source link

Mapeamento de childs #2

Open EduardoDicarteRJ opened 7 years ago

EduardoDicarteRJ commented 7 years ago

Cada página deverá ter os childs (filhos) mapeados.

Justificativa: Quando o tester iniciar com a geração do caso de teste, ao invés de existir dependência do setor de desenvolvimento para o cadastro, podendo existir falhas, o sistema será lido periodicamente (intervalo que poderá ser mapeado via interface web posteriormente) e sincronizará os elementos disponíveis para o tester. Dessa forma o processo se manterá todo automatizado. O Selenium Proccess (https://github.com/SeleniumWebModule/selenium_proc_control) poderá iniciar o serviço em uma thread separada e alimentar o serviço que sincronizará com a estrutura na interface web.

EduardoDicarteRJ commented 7 years ago

O mapeamento foi realizado recuperando todos os childs de um elemento, devendo passar alguns atributos para que o selenium não recupere childs que são dispensáveis. Um exemplo do SeleniumCore recuperando os menus do sistema.

SeleniumClient - Ruby (Será gerado pelo seleniumproc)

seleniumSystem = Model::System.new('189.3.216.130', '8080', 'ventaboletosadm').instance
seleniumSystem.registerScreen(login)
seleniumSystem.validate
seleniumSystem.mapMenu(Model::FindBy.new(IdentifyBy::CLASS_NAME, 'z-menubar-hor').instance);
seleniumSystem.mapMenu(Model::FindBy.new(IdentifyBy::CLASS_NAME, 'z-menubar-hor').instance);

SeleniumCore - Ruby

def mapMenu(findBy)
    lookingFor = Array.new
    lookingFor.push(Model::FindBy.new(IdentifyBy::TAG_NAME, 'button').instance)

    Selenium::Event::INSTANCE.findChilds(findBy, lookingFor)
end