Por alguma razão, quando eu executo meus testes no trabalho, o navegador está maximizado, mas quando eu os executo em casa ele apenas abre uma janela do navegador com cerca de 50% de largura. Isso causa algumas discrepâncias com a rolagem para baixo etc., portanto, o ideal é que ele abra uma janela do navegador do mesmo tamanho em cada máquina em que os testes são executados. Qual é a melhor forma de fazer isso? (Encontrei algumas respostas para outros idiomas, mas não consegui adaptá-las para javascript)
Adicionando
browser.executeScript('window.moveTo(0,0);'+
'window.resizeTo(screen.width, screen.height);');
não faz nada (aparentemente window.moveTo
e window.resizeTo
não são suportados pelo cromo).
window.moveTo
ewindow.scrollTo
definitivamente são suportados pelo Chrome.window.moveTo
ewindow.resizeTo
. Funciona bem para mim no Chrome. Não sei se você pode redimensionar a janela atual do console no Chrome, mas o fato de oresizeTo
método estar disponível ali indica que o Chrome o suporta.Respostas:
Você pode definir o tamanho padrão do navegador executando:
Para maximizar a janela do navegador, execute:
Para definir a posição de execução:
Se você receber um erro:
Fonte: https://sites.google.com/a/chromium.org/chromedriver/help/operation-not-supported-when-using-remote-debugging
fonte
browser.driver.manage().window().maximize();
protractor.conf.js
do seu arquivoonPrepare
.browser.driver.manage().window().maximize();
não maximiza a janela para mim. Acabei de obter uma janela um pouco maior. Acabei especificando uma largura e altura com osetSize()
métodoVocê também pode usar seu
config.js
para definir o tamanho da janela:fonte
Se o método preferido:
não funciona para você (por exemplo, executar testes do Protractor no Xvfb), então você também pode maximizar a janela desta forma (protractor.conf.js):
Versão TypeScript:
fonte
Eu simplesmente adicionei o código abaixo no meu arquivo protractor.conf.js e funcionou bem.
Qual é o propósito de setTimeout e executeScript em sua resposta? Tenho dificuldade em encontrar as melhores práticas nos documentos do transferidor ...
Na minha opinião, usar diretamente maximize () é uma má ideia e não deve ser o método preferido, uma vez que não definiria o mesmo tamanho em todas as máquinas onde os testes são executados e poderia quebrar comportamentos responsivos.
fonte
No Selênio 4 (Transferidor 6),
setRect
substituisetSize
esetPosition
Por exemplo,
fonte
No arquivo Protractor.conf.js, adicione a seguinte configuração
recursos: {'browserName': 'chrome', chromeOptions: {args: ['start-maximized']}}
fonte
Modifique seu arquivo config.js conforme abaixo.
fonte
Adicione o código abaixo, isso irá maximizar a janela do navegador
fonte