我正在使用 Firefox 附加HAR 导出触发器通过 Robotframework/Selenium 进行测试自动化。测试基本上导航到一个网页,并 greps 导出的 har 文件以获取某些表达式。测试有时会失败。
在这些情况下,我注意到 har 文件中的请求(大约 20 个)远少于测试用例使用的浏览器窗口的网络选项卡上的请求(大约 70 个)。如果我在测试用例停止后手动导出这些请求,所有请求都会按预期导出。
所以我想,有些东西正在中断导出功能(尽管没有打开其他页面并且没有关闭浏览器)。我可以使用哑巴Sleep
,但测试客户端是否有更聪明的方法来检查导出是否仍在进行中?可能是一些 JS 调用或回调?
我试图等待特定数量的导出文件存在,但这并不可靠。
我见过一个参数,devtools.netmonitor.har.jsonpCallback
但不知道如何使用它。我的设置是
("devtools.netmonitor.enabled", true);
("devtools.netmonitor.har.compress", false);
("devtools.netmonitor.har.defaultFileName", "Autoexport_%y%m%d_%H%M%S");
("devtools.netmonitor.har.defaultLogDir", <somepath>);
("devtools.netmonitor.har.enableAutoExportToFile", true);
("devtools.netmonitor.har.forceExport", true);
("devtools.netmonitor.har.includeResponseBodies", false);
("devtools.netmonitor.har.jsonp", false);
("devtools.netmonitor.har.jsonpCallback", false);
("devtools.netmonitor.har.pageLoadedTimeout", "2500");
版本:
Firefox 43.0,
Python 2.7.8,
selenium 2.48.0,
robotframework 3.0,
robotframework-selenium2library 1.7.4,
harexporttrigger-0.5.0-beta.7