2552-05-31

WS-Security Configuration

ในส่วนนี้จะเป็นส่วนของ Seceurity Configuration นะครับซึ่งจะเป็นส่วนสุดท้าย ในเรื่อง Project view นะครับ ซึ่งเราจะมาดูกันว่า หน้าที่และการใช้งานของมันทำอย่างไรนะครับ เริ่มจาก เลือกที่ Tab Security Configuration


ในหน้าต่าง นี้ก็จะมีอยู่ 3 ส่วนหลักๆนะครับ ประกอบด้วย
  • Outgoing WS-Security Configurations
  • Incoming WS-Security Configurations
  • Keystores / Certificates
ซึ่งเราจะมาดูรายละเีอียดและหน้าตาของแต่ละตัวกันนะครับ เริ่มจาก Outgoing WS-Security Configurations กันก่อนเลยนะครับ
  • Outgoing WS-Security Configurations


หน้าตาก็จะมีประมาณนี้นะครับ ซึ่งส่วนด้านบนก็จะมี
  • Name
  • Default Username/Alias
  • Default Password
  • Actor
  • Must Understand
และด้านล่างก็จะมี
  • SAML
  • Username
  • Encryption
  • Signature
  • Timestamp
ซึ่งขั้นตอนในการเพิ่มก็ง่ายๆครับเริ่มจาก คลิก

จากนั้นก็จะมี popup ใ้ห้เลือกนะครับ ก็จะมีหัวข้อที่ทำเรากล่าวมาในส่วนของด้านล่างทั้งหมดนะครับ

หลังจากเราเลือกแต่ละหัวข้อกะจะปรากฏขึ้นมาตามรูปด้านล่างนี่นะครับ


ในส่วนนี้จะเป็นส่วนของ SAML นะครับซึ่งส่วนนี้มีไว้เพื่อ เพิ่ม SAML Assertion เข้าไปนะครับเพื่อส่่งข้อความเข้าไปในส่วนของ Outgoing WS-Security Configurations ครับ

ต่อมาก็จะเป็นส่วนของ Username นะครับ ส่วนนี้ก็จะเป็นส่วนที่ให้เรากรอก Usernaem และ Password เพื่อส่งค่าข้อความให้กับส่วนของ Outgoing WS-Security Configurations นะครับ ซึ่งเราจะสามารถเลือกประเภทของ Password ได้ 3 ประเภทนะครับ ก็จะมี PasswordText, PasswordDigest และ PassordDigest Ext ครับ

ส่วนของ Encryption ก็จะประกอบด้วย
  • Keystore
  • Alias
  • Password
  • Key Identifier Type
  • Embedded Key Name
  • Embedded Key Password
  • Symmetric Encoding Algorithm
  • Key Encoding Algorithm
  • Encryption Canonicalization
  • Create Encrypted Key
  • Part
ซึ่งส่วนนี้จะให้เราทำการกรอกข้อมูลที่จำเป็นลงไปนะครับ

ในส่วนนี้ก็จะทำงานคล้ายๆกลับการทำงานในส่วนของ Encryption นะครับคือให้เราทำการกรอกข้อมูลต่างๆลงไปตามที่โปรแกรมกำหนดให้นะครับ


ในส่วนนี้ก็จะเป็นส่วนของ Timestamp ที่มีไว้เพื่อให้เรากำหนดค่า Time to Live เข้าไปนะครับ

  • Incoming WS-Security Configurations

ในส่วนของ Incoming WS-Security Configurations นั้นก็จะเป็นการใช้ Process incoming เข้ามาช่วยในการทำงานและในส่วนนี้ก็จะมี
  • Name
  • Decrypt Keystore
  • Signature Keystore
  • Password

  • Keystores / Certificates


ในส่วนของ Keystores / Certificates นั้นก็จะเป็นการอนุญาติให้เราสามารถเพิ่ม Arbitrary number ของ Keystores / Certificates ให้กับ WS-Security Configurations ของคุณซึ่งจะประกอบด้วย
  • Source
  • Status
  • Password
  • Default Alias
  • Default Password
  • Security Provider

2552-05-29

Requirements

ในส่วนของ Requirements นั้นสำหรับผู้ใช้ที่ต้องการจัดการความต้องการของโปรเจค และสามารถนำไปเชื่อมต่อกับตัว Testcase ได้
หน้าตาของตัว requirement


เริ่มแรกเราจะมาทำความเข้าใจกับสัญลักษณ์บนแถบเมนูกันก่อนนะครับ




Add a requirement - เพิ่มความต้องการ

Clone the selected requirement - คัดลอกความต้องการที่เลือกไว้

Remove the selected requirement - ลบความต้องการที่เลือกไว้

Import requirements - นำเข้าความต้องการจาก text file *ดูฟอแมทไนเนื้อหาต่อไป

Export requirements - ส่งออกความต้องการออกเป็นรูปแบบ text file
ฟอแมทของตัว Import file
โดยการ Import นั้นภายใน text file จะต้องมีตัว comma [,] สลับกับตัว เครื่องหมายคำพูด [ "" ] โดยจะไล่ตาม ID, Name, Short Description และ Status เช่น
"001","ความยาวของชื่อ","สามารถใส่ได้เฉพาะ 6 ตัวอักษรเท่านั้น","In Scope"


ผู้ใช้สามารถจัดข้อมูลออกเป็นหมวดหมู่ได้ดังนี้

    • ID - รหัสของความต้องการ
    • Name - ชื่อของความต้องการ
    • Short Description - รายละเอียดอย่างย่อของความต้องการ
    • Status - สถานะของความต้องการ
    การเชื่อมต่อเข้ากับ Test case

    เลือก testcase ตามที่ต้องการ แล้วกด test case requirement



    2552-05-27

    Project Coverage

    ในห้วข้อนี้จะเป็นส่วนที่ต่อจาก Project view นะครับ Project Coverage ก็คือส่วนหลักที่ใช้วิเคราะห์ Project ของ Test Coverage นะครับ ซึ่งมันจะยอมให้ user นั้น Test ทุกๆรายการที่มีใน Project ภายในครั้งเดียวครับ ซึ่ง เมื่อ Run เสร็จ ก็จะแสดงผลลัพธ์ให้เราเห็น(ดูจากรูปด้านล่าง) อ้อ!!ส่วน Project Coverage นี้แยกตัวออกมาจาก Standard Coverage panel นะครับ



    เราจะมาดูในส่วนแรกเลยนะครับ ก็จะประกอบด้วยเมนู


    • Run the test
    Menu นี้มีไว้สำหรับทำการ Test โดยการคลิก ที่ปุ่ม Run (ลูกศรสีเขียว)
    • Cancel the test
    Menu นี้มีไว้สำหรับยกเลิกการ Test โดยการคลิก ที่ปุ่ม Cancel (กากบาท)
    • Reset the Coverage table
    Menu นี้มีไว้สำหรับเคลียค่าที่ได้ทำการ Test ให้กลับเป็น 0 อีกครั้ง โดยการคลิก ที่ปุ่ม Reset (สีเหลี่ยมจตุรัส)
    • Sets coverage option
    Menu นี้มีไว้สำหรับทำการ เข้าสู่ window Coverage option โดยการคลิก ที่ปุ่ม Sets coverage option


    • Export
    Menu นี้มีไว้สำหรับทำการส่งค่าให้ออกไปแสดงผลในลักษณะของ html โดยจะให้เราเลือกว่าจะแสดง output ไว้ที่ไหน โดยการคลิก ที่ปุ่ม Export



    นอกจากนี้ยังมีส่วนของ
    • Run Log
    Run Log คือ การแสดงค่า status ของ Process ต่างๆในการ Test ด้านบน คือในส่วนนี้จะบอกรายละเอียดเกี่ยวกับ เวลา start เวลา finish ของแต่ละ step รวมไปถึงหากเกิด Error ก็จะแสดงในส่วนนี้ด้วย
    • Assertion Results

    Assertion Results คือ ส่วนของDetail ต่างๆ ของ TestSuite, TestCase, TestStep, Assertion และ Coverage

    2552-05-25

    Project view

    ในหัวข้อ Project view นี้ผมจะขออธิบายเกี่ยวกับรายละเอียดในหน้าต่างของ Project view นะครับ Project view หรือ Overview นั้นจะเป็นหน้าต่างที่บอกเกี่ยวกับรายละเอียดทั้งหมดของโปรเจค นั้นนะครับ มาดูกันว่ามีอะไรบ้าง

    ในตัวอย่างนี้ผมจะขอยกตัวอย่าง Project ของ http://www.ebay.com/ มาให้ดูนะครับ เอาละครับเราก็จะมาดููกันว่าในส่วนของรายละเอียดต่างๆนั้นมีอะไรบ้าง เริ่มจาก Tab ต่างๆที่อยู่ด้านบนก่อนนะครับ


    • Overview
    • Project Coverage
    • Project Requirements
    • Security Configurations
    <<ในวันนี้เราจะดูเฉพาะตัว overview กันก่อนนะครับ ซึ่ง project coverage, project requirement และ security configuration นั้นเราจะนำเสนอในหัวข้อถัดไปนะครับ>>


    ในส่วนของ Overview หรือ Project view นั้นจะเป็นส่วนของการบอกรายละเีอียบแบบคร่าว ๆ ของโปรเจคนั้นๆที่เรากำลังทำอยู่เพื่อให้เราทราบถึงข้อมูลต่างๆที่เราได้ทำลงไปในโปรเจคของเราซึ่งด้านในก็จะประกอบด้วย
    • Project Summary
    • Interface Summary
    • Test Summary
    • Mock Summay
    ส่วนนี้เป็น Tab ด้านล่างของหน้าต่าง overview นะครับ

    ประกอบด้วย
    • Description

    ในส่วนของ Description นั้นจะเป็นส่วนของการเขียนถึงข้อมูลต่างๆที่เราต้้องการบรรยายให้กับ Project ของเรา หรือ อาจปรับเป็นเขียน comment ในการทำงานของ Project นี้ก็ได้
    • Properties

    ในส่วนของ Properties นั้นจะแบ่งเป็น 2 ส่วนก็คือ Name และ Value มีไว้สำหรับทำการตรวจสอบ หรือ check ว่าข้อมูลต่างๆนั้นถูกต้องหรือไม่
    • Load Script

    ในส่วนของ Load Script นั้นเป็นส่วนของการใส่ script ต่างๆลงไป ซึ่งในโปรแกรม soapUI นั้น support กับส่วนของ Groovy Script จึงสามารถสร้าง Groovy Script ลงใน Project ผ่านทางส่วนของ Load Script ได้เลย
    • Save Script

    ในส่วนของ Save Script นั้นเป็นส่วนต่อจาก Load Script ซึ่งหลังจากได้ทำการ Load Script แล้วเราจำเป็นต้อง Save Script นั้นเพื่อนำไปใช้กับที่อื่นๆ หรือ บันทึกการเปลี่ยนแปลงที่ไ้ด้ทำมา

    2552-05-23

    Projects

    ในหัวข้อนี้เราจะมาอธิบายถึง soapUI Project กันนะครับ
    soapUI Project จะประกอบด้วยรายการต่างๆต่อไปนี้นะครับ
    • WSDL
    • REST
    • TestSuite
    • MockService
    เราจะสามารถเลือกได้ตั้งแต่การ create new project เลยครับ

    แต่!! จะทำ WSDL และ REST พร้อมกันไม่ได้นะครับ

    ผมจะแสดงตัวอย่างของ TestSuite และ MockService ของ http://www.ebay.com/ ให้ดูนะครับ


    นี่เป็นส่วนทางด้านของ navigator ที่ยกมาให้ดูกันนะครับ


    และหลังจากที่เราสร้าง Project ขึ้นมาใหม่เราก็จะสามารถเลือกใช้ function เหล่านี้ได้นะครับ มีให้เืลือกใช้กันมากมาย เรียกว่าใช้แทบไม่หมดเรยทีเดียว (คลิกขวาที่ ตัวโปรเจค นะครับ)


    • Show Project View --> เป็นการแสดงมุมมองทั้งหมดของ Project ในฝั่งของ editor
    • Add WSDL --> เป็นการเพิ่ม file WSDL เข้าไปใน Projects
    • Add WADL --> เป็นการเพิ่ม file WADL เข้าไปใน Projects
    • New REST Service --> สร้างรายการของ REST Service เพิ่มเข้าไปใน Projects
    • Launch TestRunner --> สร้างรายการของ TestRunner เพิ่มเข้าไปใน Projects
    • Launch LoadTestRunner --> สร้างรายการของ LoadTestRunner เพิ่มเข้าไปใน Projects
    • Launch SOAP Monitor --> สร้างรายการของ SOAP Monitor เพิ่มเข้าไปใน Projects
    • New TestSuite --> สร้างรายการของ TestSuite เพิ่มเข้าไปใน Projects
    • New MockService --> สร้างรายการของ MockService เพิ่มเข้าไปใน Projects
    • Rename --> การเปลี่ยนชื่อของแต่ละรายการ
    • Remove --> การลบ Project ออกจาก Workspace.
    • Reload Project --> การ load Project ใหม่อีกครั้งเพื่อ update ข้อมูลที่พึ่งใส่ลงไป
    • Resolve Project --> การแก้ไขการทำงานที่ผิดพลาดของ links ภายใน Projects
    • Close Project --> การเลือกปิด Projects
    • Save Project --> การบันทีก Projects ทับของเดิม
    • Save Project As --> การบันทีก Projects ใหม่
    • Import Test Suite --> การนำ Test Suite จากภายนอกเข้ามาประยุกค์ใช้
    • Online Help --> ตัวช่วยเหลือ online
    และส่วนนี้ก็จะเป็นรายละเอียดของโปรเจคที่เราได้สร้างขึ้น


    ก็จะมีรายการต่างๆ ดังต่อไปนี้นะครับ
    • Project Summary
    • Interface Summary
    • Test Summary
    • Mock Summay
    เอาละครับเป็นยังงัยกันบ้างเอ่ยกับรายละเอียดของตัว soapUI Project

    2552-05-21

    Workspaces

    สำหรับตัว Workspace นั้นก็ไม่ได้มีอะไรยากเลยครับ

    Work = ทำงาน

    Space = พื้นที่

    Workspace ก็คือพื้นที่ในการทำงานส่วนตัวของ SoapUI นั่นเอง ง่ายใช่ไหมครับ

    โดยเริ่มแรกแล้วค่าเริ่มต้น(Default)ตอนเริ่มแรกจะอยู่ใน C:\Documents and Settings\Administrator\default-soapui-workspace.xml ดังตัวอย่าง

    โดยภายใน Workspace 1อัน เราสามารถสร้างโปรเจคขึ้นมาได้หลายโปรเจค

    เราสามารถสร้าง Workspace เพิ่มได้ด้วย





    สำหรับการ สลับ Workspace ก็ง่ายนิดเดียว

    ทำการเซฟโปรเจคไว้ก่อนเพื่อกันการสูญหายของข้อมูล





    เป็นยังไงมั่งครับสำหรับ ทริคตัวนี้มีประโยชน์ไม่ใช่เล่นเลย ช่วยให้เราสามารถทำโปรเจคได้หลายๆโปรเจค โดยไม่ทับซ้อนกันอีกด้วย หวังว่าคงมีประโยชน์ไม่มากก็น้อยนะครับ

    2552-05-19

    Preferences

    วันนี้ผมจะนำเสนอ หัวข้อที่ชื่อว่า Preferences นะครับ เราจะมาดูว่าเจ้าตัว feature Preferences เนี่ยทำอะไรได้บ้าง หรือว่ามีความสำคัญอย่างไร

    การเรียกใช้ก็ง่ายๆ
    • หลังจากเปิดโปรแกรมก็ไปที่ File
    • เลือก Preferences หรือจะกด hot-key : ctrl+alt+p ก็ได้นะครับ
    หลังจากเรียกเจ้าตัว Preferences ขึ้นมาเราก็จะพบกับหน้าต่าง soapUI Preferences นี้นะครับ


    เอาละครับนี้ก็คือ list topic ต่างๆที่มีอยู่ใน Preferences ที่เราจะสามารถปรับแต่งให้เหมาะสมกับการทำงานของเรา(ว้าว~~ ถือว่าเยอะมากนะครับ - -" แ่ต่ในทางกลับกัน ก็ถือว่ามีลูกเล่นให้เราเลือกใช้มากเหมือนกัน ^^)


    แล้วเราก็จะมาดูว่าแต่ละหัวข้อนั้นทำอะไรได้บ้าง เริ่มจาก
    • HTTP Settings
    จากรูปนะครับก็จะเห็น list ย่อยของ HTTP Settings

    • HTTP Version --> Version ของ HTTP มีอยู่ 3 ระดับ
    • User-Agent Header--> กรอก User Agent
    • Request Compression --> เลือกประเภทของ Request compression ( การบีบอัด file )
    • Response Compression --> ยอมรับ response compression จาก hosts
    • Disable Response Decompression --> การปิด function : compressed responses
    • Close connections after request --> ปิดการเชื่อมต่อของ Http หลังจากทำงานเสร็จ
    • Disable Chunking --> การปิด function : content-chunking
    • Authenticate Preemptively --> เพิ่มข้อมูล Authentication ให้กับ Request ที่ออกจากการทำงาน
    • Pre-encoded Endpoints --> ไม่ทำ URL-encode ให้เสร็จ หากคุณ set จุดนี้หมายถึงURL-encode ของคุณพร้อมที่จะ encoded เท่านั้น
    • Bind Address --> กรอก Bind Address
    • Include request in time taken --> มันจะทำให้ การเขียน Request เป็นไปตาม time-taken
    • Include response in time taken --> มันจะทำให้ การอ่าน response เป็นไปตาม time-taken
    • Socket Timeout --> กรอก socket time out ของ HTTP requests
    • Max Response Size --> จำนวนเต็มของขนาด Response
    • Max Connections Per Host --> จำนวนเต็มของการเชื่อมต่อถึง hosts
    • Max Total Connections --> ผลรวมของจำนวนเต็มในการเชื่อมต่อ
    • Leave MockEngine --> ออกจาก MockEngine เมื่อปิด MockService
    • Enable Mock HTTP Log --> เปิดใช้ บริการ Mock Http log

    • Proxy Settings

    • Proxy Host -->Proxy host ที่เราใช้
    • Proxy Port -->Proxy port ที่เราใช้
    • Proxy Username -->Username ที่เราใช้
    • Proxy Password -->Password ที่เราใช้

    • SSL Settings

    • keyStore--> พื้นที่ที่ใช้เก็บ keyStore
    • keyStore password -->Password ของ keyStore
    • Enable Mock SSL--> เปิดใช้ SSL support ของ MockServices
    • Mock Port--> Port ของ Mock
    • Mock KeyStore--> Keystore ที่ใช้สำหรับ SSL ของ Mock
    • Mock Password--> Password ของ Mock
    • Mock Key Password -->Password ของ Mock Key
    • Mock TrustStore--> Truststore ที่ใช้
    • Mock TrustStore Password -->Password ของ TrustStore
    • Client Authentication--> ต้องการ client authentication

    • WSDL Settings

    • Cache WSDLs--> เปิด Cache และ ยอมรับการใช้งานจาก User ที่ offline
    • Sample Values--> เปิดตัวอย่างทั่วไปของค่าต่างๆเมื่อ สร้าง new request
    • Type Comment -->ประเภทของ Comment
    • Include Optional -->มี function ของ optional เสมอเมื่อสร้าง file ใหม่
    • Pretty Print -->แสดงการตอบสนองที่สวยงามในหน้าต่างของ response editor
    • Attachment Parts--> มีส่วนของ RPC แสดงใน attachment
    • No Content-Type Validation--> อนุญาตให้มีส่วนของ Content-Type ที่ผิด
    • Schema Directory -->ที่เก็บ Schema
    • Name with Binding--> ใช้ชื่อของ WSDL Binding ในการนำเข้า
    • Excluded Types -->ประเภทของการ Excluded
    • Strict Schema Types--> ความแน่นอนของประเภท Schema
    • Compression Limit -->ขอบเขตของการบีบอัด
    • Pretty Print Project Files--> Print file ของโปรเจคเมื่อบันทึกงาน


    • UI Setting

    • Close Projects -->ปิด Project ทั้งหมด
    • Order Projects -->จัดชนิดของ Project เข้าด้วยกัน
    • Order Requests -->จัดชนิดของ Request เข้าด้วยกัน
    • Order TestSuites -->จัดชนิดของ TestSuite เข้าด้วยกัน
    • Show Descriptions -->แสดงคำอธิบาย
    • Save Projects On Exit--> บันทึก Project อัตโนมัติเมื่อปิดโปรแกรม
    • Create Backup -->สร้าง Backup File
    • Backup Folder -->ตำแหน่งที่เราต้องการเก็บ Backup file
    • Auto Save Interval -->เวลาที่เราตั้ง auto save ไว้
    • Desktop Type -->ประเภทของ Destop
    • Native L&F -->Lock ตำแหน่งของ Native หลังจาก restart
    • Do not disable Groovy Log -->ห้ามปิดการทำงานของ Groovy Log.
    • Show Log Tabs -->แสดง log tabs เมื่อเปิดใช้โปรแกรม
    • Show Startup Page -->เปิด Startup webpage ของ soapUI เมื่อเปิดโปรแกรม

    • Editor Settings

    • Editor Font -->การเลือก Font ของตัวอักษร
    • XML Line Numbers -->แสดงตัวเลขบรรทัดในส่วนของหน้าจอ XML-Editor
    • Groovy Line Numbers -->แสดงตัวเลขบรรทัดในส่วนของหน้าจอ Groovy-Editor
    • Disable auto-resize--> ปิดการทำงานของอัตโนมัติ Resizing ของ Request editors
    • Tabbed Request view -->ตั้งค่า Defaults ของ Request editors ให้กับ Tab layout
    • Validate Requests -->แสดงข้อความเตือนก่อนการส่งเสมอเมื่อมีข้อความ Request ที่ผิดพลาด
    • Abort on Invalid--> แสดงความล้มเหลวเมื่อมี Request ที่ผิดพลาด
    • Validate Responses -->แสดงข้อความตอบสนองต่อ validation เสมอ
    • Tools

    ในส่วนนี้จะเป็นการนำ tools ต่างๆที่มีอยู่ใน list มาใช้ร่วมกับโปรแกรม soapUI นะครับ

    • WS-I Settings

    • Verbose -->การตั้งค่าของ verbose output ของ WS-I tools
    • Results Type--> การตั่งค่าของประเภท Results
    • Message Entry -->การแสดงค่าของ Message Entry ในรายงาน
    • Failure Message -->การแสดงค่าของ failure messages ในรายงาน
    • Assertion Description-->การแสดงค่าของ assertion ในรายงาน
    • Location -->พื้นที่ที่ใช้ในการ install tools
    • Show Log -->แสดง log window เมื่อโปรแกรมกำลัง run WS-I
    • Output Folder -->Folder ที่ใช้เก็บ file ของ output
    • Global Properties
    ในส่วนนี้จะเป็นส่วนโดยรวมของโปรแกรมนะครับ

    • Global Security Settings
    ในส่วนนี้จะเป็นการใส่ Password เข้าไปนะครับ

    • WS-A Settings

    • Soap action overrides wsa action: -->การกระทำของ Soap จะยกเลิกหาก WS-S เริ่มทำ
    • Use default Relationship Type: --> ใช้ค่า default ของ Relationship Type
    • Use default Relates To: -->ใช้ค่า default ของ RelatesTo
    • Overide existing headers: --> ยกเลิกการมีอยู่ของ headers
    • Enable for optional Addressing policy:--> เปิด WS Addressing เพื่อ Policy Addressing

    • soapUI Pro

    • Default Request Editor --> ค่ามาตรฐานของ Request Editor
    • Default Response Editor --> ค่ามาตรฐานของ Response Editor
    • Outline Editor Limit -->ค่าLimit สูงสุดของขนาดข้อความที่โปรแกรมจะรับได้ในระบบ online
    • Form Editor Limit --> ค่าLimit สูงสุดของขนาดข้อความที่โปรแกรมจะรับได้ในระบบ form editor
    • Table Inspector Columns --> ค่าของจำนวนสูงสุดของ columns displayed
    • Script Library --> พื้นที่สำหรับเก็บค่าของ Script Libray

    • Coverage Settings

    • Auto Prepare--> การจัดเตรียมแบบอัตโนมัติสำหรับการ coverage รายงาน


    • Code Templates

    ในส่วนนี้จะมีอยู่ 2 template ให้เลือกนะครับ คือ grut และ xhre