* [task#126383,doing,2h] Add the tutorial of manage test.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = '保存表单';
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user