作為一個測試工程師嚎花,尤其是做自動化測試的時候鲫咽,結(jié)果展示往往是個重頭戲。如何讓測試case的結(jié)果清晰的展現(xiàn)在大家面前溃斋,而不是一堆log堆在那里界拦,確實是要花時間去考慮的。我這邊目前采用的是HTML中表格的展示方式梗劫,還可以直接在郵件中展示享甸,直觀方便。
在制作HTML表格的初期梳侨,我就是直接用的最簡單的方法蛉威,沒有任何處理,效果如下:
Paste_Image.png
下面是代碼:
<html>
<body>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td>Name</td>
<td>Result</td>
<td>Reason</td>
<td>Comments</td>
</tr>
<tr>
<td>TestCase1</td>
<td>Pass</td>
<td>111</div></td>
<td>This is a comment!</td>
</tr>
<tr>
<td>TestCase2</td>
<td>Fail</td>
<td>java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166) at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90) at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252) at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191) at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:201) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127) at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261) at java.lang.Thread.run(Thread.java:745)
</td>
<td>This is a comment!</td>
</tr>
<tr>
<td>TestCase3</td>
<td>Pass</td>
<td>222</td>
<td>This is a comment!</td>
</tr>
<tr>
<td>TestCase4</td>
<td>Pass</td>
<td>333</td>
<td>This is a comment!</td>
</tr>
</table>
</body>
</html>
其實單單從展示結(jié)果來說走哺,我們的目的達(dá)到了蚯嫌。但是有一點不完美,就是中間的長字符串把我們的其他列擠壓的不要不要的丙躏,圖變得很丑了择示。怎么優(yōu)化呢?接下來就來看看我是怎么解決這個問題的晒旅。
還是先看效果:
Paste_Image.png
還是很明顯的吧栅盲!中間的長字符串現(xiàn)在變成了可以滾動的形態(tài),使我們的表格看著舒服多了废恋。話不多說谈秫,看代碼:
<html>
<body>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td>Name</td>
<td>Result</td>
<td>Reason</td>
<td>Comments</td>
</tr>
<tr>
<td>TestCase1</td>
<td>Pass</td>
<td><div class="sidebar-nav" style="overflow:auto;overflow-x:hidden;width:350px;max-height:350px">111</div></td>
<td>This is a comment!</td>
</tr>
<tr>
<td>TestCase2</td>
<td>Fail</td>
<td><div class="sidebar-nav" style="overflow:auto;overflow-x:hidden;width:350px;max-height:350px">java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166) at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90) at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252) at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191) at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:201) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127) at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261) at java.lang.Thread.run(Thread.java:745)
</div></td>
<td>This is a comment!</td>
</tr>
<tr>
<td>TestCase3</td>
<td>Pass</td>
<td><div class="sidebar-nav" style="overflow:auto;overflow-x:hidden;width:350px;max-height:350px">222</div></td>
<td>This is a comment!</td>
</tr>
<tr>
<td>TestCase4</td>
<td>Pass</td>
<td><div class="sidebar-nav" style="overflow:auto;overflow-x:hidden;width:350px;max-height:350px">333</div></td>
<td>This is a comment!</td>
</tr>
</table>
</body>
</html>
Friendly Support :)
http://www.w3school.com.cn/cssref/pr_pos_overflow.asp