diff --git a/module/bug/test/lib/ui/activatebug.ui.class.php b/module/bug/test/lib/ui/activatebug.ui.class.php new file mode 100755 index 0000000000..6216b598df --- /dev/null +++ b/module/bug/test/lib/ui/activatebug.ui.class.php @@ -0,0 +1,46 @@ +#!/usr/bin/env php +login(); + } + + /** + * 激活bug。 + * Activate a bug. + * + * @param array $product + * @param object $bug + * @param string $user + * @access public + * @return object + */ + public function activateBug(array $product, object $bug, string $user) + { + $form = $this->initForm('bug', 'browse', $product, 'appIframe-qa'); + $form->wait(1); + $form->dom->solvedByMe->click(); + $form->wait(1); + $index = array_search($bug->id, $form->dom->getElementListByXpathKey('bugID', true)); + if($index === false) return $this->failed('bug未找到' . $bug->title); + $form->dom->getElementListByXpathKey('bugID')[$index]->click(); + $form->wait(1); + $form->dom->selectActBtn->click(); + $form->wait(1); + $form->dom->assignedTo->picker($user); + $form->wait(1); + $form->dom->activate->click(); + $form->wait(1); + $form->dom->all->click(); + $form->wait(1); + $newState = $form->dom->getElementListByXpathKey('bugStatus', true)[$index]; + if($newState == $this->lang->bug->activate) return $this->success('激活bug成功'); + return $this->failed('激活bug失败'); + } +} diff --git a/module/bug/test/ui/activate.php b/module/bug/test/ui/activate.php new file mode 100755 index 0000000000..13ca8b3f83 --- /dev/null +++ b/module/bug/test/ui/activate.php @@ -0,0 +1,44 @@ +#!/usr/bin/env php +loadYaml('product')->gen(1); +$bug = zenData('bug'); +$bug->project->range('0'); +$bug->product->range('1'); +$bug->module->range('0'); +$bug->execution->range('0'); +$bug->openedBuild->range('trunk'); +$bug->assignedTo->range('admin'); +$bug->status->range('closed'); +$bug->resolvedBy->range('admin'); +$bug->closedBy->range('admin'); +$bug->gen(3); + +$user = zenData('user'); +$user->id->range('1-3'); +$user->account->range('admin, user1, user2'); +$user->password->range($config->uitest->defaultPassword)->format('md5'); +$user->realname->range('admin, USER1, USER2'); +$user->gen(3); + +$product = array(); +$product['productID'] = 1; + +$bugs = zenData('bug')->dao->select('id, title')->from(TABLE_BUG)->fetchAll(); + +$tester = new activateBugTester(); +r($tester->activateBug($product, $bugs[0], 'USER1')) && p('status,message') && e('SUCCESS,激活bug成功'); //激活bug测试 +$tester->closeBrowser(); \ No newline at end of file diff --git a/module/bug/test/ui/page/browse.php b/module/bug/test/ui/page/browse.php index 79dfbe34e4..c5dfc81c54 100755 --- a/module/bug/test/ui/page/browse.php +++ b/module/bug/test/ui/page/browse.php @@ -27,8 +27,12 @@ class browsePage extends page 'saveButton' => "//span[text()='保存']", 'assignTo' => "//span[text()='指派给']", 'assign' => "//span[text()='指派']", + 'activate' => "//span[text()='激活']", + 'all' => "//span[text()='全部']", + 'solvedByMe' => "//span[text()='由我解决']", 'bugAssigned' => "//div[@data-col='assignedTo' and @data-type='assign']/div/a/span[text()]", - 'popupMenu' => '//div[contains(@class,"popover show fade dropdown in")]' + 'popupMenu' => '//div[contains(@class,"popover show fade dropdown in")]', + 'selectActBtn' => '//div[contains(@class,"is-checked") and @data-col="actions"]//a[@title="激活"]', ); $this->dom->xpath = array_merge($this->dom->xpath, $xpath);