From 57c8eefce31b1cdee4429fcfc62eb0a06e7ca335 Mon Sep 17 00:00:00 2001 From: lihuifang Date: Mon, 29 Jul 2024 15:51:08 +0800 Subject: [PATCH] *[task#123780,doing,2h,5h] Add ui test files of start and suppend project. --- .../test/lib/startproject.ui.class.php | 69 +++++++++++++++++++ module/project/test/ui/page/browse.php | 25 ++++--- module/project/test/ui/startproject.php | 25 +++++++ 3 files changed, 109 insertions(+), 10 deletions(-) create mode 100644 module/project/test/lib/startproject.ui.class.php create mode 100755 module/project/test/ui/startproject.php diff --git a/module/project/test/lib/startproject.ui.class.php b/module/project/test/lib/startproject.ui.class.php new file mode 100644 index 0000000000..3108b546f6 --- /dev/null +++ b/module/project/test/lib/startproject.ui.class.php @@ -0,0 +1,69 @@ +initForm('project', 'browse', 'appIframe-project'); + $featureBar = (array)$this->lang->project->featureBar; + $featureBar['browse'] = (array)$featureBar['browse']; + $form->dom->btn($featureBar['browse']['wait'])->click(); + $title = $form->dom->projectName->getText(); + $form->dom->startBtn->click(); + $form->wait(1); + /*点击启动*/ + $form->dom->startProject->click(); + $form->wait(1); + + /*重新进入项目列表,按照项目名称搜索项目*/ + $form = $this->initForm('project', 'browse', 'appIframe-project'); + $browsePage = $this->loadPage('project', 'browse'); + $form->dom->search(array("项目名称,=,{$title}")); + $form->wait(1); + //搜索的项目状态为进行中,说明启动成功 + $featureBar['index'] = (array)$featureBar['index']; + if($form->dom->browseStatus->getText() != $featureBar['index']['doing']) return $this->fail('启动项目失败'); + return $this->success('启动项目成功'); + } + + /* + * 挂起项目 + * Suspend a project. + * + * @param array $project + * @access public + * @return object + */ + public function suspendProject(array $project) + { + $form = $this->initForm('project', 'browse', 'appIframe-project'); + $featureBar = (array)$this->lang->project->featureBar; + $featureBar['browse'] = (array)$featureBar['browse']; + $form->dom->btn($featureBar['browse']['doing'])->click(); + $title = $form->dom->projectName->getText(); + $form->dom->moreBtn->click(); + $form->dom->suspendBtn->click(); + $form->wait(1); + + $form->dom->suspendProject->click(); + $form->wait(1); + + /*重新进入项目列表,按照项目名称搜索项目*/ + $form = $this->initForm('project', 'browse', 'appIframe-project'); + $browsePage = $this->loadPage('project', 'browse'); + $form->dom->search(array("项目名称,=,{$title}")); + $form->wait(1); + //搜索的项目状态为挂起,说明挂起成功 + $featureBar['index'] = (array)$featureBar['index']; + if($form->dom->browseStatus->getText() != $featureBar['index']['suspended']) return $this->fail('挂起项目失败'); + return $this->success('挂起项目成功'); + } +} diff --git a/module/project/test/ui/page/browse.php b/module/project/test/ui/page/browse.php index 7d5bfb632f..8ee75c9913 100644 --- a/module/project/test/ui/page/browse.php +++ b/module/project/test/ui/page/browse.php @@ -6,16 +6,21 @@ class browsePage extends page parent::__construct($webdriver); $xpath = array( - '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", - 'moreBtn' => "//*[@id='table-project-browse']/div[2]/div[3]/div/div[1]/div/nav/button[1]/span", - 'closeBtn' => "//*[@class='icon item-icon icon-off']", - 'closeProject' => "//*[@class='modal modal-async load-indicator modal-trans show in']/div/div/div[3]/div/div/form/div[3]/div/button", - 'closed' => "//*[@id='more']/menu/menu/li[2]/a/div", - 'activeBtn' => "//*[@id='table-project-browse']/div[2]/div[3]/div/div/div/nav/a[1]/i", - 'activeProject' => "//*[@class='modal modal-async load-indicator modal-trans show in']/div/div/div[3]/div/div/form/div[3]/div/button", + '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", + 'moreBtn' => "//*[@id='table-project-browse']/div[2]/div[3]/div/div[1]/div/nav/button[1]/span", + 'closeBtn' => "//*[@class='icon item-icon icon-off']", + 'closeProject' => "//*[@class='modal modal-async load-indicator modal-trans show in']/div/div/div[3]/div/div/form/div[3]/div/button", + 'closed' => "//*[@id='more']/menu/menu/li[2]/a/div", + 'activeBtn' => "//*[@id='table-project-browse']/div[2]/div[3]/div/div/div/nav/a[1]/i", + 'activeProject' => "//*[@class='modal modal-async load-indicator modal-trans show in']/div/div/div[3]/div/div/form/div[3]/div/button", + 'startBtn' => "//*[@id='table-project-browse']/div[2]/div[3]/div/div/div/nav/a", + 'startProject' => "//*[@class='modal-content']/div[3]/div/div/form/div[3]/div/button/span", + 'suspendBtn' => "//*[@class='popover show fade dropdown in']/menu/menu/li/a", + 'suspendProject' => "//*[@class='modal-content']/div[3]/div/div/form/div[2]/div/button", + 'browseStatus' => "//*[@id='table-project-browse']/div[2]/div[2]/div/div/div/span", ); $this->dom->xpath = array_merge($this->dom->xpath, $xpath); } diff --git a/module/project/test/ui/startproject.php b/module/project/test/ui/startproject.php new file mode 100755 index 0000000000..0f7334201f --- /dev/null +++ b/module/project/test/ui/startproject.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +login(); + +$project = array(); + +r($tester->startProject($project)) && p('message') && e('启动项目成功'); //启动项目 +r($tester->suspendProject($project)) && p('message') && e('挂起项目成功'); //挂起项目 + +$tester->closeBrowser();