Open EduardoDicarteRJ opened 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.
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);
def mapMenu(findBy)
lookingFor = Array.new
lookingFor.push(Model::FindBy.new(IdentifyBy::TAG_NAME, 'button').instance)
Selenium::Event::INSTANCE.findChilds(findBy, lookingFor)
end
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.