gpt4 book ai didi

javascript - 你如何设置浏览器内窗口/视口(viewport)大小?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:43:09 27 4
gpt4 key购买 nike

如果我调用函数:

browser.driver.manage().window().setSize(1000, 1000);

它将我的窗口大小设置为 1000x1000 并将我的内部窗口/视口(viewport)大小设置为 990x918。对于内部窗口大小,我指的是实际包含内容的窗口部分,例如不包括窗口边框或选项卡。在这种情况下,我在每一侧都有一个 5px 的边框,然后是我想要考虑的 82px 的 url 和标签栏。

我想设置内部窗口大小,这样我就不需要特别考虑运行测试的机器,例如,如果它碰巧有一个额外的工具栏。

是否有 Protractor 命令用于设置窗口实际内部内容填充部分的大小?


根据下面的答案,我将其添加到我的 conf 的 onPrepare 部分:

protractor.setViewportSize = function(width, height){
const JS_GET_PADDING = "return {"
+ "w: window.outerWidth - window.innerWidth,"
+ "h: window.outerHeight - window.innerHeight };";

browser.executeScript(JS_GET_PADDING).then(function(pad){
browser.manage().window().setSize(width + pad.w, height + pad.h);
});
};

在测试中,我调用类似的东西:

protactor.setViewportSize(1440, 1000);

最佳答案

我认为没有任何内置方法可以将视口(viewport)大小调整为给定大小。但是,可以通过设置与目标内部尺寸匹配的外部尺寸来完成:

var webdriver = require('./node_modules/protractor/node_modules/selenium-webdriver');

// extension method to set the inner size
webdriver.WebDriver.prototype.setViewportSize = function(width, height){
const JS_GET_PADDING = "return {"
+ "w: window.outerWidth - window.innerWidth,"
+ "h: window.outerHeight - window.innerHeight };";

var self = this;
self.executeScript(JS_GET_PADDING).then(function(pad){
self.manage().window().setSize(width + pad.w, height + pad.h);
});
};

// start the browser
var driver = new webdriver.Builder().withCapabilities({browserName: 'firefox'}).build();

// set the window inner size to 800 x 600
driver.setViewportSize(800, 600);

// quit
driver.sleep(5000);
driver.quit();

关于javascript - 你如何设置浏览器内窗口/视口(viewport)大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36345937/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com