From a9a9c70fcf27479eee529f3de867825962776bd2 Mon Sep 17 00:00:00 2001 From: lijie Date: Thu, 3 Jul 2025 13:42:19 +0800 Subject: [PATCH 1/4] [task#146147, 3h], add create story ui-test case when vision is lite. --- .../test/lib/createstoryinlite.ui.class.php | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100755 module/story/test/lib/createstoryinlite.ui.class.php diff --git a/module/story/test/lib/createstoryinlite.ui.class.php b/module/story/test/lib/createstoryinlite.ui.class.php new file mode 100755 index 0000000000..bcafd9270a --- /dev/null +++ b/module/story/test/lib/createstoryinlite.ui.class.php @@ -0,0 +1,72 @@ + '1', + 'branch' => '', + 'moduleID' => '0', + 'storyID' => '0', + 'projectID' => '1', + 'bugID' => '0', + 'planID' => '0', + 'todoID' => '0', + 'extra' => '', + 'storyType' => 'story' + ); + + $form = $this->switchVision('lite'); + $form = $this->initForm('projectstory', 'story', array('projectID' => '1'), 'appIframe-project'); //由于创建目标后会跳转到记录了session的页面,所以先进入一次对应目标的列表页面 + $form = $this->initForm('story', 'create', $createStoryParam, 'appIframe-project'); //再进入创建目标页面 + $form->dom->titleInLite->setValue($storyName); + $form->dom->{'reviewer[]'}->multiPicker($reviewer); + $form->dom->saveInLite->click(); + $form->wait(1); + + //创建失败检查提示是否正确,名称为空和评审人为空提示 + if($this->response('method') != 'story') + { + $form = $this->loadPage('story', 'create'); + if($storyName == '') + { + $srCommen = $form->dom->srCommen->getText(); + $nameTip = sprintf($this->lang->error->notempty, $srCommen); + if($form->dom->titleTip->getText() == $nameTip) return $this->success('创建目标页面名称为空提示正确'); + } + + if($reviewer == '') + { + $reviwerTip = sprintf($this->lang->error->notempty, $this->lang->story->reviewer); + if($form->dom->reviewerTip->getText() == $reviwerTip) return $this->success('创建目标页面评审人为空提示正确'); + } + return $this->failed('创建目标页面提示信息不正确'); + } + + $viewPage = $this->initForm('projectstory', 'view', array('storyID' => '1', 'projectID' => '1'), 'appIframe-project'); + if($viewPage->dom->storyName->getText() != $storyName) return $this->failed('目标名称不正确'); + if($viewPage->dom->status->getText() != '评审中') return $this->failed('目标状态不正确'); + $viewPage->dom->TargetLife->click(); + if(strpos($viewPage->dom->openedBy->getText() , 'admin') === false) return $this->failed('创建人不正确'); + + return $this->success('创建'.$storyName.'成功'); + } +} From 590c9c8fa58e20a7f423b6941ec1008c78df67d9 Mon Sep 17 00:00:00 2001 From: lijie Date: Thu, 3 Jul 2025 13:44:40 +0800 Subject: [PATCH 2/4] [task#146147, 0.5h], add create story ui-test case when vision is lite. --- module/story/test/ui/creatstoryinlite.php | 80 +++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100755 module/story/test/ui/creatstoryinlite.php diff --git a/module/story/test/ui/creatstoryinlite.php b/module/story/test/ui/creatstoryinlite.php new file mode 100755 index 0000000000..11576017d0 --- /dev/null +++ b/module/story/test/ui/creatstoryinlite.php @@ -0,0 +1,80 @@ +#!/usr/bin/env php +id->range('1'); +$product->program->range('0'); +$product->name->range('产品1'); +$product->shadow->range('0'); +$product->bind->range('0'); +$product->acl->range('open'); +$product->createdBy->range('admin'); +$product->vision->range('lite'); +$product->gen(1); + +$story = zenData('story'); +$story->gen(0); + +$storyspec = zenData('storyspec'); +$storyspec->gen(0); + +$storyreview = zenData('storyreview'); +$storyreview->gen(0); + +$project = zenData('project'); +$project->id->range('1'); +$project->model->range('kanban'); +$project->type->range('project'); +$project->path->range('`,1,`'); +$project->team->range('运营项目1'); +$project->acl->range('open'); +$project->vision->range('lite'); +$project->name->range('运营项目1'); +$project->gen(1); + +$projectadmin = zenData('projectadmin'); +$projectadmin->group->range('1'); +$projectadmin->account->range('admin'); +$projectadmin->projects->range('`,`1`,`'); +$projectadmin->gen(1); + +$projectproduct = zenData('projectproduct'); +$projectproduct->project->range('1'); +$projectproduct->product->range('1'); +$projectproduct->gen(1); + +$projectstory = zenData('projectstory')->gen(0); + +$action = zenData('action'); +$action->gen(0); + +$tester = new createStoryInLiteTester(); +$tester->login(); + +$storys = array( + 'null' => '', + 'story' => '运营界面目标' +); + +$reviewers = array( + 'null' => '', + 'admin' => array('admin') +); + +r($tester->createDefault($storys['null'], $reviewers['admin'])) && p('message,status') && e('创建目标页面名称为空提示正确,SUCCESS'); // 缺少名称,创建失败 +r($tester->createDefault($storys['story'], $reviewers['null'])) && p('message,status') && e('创建目标页面评审人为空提示正确,SUCCESS'); // 缺少评审人,创建失败 +r($tester->createDefault($storys['story'], $reviewers['admin'])) && p('message,status') && e('创建运营界面目标成功,SUCCESS'); // 创建成功 + +$tester->closeBrowser(); From 7c7ac9a1c36660ee57ddc6e33fe95abd309a748d Mon Sep 17 00:00:00 2001 From: lijie Date: Thu, 3 Jul 2025 13:45:57 +0800 Subject: [PATCH 3/4] [task#146147, 0.5h], add create story ui-test case when vision is lite. --- module/story/test/ui/page/create.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/module/story/test/ui/page/create.php b/module/story/test/ui/page/create.php index e294e74703..cb0e4e0b46 100755 --- a/module/story/test/ui/page/create.php +++ b/module/story/test/ui/page/create.php @@ -1,4 +1,15 @@ "//*[@id='zin_story_create_form']/div[3]/div[1]/label/span", + 'titleInLite' => "//*[@id='title']", + 'saveInLite' => "//*[@id='zin_story_create_form']/div[8]/div/button[1]" + ); + $this->dom->xpath = array_merge($this->dom->xpath, $xpath); + } } From 43010ef9339182da78d19cdd3949492bd1f557f9 Mon Sep 17 00:00:00 2001 From: lijie Date: Thu, 3 Jul 2025 13:46:39 +0800 Subject: [PATCH 4/4] [task#146147, 0.5h], add create story ui-test case when vision is lite. --- module/projectstory/test/ui/page/view.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 module/projectstory/test/ui/page/view.php diff --git a/module/projectstory/test/ui/page/view.php b/module/projectstory/test/ui/page/view.php new file mode 100755 index 0000000000..7f6dcb1839 --- /dev/null +++ b/module/projectstory/test/ui/page/view.php @@ -0,0 +1,15 @@ + "//*[@id='mainContent']/div/div[1]/div[1]/span[2]", + 'status' => "//*[@id='zin_projectstory_view_tabPane']/div/div[2]/div[2]/span", + 'TargetLife' => "//*[@id='mainContent']/div/div[2]/div[2]/div[1]/div[1]/ul/li[2]/a", + 'openedBy' => "//*[@id='mainContent']/div/div[2]/div[2]//div[2]/div[2]//div[1]/div[3]/div[2]//span" + ); + $this->dom->xpath = array_merge($this->dom->xpath, $xpath); + } +}