From bae7875e6739e56e02432822badb8fbfb8db1def Mon Sep 17 00:00:00 2001 From: lihuifang Date: Fri, 12 Jul 2024 08:50:39 +0800 Subject: [PATCH] *[task#122980,doing,5h,1h] Add ui test files of creating scrum project. --- .../project/test/lib/createscrum.ui.class.php | 57 +++++++++++++++++++ module/project/test/ui/createscrum.php | 40 +++++++++++++ module/project/test/ui/page/browse.php | 1 + module/project/test/ui/page/create.php | 1 + 4 files changed, 99 insertions(+) create mode 100644 module/project/test/lib/createscrum.ui.class.php create mode 100755 module/project/test/ui/createscrum.php diff --git a/module/project/test/lib/createscrum.ui.class.php b/module/project/test/lib/createscrum.ui.class.php new file mode 100644 index 0000000000..112f576bc9 --- /dev/null +++ b/module/project/test/lib/createscrum.ui.class.php @@ -0,0 +1,57 @@ +initForm('project', 'create', array('model' => 'scrum')); + $form->dom->noproduct->click(); + $form->dom->name->setValue($scrum['noproduct']); + $form->dom->end->datePicker($scrum['end']); + $form->dom->PM->picker($scrum['PM']); + $form->dom->btn($this->lang->save)->click(); + $form->wait(1); + return $this->response(); + } + + /** + * Create the scrum project. + * + * @param string $scrum + * @access public + * @return object + */ + public function createScrum($scrum = array()) + { + $form = $this->initForm('project', 'create', array('model' => 'scrum')); + $form->dom->name->setValue($scrum); + $form->dom->longTime->click(); + $form->dom->btn($this->lang->save)->click(); + $form->wait(1); + if($this->response('method') != 'browse') + { + if($this->checkFormTips('project')) return $this->success('创建敏捷项目表单页提示信息正确'); + return $this->failed('创建敏捷项目表单页提示信息不正确'); + } + + /* 跳转到项目列表页面,点击列表页项目名称进入项目,再点击设置菜单查看项目概况页面。 */ + $browsePage = $this->loadPage('project', 'browse'); + $browsePage->dom->scrumName->click(); + $browsePage->dom->settings->click(); + $viewPage = $this->loadPage('project', 'view'); + $form->wait(1); + + if($viewPage->dom->viewProjectName->getText() != $scrum) return $this->failed('名称错误'); + $categoryLang = (array)$this->lang->project->projectTypeList; + if($viewPage->dom->category->getText() != $categoryLang['1']) return $this->failed('类型错误'); + + return $this->success(); + } +} diff --git a/module/project/test/ui/createscrum.php b/module/project/test/ui/createscrum.php new file mode 100755 index 0000000000..0298d8956f --- /dev/null +++ b/module/project/test/ui/createscrum.php @@ -0,0 +1,40 @@ +#!/usr/bin/env php +loadYaml('project', false, 2)->gen(10); +$tester = new createScrumTester(); +$tester->login(); + +$scrum = array(); +$scrum['null'] = ''; +$scrum['hasproduct'] = '一个产品型项目'.time(); +$scrum['noproduct'] = '一个项目型项目'.time(); +$scrum['end'] = date("Y-m-d",strtotime("+1 month")); +$scrum['PM'] = 'admin'; + +r($tester->createScrum($scrum['null'])) && p('message') && e('创建敏捷项目表单页提示信息正确'); // 缺少项目名称,创建失败 +r($tester->createScrum($scrum['hasproduct'])) && p('status') && e('SUCCESS'); // 创建产品型项目 +r($tester->createScrum($scrum['hasproduct'])) && p('message') && e('创建敏捷项目表单页提示信息正确'); // 创建重复名称的产品 +r($tester->checkLocating($scrum) ) && p('module,method') && e('project,browse'); // 创建项目型敏捷项目后的跳转链接检查 + +$tester->closeBrowser(); diff --git a/module/project/test/ui/page/browse.php b/module/project/test/ui/page/browse.php index 213fa44787..2f315c76ad 100644 --- a/module/project/test/ui/page/browse.php +++ b/module/project/test/ui/page/browse.php @@ -9,6 +9,7 @@ class browsePage extends page 'settings' => "//*[@id='navbar']//a[@data-id='settings']/span", 'editBtn' => "//*[@id='table-project-browse']/div[2]/div[3]/div/div[1]/div/nav/a[2]/i", 'projectName' => "//*[@id='table-project-browse']/div[2]/div[1]/div/div[2]/div/a", + 'scrumName' => "//*[@id='mainContent']/div[2]/div/div/div[2]/div/div/div[2]/div/a", ); $this->dom->xpath = array_merge($this->dom->xpath, $xpath); } diff --git a/module/project/test/ui/page/create.php b/module/project/test/ui/page/create.php index 06d4998054..a26d6779e5 100644 --- a/module/project/test/ui/page/create.php +++ b/module/project/test/ui/page/create.php @@ -6,6 +6,7 @@ class createPage extends page parent::__construct($webdriver); $xpath = array( 'settings' => "//*[@id='navbar']/menu/li[14]/a/span", + 'noproduct' => "//*[@id='mainContent']/div/div[2]/div/form/div[2]/div/div[2]/label", ); $this->dom->xpath = array_merge($this->dom->xpath, $xpath); }