Season WEB Testing - Ep. 03: Open Browser - Chrome Options



Oláááááá Robotizadores!! Fazia um tempinho que eu não postava aqui, mas a May tá de volta com um post que pode ajudar o pessoal que lida com diferentes configurações do Chrome nos testes Web!!!!! Chega aí....


Utilizando os Options do Chromedriver

Quando você usa a Open Browser para abrir o seu navegador Chrome, por padrão ele instância um navegador "zerado" de configurações, mas se você precisa que algo seja parametrizado nesse Chrome, veja as opções que você pode usar no argumento "options" da Open Browser.


Você pode passar quantos options necessitar separando-os com ponto e vírgula, ficaria algo assim:

*** Keywords ***
Acessar Site
      Open Browser   https://the-internet.herokuapp.com/download     chrome
      ...   options=add_argument("--disable-web-security");add_argument("--start-maximized");add_experimental_option("excludeSwitches", ["enable-logging"])

Options Disponíveis

Nem todas as options existentes estão listadas aqui, se você conhece alguma que não está aqui, deixa ela descrita nos comentários, por favor!

Abrir em Aba Anônima

add_argument("--incognito")

Remover log do DevTools Chrome

add_experimental_option("excludeSwitches", ["enable-logging"])

Para sites em HTTPS, evitando alertas de certificados

add_argument("--ignore-certificate-errors")

Bloquear Pop-ups

add_argument("--disable-popup-blocking")

Bloquear Notificações

add_argument("--disable-notifications")

Iniciando já maximizado

options=add_argument("--start-maximized")

Não aplicar política de segurança

add_argument("--disable-web-security")

Configurando um diretório para download


${prefs}   Create Dictionary     download.default_directory=C:\\Documentos
options=add_experimental_option('prefs', ${prefs})

Instalando Extensões

Para instalar uma extensão você precisará do arquivo .crx dela, a extensão de Chrome chamada "Get CRX" gera esse arquivo para você, veja as instruções clicando aqui. Depois que você tiver esse arquivo, use o exemplo abaixo:

add_extension("path\\to\\extension.crx")
        Exemplo: add_extension("C:\\ProjetosRobotFramework\\TruePath.crx")

Execução sem tela (para execução em containers) - Sugestão de Fabio Mendonça

add_argument("--headless")

Definindo tamanho da janela

        add_argument("--window-size=1920,1080")

Para utilizar a renderização no formato mobile - Sugestão de Marcos Barbosa

    &{mobile_emulation}     Create Dictionary      deviceName=Galaxy S5

    Open Browser      https://www.facebook.com       Chrome       options= add_experimental_option("mobileEmulation",${mobile_emulation})

Ou com device configurado especificamente para seu teste - Sugestão de Marcos Barbosa

    &{device metrics}     Create Dictionary      width=${768}      height=${1366}     pixelRatio=${3.0}     userAgent=Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19

    &{mobile_emulation}      Create Dictionary       deviceMetrics=${device metrics}

    Open Browser      https://www.facebook.com      Chrome     options=add_experimental_option("mobileEmulation",${mobile_emulation})



E é isso ai galerinhaaaa!! Bons testes aí no seu Chrome!!! Lembrando que se souberem de mais alguma option não listada aqui, deixa nos comentários!! Até a próxima!!

Comentários

  1. --headless é bem util para execução dentro de containers

    ResponderExcluir
  2. Fantastico. Estou iniciado os estudos e realizando os seus cursos. Obrigado

    ResponderExcluir
  3. Muito boas as dicas, queria saber se alguém sabe o comando pro chrome já iniciar em modo mobile ou responsive, obrigado por enquanto e parabéns pelo blog.

    ResponderExcluir
    Respostas
    1. Salve salve, para utilizar a renderização no formato mobile, você pode utilizar:

      &{mobile_emulation}= Create Dictionary deviceName=Galaxy S5
      Open Browser https://www.facebook.com Chrome options= add_experimental_option("mobileEmulation",${mobile_emulation})

      Excluir
    2. Caso desejar, pode inserir um device configurado especificamente para seu teste:

      ```
      ${device metrics}= Create Dictionary width=${768} height=${1366} pixelRatio=${3.0} userAgent=Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
      &{mobile_emulation}= Create Dictionary deviceMetrics=${device metrics}
      Open Browser https://www.facebook.com Chrome options= add_experimental_option("mobileEmulation",${mobile_emulation})
      ```

      Excluir
    3. Adição de conteúdo realizado!! Obrigada pela contribuição Marcos!!!

      Excluir
  4. Bom dia. Tudo bem? Queria saber pq o meu navegador fecha, quando faço o teste Open Browser? Isso não deve ocorrer quando inserimos o comando Close Browser? Em resumo o site não deve permanecer aberto, pq o único comando que escrevi foi o abrir o navegador? Obrigado

    ResponderExcluir
  5. Bom dia professora Mayara !
    Tudo bem ?
    Estou com problema para abrir o chrome com as extensões, usando o "options=add_extension" ja tentei de diversas maneiras, mas nenhuma funciona. Achei que o problema era no arquivo CRX fiz a conversões de outras estensões e mesmo assim não consigo abrir, Tentei deixando o arquivo CRX junto com a pasta do robot e não obtive sucesso, poderia me ajudar ? vou postar as minhas tentativas aqui em baixo:
    *** Keywords ***
    Acessar site
    Open Browser
    ... www.google.com
    ... chrome
    ... options=add_extension("C:\\Users\\Anderson Lima\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\noaijdpnepcgjemiklgfkcfbkokogabh\\16.31_0.crx")

    outra tentativa:
    *** Keywords ***
    Abrir Site
    l${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
    Call Method ${ChromeOptions} add_argument remote-debugging-port\=9222
    #Call Method ${ChromeOptions} add_argument ${args}
    Call Method ${ChromeOptions} add_extension ${EXECDIR}${/}app.crx
    ${Options}= Call Method ${ChromeOptions} to_capabilities
    Create Webdriver Chrome desired_capabilities=${Options}
    Go To ${URL}

    ResponderExcluir
    Respostas
    1. Professora porque o Open Browser está fechando só ao final do teste ? e quando tenho varios testes tenho que ficar abrindo e fechando toda hora

      Excluir

Postar um comentário

Postagens mais visitadas deste blog

[ATUALIZADO] Season Libraries - Ep. 01: Library Faker para informações aleatórias e fakes

Novo Curso: Robot Framework com Playwright e GitHub Actions