Closed JoyFreire closed 2 weeks ago
Método super necessário, também tenho enfrentado dificuldades para lidar com a interface POUI, e acredito que está solução irá ajudar!
Muito necessário, as vezes precisamos usar o Selenium de forma mais pura e não conseguimos devido este bloqueio. Dessa forma ficaria muito mais fácil para manipular o Selenium.
Método necessário para garantir mais versatilidade para o usuário da biblioteca, principalmente para funções que a biblioteca ainda não suporta, como o já mencionado PO-UI
Boa tarde,
Entendemos a necessidade de todos quanto a acesso aos métodos internos do TIR para determinados componentes ainda não implementados.
A necessidade de manter interno esses métodos é para garantir menor desvio no script e que podem ocorrer quebras caso mude algum seletor na tela.
A ideia do TIR é garantir que o script se mantenha integro independente da tecnologia criada ou modificada.
A nossa sugestão no momento é abrir uma issue solicitando a implementação desejada ou até mesmo a colaboração com o projeto através de um Pull Request.
Atenciosamente
Descrição Atualmente, a classe WebappInternal, nem as demais, não possui um método claro e direto para acessar o driver Selenium utilizado nas operações de automação. Para garantir que possamos acessar e utilizar o driver de maneira consistente, é necessária a inclusão do método get_driver. Este método será essencial para encontrar elementos na página, especialmente em aplicações desenvolvidas com o framework POUI, já que a biblioteca poui ainda não está completamente pronta para lidar com todos os cenários de automação.
Justificativa A inclusão do método get_driver na classe WebappInternal é crucial pelos seguintes motivos:
Acesso Consistente ao Driver:
O método get_driver fornece um ponto único para acessar o driver Selenium. Isso é especialmente importante em cenários onde um método do TIR não está funcionando, como por exemplo o po-number e po-checkbox cujos componentes ainda não foram desenvolvidos. Mas não só para eles, com o acesso ao driver conseguimos uma integração maior com o Selenium.
Integração com Selenium:
Para automatizar testes , é fundamental ter acesso ao driver que controla o navegador. Sem esse acesso, não é possível utilizar o Selenium para encontrar elementos na página, o que é uma funcionalidade chave durante a automação de testes.
Compatibilidade com POUI:
A biblioteca poui ainda está em desenvolvimento e pode não oferecer suporte completo para todas as operações de automação necessárias. Ter acesso direto ao driver permite contornar essas limitações temporárias, garantindo que os testes possam ser executados de maneira eficaz.
Exemplo de Implementação Aqui está um exemplo de como a função get_driver pode ser implementada na classe WebappInternal:
class WebappInternal(Base):
Uso do self.driver já em aplicação:
class MATA038(unittest.TestCase):
if name == 'main': unittest.main()