接口测试 Jmeter+ant 发测试报告到邮箱的时候,expand/collapse 的图片丢失

cece0417 · 发布于 2017年06月13日 · 最后由 cece0417 回复于 2017年06月15日 · 353 次阅读

问题:

使用ant 构建Jmeter脚本之后,发送测试报告到了自己的邮箱,但是打开之后,却丢失了expand/collapse的图片,上网查了好久,也没有解决方案,请问有没有人遇到这样的情况,如何解决呢?

截图:

自己查找的解决办法:

上网查询之后,有这么一个解决办法,如截图:

但是根据这个方法进行操作的时候,问题依然存在,还是没有办法解决。

共收到 11 条回复
104

本质的原因是因为邮箱里面的html是不能执行js的 所以别指望有太多的效果 这种你只能保存到外部看看链接被解析成了什么

9631

这个情况是你的ant的xml没有配置好。在xml中增加这一段,并把图片拷贝到extras目录下。

<copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />

另:LZ邮件中木有乱码 是怎么配置的?

12000
9631faith 回复

加了这么一句,主要起作用的是这个property name定义了encoding是UTF-8,然后再加载这个report的时候引用了这个UTF-8的编码。

<property name="encoding" value="UTF-8" />
<target name="mail">
<loadfile property="report" srcFile="${jmeter.result.htmlName}" encoding="${encoding}"/>
<mail from="${mail_from}" tolist="${mail_to}" mailport="${mailport}" mailhost="${mailhost}" user="${mail_from}" password="${password}" subject="TestReport-${ant.project.name}" messagemimetype="text/html">
<message>
本轮构建的结果如下:
${report}
</message>
</mail>
<delete file="${jmeter.result.htmlName}" />
</target>

不过你说的那段我的build.xml里面是有的,如截图,只有在本地的时候起作用,发到邮箱的时候就不起作用了。请问你发到邮箱的时候那两个图片是可以用的吗?

12000
104seveniruby 回复

谢谢回复,我可能比较愚钝,反复看了几次也没理解明白😂 ,请问“只能保存到外部看看链接被解析成了什么“是指,我把发到邮箱的报告保存在外部,然后看链接的解析吗?再次感谢

9631

@cece0417 😁 好吧 我是通过Jenkins 发送邮件,图标显示是正常的。

12000
9631faith 回复

好,我也试下,因为我发现这个问题的时候还没弄Jenkins,昨天弄了Jenkins,不过还是用ant发的邮件❤

1756

方法一,试试转成base64.
方法二,将图片上传到你们公司内部的私有云,邮件连接到图片。

3341

将图片改成http能访问的链接,修改两段:

function change(details_id) 
{
        if(document.getElementById(details_id+"_image").src.match("http://ww1.sinaimg.cn/large/6fa4e58agy1fgki2i10o8j200g00g03i.jpg"))
        {
            document.getElementById(details_id+"_image").src = "http://ww1.sinaimg.cn/large/6fa4e58agy1fgkhzf6p25j200g00g03d.jpg";
            expand(details_id);
        }
        else
        {
            document.getElementById(details_id+"_image").src = "http://ww1.sinaimg.cn/large/6fa4e58agy1fgki2i10o8j200g00g03i.jpg";
            collapse(details_id);
        } 
}
<td align="center">
        <a href="">
            <xsl:attribute name="href"><xsl:text/>javascript:change('page_details_<xsl:value-of select="position()" />')</xsl:attribute>
            <img src="http://ww1.sinaimg.cn/large/6fa4e58agy1fgki2i10o8j200g00g03i.jpg" alt="expand/collapse"><xsl:attribute name="id"><xsl:text/>page_details_<xsl:value-of select="position()" />_image</xsl:attribute></img>
        </a>
</td>
12000
3341jaychang1989 回复

请问这样处理,发的报告,点击那个+号的图片,可以展开吗?我之前试过这样处理,但是点击之后会提示该文件不在服务器上

3341
12000cece0417 回复

1楼思寒也解释了,邮件中不能处理js,点那个+号是无法展开的,不过图片显示是没有问题的

12000
3341jaychang1989 回复

原来是这样,受教了,谢谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册