NỘI DUNG BÀI HỌC
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();
}
}
}