【问题标题】:Can html page be saved?可以保存html页面吗?
【发布时间】:2018-09-12 22:31:03
【问题描述】:

我正在使用 jasmine-spec-reporter 为我的量角器测试用例生成 xml 和 html 报告。 我想知道是否可以保存测试页面的 html。我试图搜索但找不到任何有关它的信息,我很惊讶没有人需要它...

在我的情况下,原因是:我正在生产平台上运行测试版本以生成预期结果(也想保存 html),然后在测试平台上运行实际测试,将结果与预期进行比较。

任何意见将不胜感激!

【问题讨论】:

    标签: jasmine protractor


    【解决方案1】:
    browser.getPageSource()  
    

    会抓取当前页面的页面源代码。

    return browser.getPageSource().then((value) => {
        var fs = require('fs');
        fs.writeFile("a.txt", value, function(err) {
            if (err) {
                return console.log(err);
            }
            console.log("The file was saved!");
        });
    })
    

    然后您可以将其记录在报告中或使用 html 创建一个文本文件。

    https://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.getPageSource

    获取整个页面

    browser.driver.findElement(By.css('body')).getAttribute('innerHTML').then((value)=>{ console.log(value)};) 
    

    【讨论】:

    • 谢谢,部分解决了我的问题,但我可能不够精确。我希望保存完整的网页,以便以后能够再次显示。如果无法获得完整的网页,HTML源可以完成这项工作,但我想知道是否有完整的解决方案。
    • 您想像 PDF 一样保存整个页面?
    • 理想情况下,我想要 html+相关文件(与 ctrl+S 相同的结果,选择了“网页,完成”)。上面的解决方案与“网页,仅 HTML”的 ctrl+S 相同。如果 pdf 是可能的,页面源 + pdf 可能没问题,但仍然不如完整的网页
    • 我已经编辑了答案。这个对我来说很好用。 browser.driver.findElement(By.css('body')).getAttribute('innerHTML').then((value)=>{ console.log(value)};)
    猜你喜欢
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 2018-04-06
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    相关资源
    最近更新 更多