/** * * 根据执行结果生成单元格信息 * @param unknown_type $caseList */ function getTrCase($caseList) { //创建case名对应的单元格 $trCase = ''; require_once 'config.php'; $numBro = count(Config::$BROWSERS); foreach ($caseList as $casename => $caseDetail) { //每一个用例 $cnurl = implode('.', explode('_', $casename)); $trCase .= "<tr><td><a href='http://{$_SERVER['HTTP_HOST']}/{$_SERVER['PHP_SELF']}/../run.php?case={$cnurl}'>运行</a>{$casename}</td>"; $totalCov = calTotalCov($caseDetail, $numBro); $trCase .= "<td title='所有覆盖率的均值'>{$totalCov}</td>"; foreach ($caseDetail as $br => $infos) { //$b为browser名字,$info为详细信息 $fail = $infos['fail']; $total = $infos['total']; $cov = $infos['cov']; $color = $fail == 0 ? '#5E740B' : '#710909'; $trCase .= "<td style='background-color:{$color}'>{$cov}%</td><td style='background-color:{$color}'>{$fail}</td><td style='background-color:{$color}'>{$total}</td>"; } $trCase .= "</tr>"; } return $trCase; }
/** * * 根据执行结果生成单元格信息 * @param unknown_type $caseList */ function getTrCase($caseList, $onlyFail, $onlyCoverd) { //$onlyFail 为真时,只显示 fail 的用例 //$onlyCoverd 为0时,只显示全浏览器覆盖率为0的用例;为1时,只显示全浏览器覆盖率不为0的用例;为其他时,显示所有的用例 //创建case名对应的单元格 $totalTrCase = ''; require_once 'config.php'; $rowColor = '#B0E0E6'; //标记行的颜色,单双数行显示的背景颜色不同 $numBro = count(Config::getBrowserSet($configBrowserSet)); $averageCov = 0; //所有用例的全浏览器覆盖率的平均值(全浏览器覆盖率为0的不计) $numCov = 0; //全浏览器覆盖率不为0的用例数量 foreach ($caseList as $casename => $caseDetail) { //每一个用例 $ifFail = false; $cnurl = implode('.', explode('_', $casename)); $trCase = ''; $totalCov = calTotalCov($caseDetail, $numBro); $averageCov += $totalCov; $numCov = $totalCov == 0 ? $numCov : $numCov + 1; if ($onlyCoverd == 0 && $totalCov != 0 || $onlyCoverd == 1 && $totalCov == 0) { //$onlyCoverd 为0时,只显示全浏览器覆盖率为0的用例;为1时,只显示全浏览器覆盖率不为0的用例; continue; } if (!$onlyFail) { //对于展示 fail 的用例的列表,不显示全浏览器覆盖率 $trCase .= "<td title='全浏览器覆盖率'>" . $totalCov . ($totalCov == "_" ? "" : "%") . "</td>"; } foreach ($caseDetail as $br => $infos) { //$b为browser名字,$info为详细信息 $fail = $infos['fail']; $ifFail = $fail == 0 ? $ifFail : true; $total = $infos['total']; $cov = $infos['cov']; $color = $fail == 0 ? $rowColor : '#CD5C5C'; $PercentSign = $cov == '_' ? '' : '%'; $trCase .= "<td style='background-color:" . $color . "'>" . $cov . $PercentSign . "</td><td style='background-color:" . $color . "'>" . $fail . "</td><td style='background-color:" . $color . "'>" . $total . "</td>"; } $trCase = "<tr style='background-color:{$rowColor}'><td><a href='http://../run.php?case={$cnurl}'>运行</a>{$casename}</td>" . $trCase . "</tr>"; if (!$onlyFail || $ifFail) { $totalTrCase = $totalTrCase . $trCase; $rowColor = $rowColor == '#F0FFFF' ? '#B0E0E6' : '#F0FFFF'; } else { } } $averageCov = number_format($averageCov / $numCov, 1); if ($onlyCoverd == 0) { $tableContent = $totalTrCase; } elseif (!$onlyFail) { $tableContent = "<th rowspan='2'>总覆盖率<br>(平均值:" . $averageCov . "%)</th>" . getThBrowser($caseList) . $totalTrCase; } else { $tableContent = getThBrowser($caseList) . $totalTrCase; } return $tableContent; }
/** * * 根据执行结果生成单元格信息 * @param unknown_type $caseList */ function getTrCase($caseList, $forFail) { //$forFail 为真时,只显示 fail 的用例 //创建case名对应的单元格 $totalTrCase = ''; $numBro = count(ConfigTest::$BROWSERS); foreach ($caseList as $casename => $caseDetail) { //每一个用例 $ifFail = false; $cnurl = implode('.', explode('/', $casename)); $trCase = "<tr><td style='text-align: left'><a href='http://{$_SERVER['HTTP_HOST']}/{$_SERVER['PHP_SELF']}/../run.php?case={$cnurl}'>运行</a>{$casename}</td>"; $totalCov = calTotalCov($caseDetail, $numBro); $trCase .= "<td title='所有覆盖率的均值'>{$totalCov}</td>"; foreach ($caseDetail as $br => $infos) { //$b为browser名字,$info为详细信息 $fail = $infos['fail']; $ifFail = $fail == 0 ? $ifFail : true; $total = $infos['total']; $cov = $infos['cov']; $color = $fail == 0 ? '#34F005' : '#FF2A02'; $trCase .= "<td style='background-color:{$color}'>{$cov}%</td><td style='background-color:{$color}'>{$fail}</td><td style='background-color:{$color}'>{$total}</td>"; } $trCase .= "</tr>"; if (!$forFail || $ifFail) { $totalTrCase = $totalTrCase . $trCase; } } return $totalTrCase; }