Showing posts with label Software Testing. Show all posts
Showing posts with label Software Testing. Show all posts

สรุปคำสั่ง run Robot Framework

สำหรับการทำงานพื้นฐานเลย คือสั่งให้ script ทำงานธรรมดา

> pybot [filename.txt]

สำหรับการกำหนดตำแหน่งที่เก็บไฟล์ที่ได้จากการทำงานของ script

> pybot --output [folder] [filename.txt]
> pybot --log [folder] [filename.txt]
> pybot --report [folder] [filename.txt]

หรือถ้าต้องการเก็บทั้งหมดไว้ใน folder เดียวกัน 
> pybot --outputdir [folder] [filename.txt]
> pybot -d [folder] [filename.txt]

และถ้าต้องการให้ไฟล์ที่ได้มีการใส่วันเวลาต่อท้าย เพื่อไม่ให้ทับไฟล์เก่า
> pybot --timestampoutputs [filename.txt]
> pybot -T [filename.txt]


หรือในกรณีต้องการกำหนดค่าตัวแปรที่จะใส่เข้าไปใน script

> pybot --variable [name]:[value]

หรือกำหนดประเภทการทำงานซึ่งได้แก่ ExitOnFailure, random:test, random:suit, randam:all

> pybot --runmode [mode] [filename.txt]










ติดตั้ง Sublime สำหรับ Robot Framework

Sublime เป็น text editor ตัวหนึ่งเท่านั้นเองค่ะ แต่ว่ามันมี package เสริมสำหรับเขียน Robot Framework script

วิธีการติดตั้ง
1. download โปรแกรมกันได้ที่ http://www.sublimetext.com/
สำหรับเราเลือก download เป็น portable ค่ะ

2. extract ตัว .zip ก็เป็นอันเสร็จเลย

3. ติดตั้ง package control ของ sublime โดย copy คำสั่งใน https://packagecontrol.io/installation#st2
ไปที่ sublime console (เมนู View > Show Console) แล้ว enter เลย

4. ติดตั้ง Robot Framework package
ไปที่เมนู Tools > Command Palette...
พิมพ์และเลือก "Package Control : Install Package"
พิมพ์ Robot เลือกติดตั้ง Robot Framework 2 package


เสร็จแล้วค่า... ต่อไปก็เริ่มเขียนได้เลย


ติดตั้ง Robot Framework

ก่อนจะติดตั้ง Robot Framework กรุณาติดต้้ง Python ก่อนนะค่ะ
หลังจากติดตั้ง Python เสร็จแล้ว ก็ติดตั้ง Robot Framework จาก pip เลยค่ะ

1. ติดตั้ง Robot Framework โดย run command

> pip install robotframework

จากนั้นให้ลอง run command

> pybot 

จะได้ดังนี้



2. ติดตั้ง Selenium บน Robot Framework เพื่อใช้ในการทดสอบ web application

> pip install robotframework-selenium2library


แค่นี้เสร็จแล้วค่ะ

ติดตั้ง Python และ pip

เริ่มมาจากไปเรียน Robot Framework ซึ่งเป็น Tools สำหรับทำการทดสอบโปรแกรม และตัว Robot Framework มันเป็น Python ค่ะ ก็เลยต้องติดตั้ง ก็เลยเอามาฝากเล่นๆ


1. download Python ก่อนค่ะ ที่นี่ https://www.python.org/downloads/ ซึ่งสำหรับ Robot Framework จะต้องใช้ version 2 เพราะเหมือนยังมีปัญหากับ version 3 ก็ download version 2.7.9 มาค่ะ เป็น file .msi สำหรับการติดตั้งบน Windows

2. ก็ double click ที่ตัว .msi ที่ได้มา แล้วอย่าลืมเลือก "Add python.exe to Path" ด้วยนะค่ะ จะได้ไม่ต้องมา add เองทีหลัง

แต่ถ้าใครลืม ก็สามารถเพิ่ม PYTHON_HOME ไปยัง directory ที่ติดตั้ง ลงในตัวแปร PATH ใน environment variable ที่หลังได้ค่ะ

ทดสอบโดยการพิมพ์ python ที่หน้า command


ถ้าได้ฉะนี้ ก็แปลว่า ลง Python เรียบร้อย

3. จากนั้น ติดตั้ง pip ซึ่งเป็นตัวจัดการ package สำหรับ Python (Package Installation for Python)
โดยการ download get-pip.py จากหน้า http://www.pip-installer.org/en/latest/installing.html

4. แล้ว run command
> python get-pip.py
5. เพิ่ม %PYTHONE_HOME%/Scripts ในตัวแปร PATH เพื่อให้สามารถ run pip ได้

เมื่อลงเสร็จแล้ว เราสามารถลบตัว get-pip.py ออกไปได้เลยค่ะ

.Net Unit Test Framework

พอดีเพิ่งได้มีโอกาสมาลองศึกษา .Net และต้องศึกษาเฉพาะส่วน unit test โดยเฉพาะ และได้ลอง search ดู ซึ่งในเวป Microsoft ทำไว้ค่อยข้างดีทำตามได้เลย แต่ก็ขอสรุปสั้นๆ ให้เข้าใจดังนี้

1. การจะสร้าง Unit Test ใน .Net จะเป็นลักษณะสร้างเป็นโปรเจ็คต่างหากใน solution เดียวกัน โดยเลือก template เป็น Unit Test Project ซึ่งตัวอย่างของ Microsoft ก็จะสร้างเป็น C# แล้วเลือกไปเมนูที่ Test ตอนสร้างโปรเจ็ค (ซึ่งเข้าใจว่าไม่จำเป็นที่จะต้องแยกเป็นคนละโปรเจ็ค เพียงแต่จะต้องใส่ using Microsoft.VisualStudio.TestTools.UnitTesting; เพื่ออ้างอิงถึง library ที่ต้องใช้ในการทดสอบ แต่ที่แยกเป็นคนละโปรเจ็ค เพื่อแยกส่วนที่จะเป็นตัวโปรแกรมจริงๆ ออกจากส่วนทดสอบ)

2. แล้วเลือก Add Reference... เป็นโปรเจ็คที่ต้องการจะทดสอบ

3. สร้าง class ใหม่ สำหรับเป็น unit test ซึ่งจะต้องใส่ attribute [TestClass] และ [TestMethod] ไว้ที่ class และ method ที่ต้องการให้ run เพื่อทดสอบ

4. ส่วนการ run test ให้ใช้ Test Explorer ในการ run จากเมนู TEST > Windows > Test Explorer

ตัวอย่างของ class ที่ใช้ทดสอบ

// unit test code
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace BankTests
{
    [TestClass]
    public class BankAccountTests
    {
        [TestMethod]
        public void TestMethod1()
        {
        }
    }
}

นอกจากนั้นยังสามารถใส่ attribute อื่นๆ ได้อีก เช่น [ExpectedException(typeof(ArgumentOutOfRangeException))] ดังนี้ 

//unit test method
[TestMethod]
[ExpectedException(typeof(ArgumentOutOfRangeException))]
public void Debit_WhenAmountIsLessThanZero_ShouldThrowArgumentOutOfRange()
{
    // arrange
    double beginningBalance = 11.99;
    double debitAmount = -100.00;
    BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance);

    // act
    account.Debit(debitAmount);

    // assert is handled by ExpectedException
}

Reference:
Walkthrough: Creating and Running Unit Tests for Managed Code Using Microsoft.VisualStudio.TestTools.UnitTesting Members in Unit Tests
Using the Assert Classes
Anatomy of a Unit Test