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 0m0.058s scenario (1 passed) steps (9 passed) 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: Given I am on homepage # FeatureContext::iAmOnHomepage() Scenario: Kiểm tra các 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 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 ... 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âṇ dungpháṭ triển phần mềm hƣớng hành vi sử dụng công cụ Behat. .. lặp phát hành ngắn” để cấp phát hành vi ứng dụng kiểm thử phần mềm 2.2 Nguyên lý hoạt động Mục đích BDD cung cấp kỹ thuật để phát triển phần mềm theo mong muốn khách hàng, vi? ??c áp dụng phát triển. .. kiểm thử triển khai nhƣ Hình 1-1 Hình 1-1 Mơ hình phát triển lặp Phƣơng pháp phát triển phần mềm linh hoạt Agile phƣơng pháp phát triển phần mềm đại đƣợc áp dụng rộng rãi công ty phần mềm Nhân