<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["table"]});
      google.setOnLoadCallback(drawTable);

      function drawTable() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'TestCase');
        data.addColumn('string', 'Client');
        data.addColumn('string', 'Server');
        data.addColumn('boolean', 'Pass');
        data.addColumn('string', 'LogLink');
        data.addRows([
