由于某些原因,当我在工作中运行测试时,浏览器是最大化的,但当我在家里运行它们时,它只能打开一个宽度约为50%的浏览器窗口。这会导致与向下滚动等一些差异,所以理想情况下,我希望它在运行测试的每台机器上打开一个相同大小的浏览器窗口。做这件事最好的方法是什么?
(我已经找到了一些适用于其他语言的答案,但我还无法使它们适用于JavaScript)
添加
browser.executeScript('window.moveTo(0,0);' +
'window.resizeTo(screen.width, screen.height);');
什么也不做(显然Google Chrome不支持window.moveTo
和window.resizeTo
)。
发布于 2016-10-27 20:17:43
您还可以使用config.js
设置窗口大小:
// config.js
specs: [
...
],
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--window-size=800,600'] // THIS!
}
}
// ....
发布于 2015-09-25 00:18:51
如果首选的方法是:
browser.driver.manage().window().maximize();
对你不起作用(例如在Xvfb中运行Protractor测试),那么你也可以用这种方式最大化窗口(protractor.conf.js):
onPrepare: function() {
setTimeout(function() {
browser.driver.executeScript(function() {
return {
width: window.screen.availWidth,
height: window.screen.availHeight
};
}).then(function(result) {
browser.driver.manage().window().setSize(result.width, result.height);
});
});
},
TypeScript版本:
import {Config, browser} from "protractor";
export let config: Config = {
...
onPrepare: () => {
setTimeout(() => {
browser.driver.executeScript<[number, number]>(() => {
return [
window.screen.availWidth,
window.screen.availHeight
];
}).then((result: [number, number]) => {
browser.driver.manage().window().setSize(result[0], result[1]);
});
});
}
};
发布于 2019-02-05 13:58:50
在Protractor.conf.js文件中添加以下配置
capabilities: {
'browserName': 'chrome',
chromeOptions: {
args: [
'start-maximized'
]
}
}
https://stackoverflow.com/questions/20023567
复制相似问题