UnitTest: Automate UI Web Application ง่ายๆด้วย WatiN… Actions!

แนะนำให้รู้จัก WatiN

บทความนี้ก็แนะนำให้คุณรู้จัก การทำ Unit Test กับ User Interface(UI) ของ Web Application project ครับ หรืออาจจะเรียกว่าการ Integration Test Web Application ก็ได้เพราะในที่สุดก็ได้ผลลัพย์คือ Software ที่มีคุณภาพสูงสุด(high quality)เหมือนกัน

เจ้าเครื่องมือ(tool) WatiN (อ่านว่า What in) เป็น Open Source ที่จะมาช่วยเรา simulate หรือ automate test script แทนคนบน browser IE และ FireFox ให้เราอย่างเร็ว และง่ายมาก ดูตัวอย่าง C# script ทดสอบต่อไปนี้ครับ

1. ก่อนอื่นให้ load WatiN library จาก website WatiN นี้มาไว้ที่เครื่องคุณแล้วแตก file ออกมาก่อนครับ

2. ที่ Projects Unit Test ของเรา Add References WatiN.Core.dll ซึ่งอยู่ใน foder ของ WatiN ที่แตกออกมาแล้ว เข้ามาใน projects

3. เขียน Code ทดสอบข้างล่างนี้ ผม copy มาจาก web WatiN แล้ว run ใน Vistual Strudio 2010 Unit test

using WatiN.Core;

[TestMethod]
public void TestGoogleSearchByWatiN()
{
using (var browser = new IE(“http://www.google.com”))
{
browser.TextField(Find.ByName(“q”)).TypeText(“WatiN”);
browser.Button(Find.ByName(“btnG”)).Click();
Assert.IsTrue(browser.ContainsText(“WatiN”));
}
}

ตัวอย่าง TestGoogleSearchByWatiN ด้านบนทำงาน โดยเริ่มต้นสร้าง IE browser ที่ระบุ url ไปที่ web google.com แล้วเอา TextField ที่ชื่อ “q” ไว้ใส่ข้อมูลเพื่อค้นหาใน web page Google หน้าแรก เมื่อได้แล้วเรียก method TypeText ใส่ string “WatiN” เข้าไป บรรทัดต่อมาจะค้นหา button ชื่อ “btnG” มันก็คือปุ่มค้นหาแล้วให้ browser จำลองโดยกด Click แล้วรอผลค้นหาสักพัก จนมาถึงบรรทัดสุดท้าย ก็คือการ Verify หรือ Assert ผลลัพย์(real value) ว่า browser หลังจากการ Click ค้นหาแล้วมันมีคำว่า “WatiN” อยู่ใน result page นี้มั้ย ซึ่งค่าคาดหวัง(expected value)ของเราก็คือ IsTrue นั่นเอง

ขอขอบคุณ: WatiN

ขอบคุณครับ 🙂

ให้ตรวจสอบใจเราเองอยู่เสมอ จะทำให้เราสุขใจได้อยู่เสมอ

— Chav:P —

Advertisements

#net, #unit-test