0

当我尝试使用 FuncUnit 打开浏览器窗口来运行一些测试时,它打开的窗口太窄,并且我正在测试的站点隐藏了一些菜单项以使用窄窗口。有没有办法增加 FuncUnit 打开的窗口的宽度,以便可以测试这些菜单项的存在?文档对此问题没有提供任何帮助。

我拥有的 FuncUnit 代码非常基础:

test("dummy test", function () {
F.open('http://localhost:8000/');
});

我可以在测试开始运行后手动增加窗口的大小,但这不适用于自动化测试。

编辑:

  • 我挖掘了 FuncUnit 源代码,发现它将弹出窗口宽度设置为浏览器宽度的一半。改变这个解决了这个问题。

其他效果不佳的尝试:

  • 我能够在 iframe 中测试页面,从而解决了宽度问题。所有的 F('#something') 调用都需要一个额外的参数,所以 F('#something', 0)。每一个。该死。时间。
  • 试图禁用 Bootstrap 的响应功能。它需要进行大量更改,但在此处进行了详细说明
  • 找到了一个 Chrome 插件,可以强制弹出窗口进入新标签,修复宽度问题。它被称为The One。测试无法与新选项卡通信。
4

2 回答 2

0

F.open()use的回调中F.win.resizeTo(width, height)

F.open("desired-url", function onOpenSuccess() {
    F.win.resizeTo(1024, 768);
});
于 2014-04-15T20:54:55.513 回答
0

查看 FuncUnit API 和代码F.Open()的答案似乎是否定的。

F.open()方法签名定义为:open(path, success, timeout )

没有手动设置高度、宽度的选项。查看他们的来源,他们正在对高度、宽度进行自己的内部计算。

FuncUnit F.open

您可以做的是获取他们的 git 项目并扩展 F.open() 方法以接受高度、宽度参数。或者只使用 JQuery。FuncUnit 似乎是针对单元测试的,因此 UI 技巧可能是该项目的次要目标。

于 2014-01-12T03:00:38.883 回答