* [task#126383,doing,2h] Add the tutorial of manage test.

This commit is contained in:
xieqiyu
2024-09-04 17:31:41 +08:00
committed by 王于听
parent e9602bf60a
commit da309d506b
7 changed files with 329 additions and 0 deletions
+2
View File
@@ -18,6 +18,7 @@ $config->testcase->actionList['runCase']['notLoadModel'] = true;
$config->testcase->actionList['runCase']['data-toggle'] = 'modal';
$config->testcase->actionList['runCase']['data-size'] = 'lg';
$config->testcase->actionList['runCase']['notInModal'] = true;
$config->testcase->actionList['runCase']['class'] = 'testtask-runCase-btn';
$config->testcase->actionList['ztfRun']['icon'] = 'play';
$config->testcase->actionList['ztfRun']['text'] = $lang->testtask->runCase;
@@ -35,6 +36,7 @@ $config->testcase->actionList['runResult']['url'] = array('module' => 't
$config->testcase->actionList['runResult']['data-toggle'] = 'modal';
$config->testcase->actionList['runResult']['data-size'] = 'lg';
$config->testcase->actionList['runResult']['notInModal'] = true;
$config->testcase->actionList['runResult']['class'] = 'testtask-results-btn';
$config->testcase->actionList['edit']['icon'] = 'edit';
$config->testcase->actionList['edit']['text'] = $lang->testcase->edit;
+4
View File
@@ -127,6 +127,8 @@ class testcaseModel extends model
*/
public function getExecutionCases(string $browseType = 'all', int $executionID = 0, int $productID = 0, int|string $branchID = 0, int $moduleID = 0, int $paramID = 0, string $orderBy = 'id_desc', object $pager = null): array
{
if(common::isTutorialMode()) return $this->loadModel('tutorial')->getCases();
if($browseType == 'needconfirm')
{
return $this->dao->select('distinct t1.*, t2.*')->from(TABLE_PROJECTCASE)->alias('t1')
@@ -170,6 +172,8 @@ class testcaseModel extends model
*/
public function getById(int $caseID, int $version = 0): object|bool
{
if(common::isTutorialMode()) return $this->loadModel('tutorial')->getCase();
$case = $this->dao->findById($caseID)->from(TABLE_CASE)->fetch();
if(!$case) return false;
+2
View File
@@ -1450,6 +1450,8 @@ class testtaskModel extends model
*/
public function getResults(int $runID, int $caseID = 0, string $status = 'all', string $type = 'all', int $deployID = 0): array
{
if(common::isTutorialMode()) return $this->loadModel('tutorial')->getResults();
$results = $this->dao->select('*')->from(TABLE_TESTRESULT)
->beginIF($runID > 0)->where('run')->eq($runID)->fi()
->beginIF($runID <= 0)->where('`case`')->eq($caseID)->fi()
+2
View File
@@ -488,6 +488,8 @@ class testtaskZen extends testtask
*/
protected function getProducts(): array
{
if(commonModel::isTutorialMode()) return $this->loadModel('tutorial')->getProductPairs();
/* 如果是在非弹窗页面的项目或执行应用下打开的测试单,则获取当前项目或执行对应的产品。*/
/* If the testtask is opened under a project or execution application on a non-pop-up page, get the current project or execution corresponding product. */
$tab = $this->app->tab;
@@ -380,4 +380,107 @@ $scrumProjectManage->tasks['manageTask']['steps'][] = array(
'desc' => $lang->tutorial->scrumProjectManage->manageTask->step24->desc
);
$scrumProjectManage->tasks['manageTest'] = array();
$scrumProjectManage->tasks['manageTest']['name'] = 'manageTest';
$scrumProjectManage->tasks['manageTest']['title'] = $lang->tutorial->scrumProjectManage->manageTest->title;
$scrumProjectManage->tasks['manageTest']['startUrl'] = array('execution', 'task', 'executionID=3');
$scrumProjectManage->tasks['manageTest']['steps'] = array();
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'clickNavbar',
'target' => 'qa',
'page' => 'execution-task',
'app' => 'execution',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step1->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step1->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'clickMainNavbar',
'target' => 'testcase',
'page' => 'execution-bug',
'url' => array('execution', 'bug', 'executionID=3'),
'title' => $lang->tutorial->scrumProjectManage->manageTest->step2->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step2->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'click',
'target' => '#actionBar a',
'page' => 'execution-testcase',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step3->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step3->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'form',
'page' => 'testcase-create',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step4->name
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'saveForm',
'page' => 'testcase-create',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step5->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step5->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'click',
'target' => 'div.dtable div[data-col="actions"][data-row="1"] a.testtask-runCase-btn',
'page' => 'execution-testcase',
'url' => array('execution', 'testcase', 'executionID=3'),
'title' => $lang->tutorial->scrumProjectManage->manageTest->step6->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step6->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'form',
'page' => 'execution-testcase',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step7->name
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'saveForm',
'page' => 'execution-testcase',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step8->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step8->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'click',
'target' => 'div.dtable div[data-col="actions"][data-row="1"] a.testtask-results-btn',
'page' => 'execution-testcase',
'url' => array('execution', 'testcase', 'executionID=3'),
'title' => $lang->tutorial->scrumProjectManage->manageTest->step9->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step9->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'form',
'page' => 'execution-testcase',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step10->name
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'saveForm',
'target' => 'div.resultSteps button.to-bug-button',
'page' => 'execution-testcase',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step11->name,
'desc' => $lang->tutorial->scrumProjectManage->manageTest->step11->desc
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'form',
'page' => 'bug-create',
'url' => array('bug', 'create', 'productID=1'),
'title' => $lang->tutorial->scrumProjectManage->manageTest->step12->name
);
$scrumProjectManage->tasks['manageTest']['steps'][] = array(
'type' => 'saveForm',
'page' => 'bug-create',
'title' => $lang->tutorial->scrumProjectManage->manageTest->step13->name
);
$config->tutorial->guides[$scrumProjectManage->name] = $scrumProjectManage;
+50
View File
@@ -271,3 +271,53 @@ $lang->tutorial->scrumProjectManage->manageTask->step23->desc = '在这里可以
$lang->tutorial->scrumProjectManage->manageTask->step24 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTask->step24->name = '保存关联的需求';
$lang->tutorial->scrumProjectManage->manageTask->step24->desc = '您可以将完成的需求关联在当前版本中';
$lang->tutorial->scrumProjectManage->manageTest = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->title = '测试管理';
$lang->tutorial->scrumProjectManage->manageTest->step1 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step1->name = '点击测试';
$lang->tutorial->scrumProjectManage->manageTest->step1->desc = '可以在这里进行测试管理';
$lang->tutorial->scrumProjectManage->manageTest->step2 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step2->name = '点击用例';
$lang->tutorial->scrumProjectManage->manageTest->step2->desc = '在这里可以查看用例';
$lang->tutorial->scrumProjectManage->manageTest->step3 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step3->name = '点击创建用例';
$lang->tutorial->scrumProjectManage->manageTest->step3->desc = '在这里可以创建用例';
$lang->tutorial->scrumProjectManage->manageTest->step4 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step4->name = '填写表单';
$lang->tutorial->scrumProjectManage->manageTest->step5 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step5->name = '保存表单';
$lang->tutorial->scrumProjectManage->manageTest->step5->desc = '保存后进入用例列表';
$lang->tutorial->scrumProjectManage->manageTest->step6 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step6->name = '点击执行';
$lang->tutorial->scrumProjectManage->manageTest->step6->desc = '点击执行可以执行用例';
$lang->tutorial->scrumProjectManage->manageTest->step7 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step7->name = '填写表单';
$lang->tutorial->scrumProjectManage->manageTest->step8 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step8->name = '保存表单';
$lang->tutorial->scrumProjectManage->manageTest->step8->desc = '保存后返回用例列表';
$lang->tutorial->scrumProjectManage->manageTest->step9 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step9->name = '点击结果';
$lang->tutorial->scrumProjectManage->manageTest->step9->desc = '点击这里可以查看用例执行结果';
$lang->tutorial->scrumProjectManage->manageTest->step10 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step10->name = '选择步骤';
$lang->tutorial->scrumProjectManage->manageTest->step11 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step11->name = '点击转bug';
$lang->tutorial->scrumProjectManage->manageTest->step11->desc = '可以将未通过的执行结果转Bug处理';
$lang->tutorial->scrumProjectManage->manageTest->step12 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step12->name = '填写表单';
$lang->tutorial->scrumProjectManage->manageTest->step13 = new stdClass();
$lang->tutorial->scrumProjectManage->manageTest->step13->name = '保存表单';
+166
View File
@@ -630,4 +630,170 @@ class tutorialModel extends model
$builds[$build->id] = $build;
return $builds;
}
/**
* 获取新手模式用例。
* Get Cases.
*
* @access public
* @return string
*/
public function getCase(): object
{
$case = new stdClass();
$case->project = 2;
$case->product = 1;
$case->case = 1;
$case->count = 1;
$case->version = 1;
$case->order = 0;
$case->id = 1;
$case->execution = 3;
$case->branch = 0;
$case->lib = 0;
$case->module = 0;
$case->path = 0;
$case->story = 0;
$case->storyVersion = 1;
$case->title = 'Test case';
$case->precondition = '';
$case->keywords = '';
$case->pri = 3;
$case->type = 'feature';
$case->auto = 'no';
$case->frame = '';
$case->stage = 'unittest';
$case->howRun = '';
$case->script = '';
$case->scriptedBy = '';
$case->scriptedDate = '';
$case->scriptStatus = '';
$case->scriptLocation = '';
$case->status = 'normal';
$case->subStatus = '';
$case->color = '';
$case->frequency = 1;
$case->openedBy = '';
$case->openedDate = '';
$case->reviewedBy = '';
$case->reviewedDate = '';
$case->lastEditedBy = '';
$case->lastEditedDate = '';
$case->linkCase = '';
$case->fromBug = 0;
$case->fromCaseID = 0;
$case->fromCaseVersion = 1;
$case->deleted = 0;
$case->lastRunner = '';
$case->lastRunDate = '';
$case->lastRunResult = 'fail';
$case->scene = 0;
$case->sort = 0;
$case->bugs = 1;
$case->results = 1;
$case->caseFails = 1;
$case->stepNumber = 1;
$case->needconfirm = '';
$step1 = new stdClass();
$step1->name = 1;
$step1->id = 1;
$step1->step = 'Test step1';
$step1->desc = 'Test step1';
$step1->expect = '';
$step1->type = 'step';
$step1->parent = 0;
$step1->grade = 1;
$step2 = new stdClass();
$step2->name = 2;
$step2->id = 2;
$step2->step = 'Test step2';
$step2->desc = 'Test step2';
$step2->expect = '';
$step2->type = 'step';
$step2->parent = 0;
$step2->grade = 1;
$case->steps = array($step1, $step2);
return $case;
}
/**
* 获取新手模式用例。
* Get Cases.
*
* @access public
* @return string
*/
public function getCases(): array
{
$case = $this->getCase();
$cases = array();
$cases[$case->id] = $case;
return $cases;
}
/**
* 获取新手模式用例执行结果。
* Get results.
*
* @access public
* @return string
*/
public function getResults(): array
{
$result = new stdClass();
$result->id = 1;
$result->run = 0;
$result->case = 1;
$result->version = 1;
$result->job = 0;
$result->compile = 0;
$result->caseResult = 'fail';
$result->stepResults = array(
1 => array(
'id' => 1,
'parent' => 0,
'case' => 1,
'version' => 1,
'type' => 'step',
'desc' => 'Test step1',
'expect' => '',
'name' => 1,
'grade' => 1,
'result' => 'fail',
'real' => '',
'files' => array()
),
2 => array(
'id' => 2,
'parent' => 0,
'case' => 1,
'version' => 1,
'type' => 'step',
'desc' => 'Test step2',
'expect' => '',
'name' => 2,
'grade' => 1,
'result' => 'pass',
'real' => '',
'files' => array()
)
);
$result->ZTFResult = '';
$result->node = 0;
$result->lastRunner = $this->app->user->account;
$result->date = helper::now();
$result->duration = 0;
$result->xml = '';
$result->deploy = 0;
$result->build = 0;
$result->task = 0;
$result->nodeName = '';
$result->files = array();
return array(1 => $result);
}
}