matmanjs / matman

Web 端对端测试(E2E,End-to-End Testing)解决方案
https://matmanjs.github.io/matman
MIT License
46 stars 10 forks source link

需支持延迟关闭无头浏览器 #149

Closed helinjiang closed 5 years ago

helinjiang commented 5 years ago

部分场景下,我们需要延迟关闭无头浏览器。例如我们需要收集接口请求,但是接口请求是异步返回,如果我们在点击操作之后,直接就关闭了无头浏览器,此时是获取不到请求操作的。

目前我们可以通过手动调用 wait() 方法,可以支持自定义延迟,例如:

return caseParser.handleOperate(pageUrl, crawlerScriptPath, reqOpts, (testAction) => {
        // 第一步:开始操作之前
        testAction.addAction(function (nightmareRun) {
            return nightmareRun.wait(500);
        });

        // 第二步:身份证输入框输入: 至尊宝
        testAction.addAction(function (nightmareRun) {
            return nightmareRun.type('#name-value', '至尊宝').wait(500);
        });
    })

但是对于 caseParser.handleScan 却并没有很好的方式。建议 opts 参数中增加类似 delay 参数,延迟关闭无头浏览器

helinjiang commented 5 years ago

caseParser.handleScan 支持第四个参数可以控制这个时间,当传递了 useRecorder: true 时,则自动延时