HAR 导出触发器:自动导出后 har 文件中缺少请求



我正在使用Firefox附加HAR导出触发器通过Robotframework/Selenium进行测试自动化。该测试基本上导航到网页并 grep 导出的 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

不是真正的解决方案,而是一种解决方法:自动导出已关闭,导出以编程方式触发,如此处所述。

我以前并不知道这一点。但现在我认为这是一个更好的方法,因为它是

  • 更稳定
  • 性能更好
  • 允许更多控制

设置:

devtools.netmonitor.har.enableAutoExportToFile, false
devtools.netmonitor.har.forceExport, false
extensions.netmonitor.har.enableAutomation, true
extensions.netmonitor.har.contentAPIToken, "test"

最新更新