[Selenium C#] Bài 9 Cách Dùng Method Assert Do NUnit Cung Cấp

Nội dung bài học

Cách sử dụng method Assert để verify điều kiện do NUnit cung cấp

Assertions - Classic Model

Mô hình Assert sử dụng một phương pháp riêng biệt để thể hiện từng khẳng định riêng lẻ. (từng hàm riêng)

Assert.AreEqual(28, _actualFuel); // Kiểm tra xem các giá trị được chỉ định có bằng nhau hay không. Assert.AreNotEqual(28, _actualFuel); // Kiểm tra xem các giá trị được chỉ định có không bằng nhau hay không. Tương tự như AreEqual cho các giá trị số. Assert.AreSame(_eosystemRocket, _actualRocket); // Kiểm tra xem các đối tượng được chỉ định đều tham chiếu đến cùng một đối tượng hay không Assert.AreNotSame(_eosystemRocket, _actualRocket); // Kiểm tra xem các đối tượng được chỉ định có tham chiếu đến các đối tượng khác nhau hay không Assert.IsTrue(_isThereEnoughFuel); // Kiểm tra xem điều kiện đã chỉ định có đúng không Assert.IsFalse(_isThereEnoughFuel); // Kiểm tra xem điều kiện đã chỉ định có sai hay không Assert.IsNull(_actualRocket); // Kiểm tra xem đối tượng được chỉ định có phải là null hay không Assert.IsNotNull(_actualRocket); // Kiểm tra xem đối tượng được chỉ định có phải là không Assert.IsInstanceOf(_actualRocket, typeof (Falcon9Rocket)); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu mong đợi hay không Assert.IsNotInstanceOf(_actualRocket, typeof (Falcon9Rocket)); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu hay không StringAssert.AreEqualIgnoringCase(_empleteBellatrixTitle, " Bellatrix "); // Kiểm tra xem các chuỗi được chỉ định có bằng nhau không bỏ qua cách viết hoa của chúng StringAssert.Contains(_empleteBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có chứa chuỗi con được chỉ định hay không StringAssert.DoesNotContain(_empleteBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có chứa chuỗi con được chỉ định hay không StringAssert.StartsWith(_expectedBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có bắt đầu bằng chuỗi con được chỉ định hay không StringAssert.StartsWith(_expectedBellatrixTitle, " Bellatrix "); // Kiểm tra xem chuỗi được chỉ định có bắt đầu bằng chuỗi con được chỉ định hay không StringAssert.IsMatch(" ( 281)388-0388 ", @ " (? D {3})? -? * D {3} -? * -? D {4} "); // Kiểm tra xem chuỗi được chỉ định có khớp với một biểu thức chính quy hay không StringAssert.DoesNotMatch(" 281) 388-0388 ", @ " (? D {3})? -? * D {3} -? * -? D {4} "); // Kiểm tra xem chuỗi đã chỉ định có khớp với một biểu thức chính quy hay không CollectionAssert.AreEqual(_eosystemRockets, _actualRockets); // Kiểm tra xem các tập hợp được chỉ định có các phần tử giống nhau theo cùng thứ tự và số lượng hay không. CollectionAssert.AreNotEqual(_eosystemRockets, _actualRockets); // Kiểm tra xem các tập hợp được chỉ định không có các phần tử giống nhau hoặc các phần tử có thứ tự và số lượng khác nhau. CollectionAssert.AreEquivalent(_eosystemRockets, _actualRockets); // Kiểm tra xem hai tập hợp có chứa các phần tử giống nhau hay không. CollectionAssert.AreNotEquivalent(_eosystemRockets, _actualRockets); // Kiểm tra xem hai tập hợp có chứa các phần tử khác nhau hay không. CollectionAssert.AllItemsAreInstancesOfType(_eosystemRockets, _actualRockets); // Kiểm tra xem tất cả các phần tử trong bộ sưu tập được chỉ định có phải là phiên bản của kiểu mong đợi hay không CollectionAssert.AllItemsAreNotNull(_eosystemRockets); // Kiểm tra xem tất cả các mục trong bộ sưu tập đã chỉ định có phải không CollectionAssert.AllItemsAreUnique(_eosystemRockets); // Kiểm tra xem tất cả các mục trong bộ sưu tập được chỉ định có phải là duy nhất hay không CollectionAssert.Contains(_actualRockets, falcon9); // Kiểm tra xem bộ sưu tập được chỉ định có chứa phần tử được chỉ định hay không CollectionAssert.DoesNotContain(_actualRockets, falcon9); // Kiểm tra xem bộ sưu tập được chỉ định có chứa phần tử được chỉ định hay không CollectionAssert.IsSubsetOf(_eosystemRockets, _actualRockets); // Kiểm tra xem một bộ sưu tập có phải là một tập hợp con của một bộ sưu tập khác hay không CollectionAssert.IsNotSubsetOf(_eosystemRockets, _actualRockets); // Kiểm tra xem một tập hợp có phải là một tập hợp con của một tập hợp khác hay không Assert.Throws< ArgumentNullException > (() => new Regex(null)); // Kiểm tra xem mã được chỉ định bởi người được ủy quyền có ném chính xác ngoại lệ đã cho của loại T hay không

 

Assertions - Constraint Model

Mô hình Assert dựa trên ràng buộc sử dụng một phương thức duy nhất của lớp Assert (hàm That) cho tất cả các xác nhận.

Assert.That(28, Is.EqualTo(_actualFuel)); // Kiểm tra xem các giá trị được chỉ định có bằng nhau hay không. Assert.That(28, Is.Not.EqualTo(_actualFuel)); // Kiểm tra xem các giá trị được chỉ định có không bằng nhau hay không. Tương tự như AreEqual cho các giá trị số. Assert.That(_eosystemRocket, Is.SameAs(_actualRocket)); // Kiểm tra xem các đối tượng được chỉ định đều tham chiếu đến cùng một đối tượng hay không Assert.That(_eosystemRocket, Is.Not.SameAs(_actualRocket)); // Kiểm tra xem các đối tượng được chỉ định có tham chiếu đến các đối tượng khác nhau hay không Assert.That(_isThereEnoughFuel, Is.True); // Kiểm tra xem điều kiện đã chỉ định có đúng không Assert.That(_isThereEnoughFuel, Is.False); // Kiểm tra xem điều kiện đã chỉ định có sai hay không Assert.That(_actualRocket, Is.Null); // Kiểm tra xem đối tượng được chỉ định có phải là null hay không Assert.That(_actualRocket, Is.Not.Null); // Kiểm tra xem đối tượng được chỉ định có phải là không Assert.That(_actualRocket, Is.InstanceOf < Falcon9Rocket > ()); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu mong đợi hay không Assert.That(_actualRocket, Is.Not.InstanceOf < Falcon9Rocket > ()); // Kiểm tra xem đối tượng được chỉ định có phải là một thể hiện của kiểu hay không Assert.That(_actualFuel, Is.GreaterThan(20)); // Kiểm tra xem đối tượng được chỉ định có lớn hơn giá trị được chỉ định hay không Assert.That(28, Is.EqualTo(_actualFuel).Trong(0, 50)); // Kiểm tra xem các giá trị được chỉ định có gần bằng nhau trong dung sai được chỉ định hay không. Assert.That(28, Is.EqualTo(_actualFuel).Within(2).Percent); // Kiểm tra xem các giá trị được chỉ định có gần bằng nhau trong dung sai% được chỉ định hay không. Assert.That(_actualRocketParts, Has.Exactly(10).Items); // Kiểm tra xem bộ sưu tập được chỉ định có chính xác số lượng mục đã nêu trong đó hay không. Assert.That(_actualRocketParts, Is.Unique); // Kiểm tra xem các mục trong bộ sưu tập được chỉ định có phải là duy nhất hay không. Assert.That(_actualRocketParts, Does.Contain(_eosystemRocketPart)); // Kiểm tra xem một mục nhất định có trong danh sách các mục đã chỉ định hay không. Assert.That(_actualRocketParts, Has.Exactly(1).Khớp với < RocketPart > (part => part.Name == " Door " && part.Height == " 200 ")); // Kiểm tra xem bộ sưu tập được chỉ định có chính xác mục đã nêu trong đó hay không.

Code nào:

using NUnit.Framework; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SeleniumCSharp.Initialize; namespace SeleniumCSharp.Bai9_Assert { [TestFixture] class AssertClass : Init_Program { [Test] public void AssertDemo() { driver.Url = "https://anhtester.com"; string title = driver.Title; Console.Write(title); //Kiểm tra bằng Assert.AreEqual(title, "Anh Tester - Automation Testing"); //title.Contains("Anh Tester") nghĩa là kiểm tra Title có chứa nội dung "Anh Tester" hay không //Nếu chứa thì trả về True //Mà hàm IsTrue để kiểm tra True nên các bạn hiểu rồi đó. Nó sẽ trả về True luôn Assert.IsTrue(title.Contains("Anh Tester")); } } }

Các bạn thử các trường hợp khác nhé. Thường thì mình sẽ dùng so sánh Bằng, so sánh Chứa và so sánh True/False

À cái Init_Program là này nè =))

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Remote; namespace SeleniumCSharp.Initialize { public class Init_Program { public IWebDriver driver; [SetUp] public void SetupTest() { driver = new ChromeDriver("D:\\ANHTESTER\\BrowserDriver"); driver.Manage().Window.Maximize(); //Set thời gian chờ ngầm định 20s cho tất cả các Step driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); // Đặt thời gian chờ tải trang mặc định (đơn vị giây) driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(20); } [TearDown] public void CloseTest() { Thread.Sleep(2000); driver.Quit(); } } }

Chia sẻ bài học

Facebook Linkedin Telegram Pinterest Share with Zalo Zalo

Cộng đồng Automation Testing Việt Nam

🌱 Facebook Fanpage: Anh Tester 🌱 Telegram Automation Testing: Cộng đồng Automation Testing 🌱 Facebook Group Automation: Cộng đồng Automation Testing Việt Nam 🌱 Telegram Manual Testing: Cộng đồng Manual Testing 🌱 Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

  • Anh Tester

    Anh Tester

    facebook.com/anhtester

    Đường dẫu khó chân vẫn cần bước điĐời dẫu khổ tâm vẫn cần nghĩ thấu

    • Facebook
    • Youtube
    • Zalo

Từ khóa » Cách Sử Dụng Hàm Assert