Thông tin nhập vào không hợp lệ
Tên đăng nhập
Mật khẩu
Quên mật khẩu
Đăng ký
-101Kết kiểm thử lƣợt thứ ba scenario (1 passed) steps (9 passed) 0m0.058s Kịch bản thứ hai:Tên đăng nhập không hợp lệ @javascript Scenario: Tên đăng nhập không hợp lệ When I fill in "tendn" with "" And I press "Đăng nhập" Then the field "Tên đăng nhập" should be outlined in red Gọi lệnh behat lần thử nhất, kết là: @javascript Scenario: Tên đăng nhập không hợp lệ # features/login.feature:19 When I fill in "tendn" with "" # FeatureContext::fillField() And I press "Đăng nhập" # FeatureContext::pressButton() Then the field "Tên đăng nhập" should be outlined in red scenarios (1 passed, undefined) 13 steps (12 passed, undefined) 0m5.496s You can implement step definitions for undefined steps with these snippets: /** * @Then /^the field "([^"]*)" should be outlined in red$/ */ public function theFieldShouldBeOutlinedInRed($arg1) { throw new PendingException(); } Bổ sung định nghĩa bƣớc /** * @Then /^the field "([^"]*)" should be outlined in red$/ */ public function theFieldShouldBeOutlinedInRed($field) { $session = $this->getSession()>wait(5000,"$('#validate_msg').children().length> 0"); $page = $this->getSession()->getPage(); // get the object of the field -102$formField = $page->findField($field); if (empty($formField)) { throw new Exception('The page does not have the field with label "' $field '"'); } // get the 'class' attribute of the field $class = $formField->getAttribute("class"); $class = explode(" ", $class); // if the field has 'error' class, then the field will be outlined with red if (!in_array("error", $class)) { throw new Exception('The field "' $field '" is not outlined with red'); } Kết kiểm thử lƣợt thứ hai scenarios (1 passed, failed) 13 steps (12 passed, failed) 0m10.85s Bổ sung mã cho form đăng nhập function check_login() { var check=0; var tendn = $("#tendn").val(); if(tendn =="") { $("input#tendn").addClass("error"); check =1; } else if($("input#tendn").hasClass("error")) { $("input#tendn").removeClass("error"); } if(check==1) { $("p.validate_msg").slideDown("fast"); return false; } $("form#frm_login").submit(); } Kết kiểm thử lƣợt thứ ba scenarios (2 passed) 13 steps (13 passed) 0m10.642s Tƣơng tự ta bổ sung kịch khác cho tính đăng nhập, tính kết kiểm thử tính nhƣ sau: -103gampt@gampt-Inspiron-N4010:~/Desktop/behattest/MinkExtensionexample$ bin/behat features/login.feature Feature: Homepage In order to log in system As a visitor I want to use log in form Background: # features/login.feature:6 Given I am on homepage # FeatureContext::iAmOnHomepage() Scenario: Kiểm tra thành phần Form login # features/login.feature:8 Then I should see text matching "ĐĂNG NHẬP" # FeatureContext::assertPageMatchesText() And I should see "Tên đăng nhập" # FeatureContext::assertPageContainsText() And I should see input "tendn" with "text" type # FeatureContext::iShouldSeeInputWithType() And I should see "Mật khẩu" # FeatureContext::assertPageContainsText() And I should see input "matkhau" with "password" type # FeatureContext::iShouldSeeInputWithType() And I should see "Đăng nhập" button # FeatureContext::iShouldSeeButton() And I should see link "Quên mật khẩu" # FeatureContext::iShouldSeeLink() And I should see link "Đăng ký" # FeatureContext::iShouldSeeLink() @javascript Scenario: Tên đăng nhập không hợp lệ features/login.feature:19 When I fill in "Tên đăng nhập" with "" FeatureContext::fillField() And I press "Đăng nhập" FeatureContext::pressButton() Then the field "Tên đăng nhập" should be outlined in red FeatureContext::theFieldShouldBeOutlinedInRed() @javascript Scenario: Mật không hợp lệ features/login.feature:25 When I fill in "Mật khẩu" with "" FeatureContext::fillField() And I press "Đăng nhập" FeatureContext::pressButton() Then the field "Mật khẩu" should be outlined in red FeatureContext::theFieldShouldBeOutlinedInRed() # # # # # # # # -104- @javascript Scenario: Đăng nhập không thành công features/login.feature:30 When I fill in "Tên đăng nhập" with random text FeatureContext::iFillInWithRandomText() When I fill in "Mật khẩu" with random text FeatureContext::iFillInWithRandomText() And I press "Đăng nhập" FeatureContext::pressButton() Then I should see "Tên đăng nhập/Mật không hợp lệ" FeatureContext::assertPageContainsText() @javascript Scenario: Đăng nhập thành công features/login.feature:36 When I fill in the following: FeatureContext::fillFields() | Tên đăng nhập | admin | | Mật | 123456 | And I press "Đăng nhập" FeatureContext::pressButton() Then I should be on homepage FeatureContext::iShouldBeOnHomepage() And I should see "Hi, admin" FeatureContext::assertPageContainsText() And I should see the link "Đăng xuất" in the "right" FeatureContext::assertLinkRegion() scenarios (5 passed) 28 steps (28 passed) 0m18.746s # # # # # # # # # # # ... quan đến phát triển phần mềm hƣớng hành vi Chƣơng – Công cụ Behat: Giới thiệu công cụ Behat thành phần liên quan Chƣơng - Áp dụng phát triển phần mề m hƣớng hành vi và công cu ̣ Behat: Vâ... từ ngƣời sử dụng tái sử dụng tiêu chí cho vi? ??c tự động hóa kiểm thử chấp nhậnlà cần thiết Chính vi? ? lí tơi chọn đề tài ? ?Nghiên cứu phát triển phần mềm hƣớng hành vi ứng dụng công cụ Behat? ?? Nô ̣i... CHƢƠNG PHÁT TRIỂN PHẦN MỀM HƢỚNG HÀNH VI 24 2.1 Tổng quan phát triển phần mềm hƣớng hành vi 24 2.2 Nguyên lý hoạt động 25 2.3 Quy trình phát triển phần mềm theo hƣớng hành vi