Pour une raison quelconque, lorsque j'exécute mes tests au travail, le navigateur est maximisé, mais lorsque je les lance à la maison, il n'ouvre qu'une fenêtre de navigateur d'environ 50% de largeur. Cela provoque des écarts avec le défilement vers le bas, etc., donc j'aimerais idéalement qu'il ouvre une fenêtre de navigateur de la même taille sur chaque machine sur laquelle les tests sont exécutés. Quelle est la meilleure façon de procéder? (J'ai trouvé des réponses pour d'autres langues mais je n'ai pas pu les adapter au javascript)
Ajouter
browser.executeScript('window.moveTo(0,0);'+
'window.resizeTo(screen.width, screen.height);');
ne fait rien, (apparemment window.moveTo
et window.resizeTo
ne sont pas pris en charge par chrome).
window.moveTo
et je suiswindow.scrollTo
définitivement pris en charge par Chrome.window.moveTo
etwindow.resizeTo
. Cela fonctionne bien pour moi dans Chrome. Je ne sais pas si vous pouvez redimensionner la fenêtre actuelle à partir de la console dans Chrome, mais le fait que laresizeTo
méthode y soit disponible indique que Chrome la prend en charge.Réponses:
Vous pouvez définir la taille du navigateur par défaut en exécutant:
Pour agrandir la fenêtre du navigateur, exécutez:
Pour définir la course de position:
Si vous obtenez une erreur:
Source: https://sites.google.com/a/chromium.org/chromedriver/help/operation-not-supported-when-using-remote-debugging
la source
browser.driver.manage().window().maximize();
protractor.conf.js
laonPrepare
fonction de votre fichier .browser.driver.manage().window().maximize();
ne maximise pas réellement la fenêtre pour moi. J'ai juste une fenêtre légèrement plus grande. JesetSize()
finis juste par spécifier une largeur et une hauteur avec la méthodeVous pouvez également utiliser votre
config.js
pour définir la taille de la fenêtre:la source
Si la méthode préférée:
ne fonctionne pas pour vous (par exemple exécuter des tests Protractor dans Xvfb), vous pouvez également agrandir la fenêtre de cette façon (protractor.conf.js):
Version TypeScript:
la source
J'ai simplement ajouté le code ci-dessous dans mon fichier protractor.conf.js et cela a bien fonctionné.
À quoi servent setTimeout et executeScript dans votre réponse? J'ai du mal à trouver les meilleures pratiques dans la documentation du rapporteur ...
À mon avis, utiliser directement maximiser () est une mauvaise idée et ne devrait pas être la méthode préférée, car elle ne définirait pas la même taille sur chaque machine sur laquelle les tests sont exécutés et pourrait briser les comportements réactifs.
la source
Dans Selenium 4 (Rapporteur 6),
setRect
remplacesetSize
etsetPosition
Par exemple,
la source
Dans le fichier Protractor.conf.js, ajoutez la configuration suivante
fonctionnalités: {'browserName': 'chrome', chromeOptions: {args: ['start-maximized']}}
la source
Modifiez votre fichier config.js comme indiqué ci-dessous.
la source
Ajoutez le code ci-dessous, cela maximisera la fenêtre du navigateur
la source