แสดงบทความที่มีป้ายกำกับ Robot framework แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Robot framework แสดงบทความทั้งหมด

วันเสาร์ที่ 27 มิถุนายน พ.ศ. 2558

การติดตั้ง Robot Framework

การติดตั้ง Robot Framework

สิ่งที่ต้องลงตามลำดับ

  1. Install Python

  2. Install PIP

  3. Install Robot Framework

1. วิธี Install Python

1. ไปที่ URL: https://www.python.org/
2. ไปที่เมนู Download เลือก Python 2.x.x (แนะนำให้ใช้ version 2 ก่อนครับ)

3. ดับเบิ้ลคลิกไฟล์ python-2.x.x.msi เพื่อทำการติดตั้ง Python

4. กดปุ่ม Next 

5. ให้เลือก dive C:\Python27\ เนื่องจากหลังจากนี้เราจะได้เช้าถึงได้ง่าย (เปลี่ยนได้ตามใจชอบน่ะครับ) กดปุ่ม Next

6. ให้เลื่อนช่อง Feature ไปล่างสุด

7. เลือก Add python.exe to Path  แล้วเลือก Will be installed on local hard drive

8. กดปุ่ม Next

9. รอโปรแกรม install จนเสร็จ

10. กดปุ่ม Finish ก็เป็นอันเรียบร้อย

วิธีตรวจสอบว่าเรียบร้อยหรือไม่

1. เปิด Command Line ขึ้นมา
2. พิมพ์คำว่า python แล้ว Enter ถ้าได้แบบรูปเป็นอันว่าเรียบร้อย

2. วิธี Install PIP

ลง PIP ไว้สำหรับ install library ต่างๆที่ Robot Framework ต้องใช้
1. ไปที่ URL: https://pip.pypa.io/en/latest/installing.html
2. ให้ download file get-pip.py

3. ให้คลิกขวา => บันทึกลิงค์เป็น

4. save ไว้ drive C:\

5. เปิด Command Line ขึ้นมา แล้วพิมพ์ cd \ เพื่อไปยัง drive C:\

6. พิมพ์ python get-pip.py แล้ว enter

7. เราก็ลง PIP เรียบร้อย

วิธีตรวจสอบว่าเรียบร้อยหรือไม่

1. เปิด Command Line ขึ้นมา
2. พิมพ์คำว่า pip แล้ว Enter ถ้าได้แบบรูปเป็นอันว่าเรียบร้อย

3. วิธี Install Robot Framework

1. เปิด Command Line ขึ้นมา
2. พิมพ์คำว่า pip install robotframework แล้ว Enter

วิธีตรวจสอบว่าเรียบร้อยหรือไม่

1. เปิด Command Line ขึ้นมา
2. พิมพ์คำว่า pybot แล้ว Enter ถ้าได้แบบรูปเป็นอันว่าเรียบร้อย

วันศุกร์ที่ 26 มิถุนายน พ.ศ. 2558

Robot Framework with DatabaseLibrary DB2

How to install => http://franz-see.github.io/Robotframework-Database-Library/

สำหรับ DB2 ให้ลงเพิ่ม
pip install ibm_db

เพิ่ม code ทั้ง 3 File ต่อไปนี้

C:\Python27\Lib\site-packages\DatabaseLibrary\connection_manager.py
สำหรับ connect to database
=============================================================================================
    def connect_to_database(self, dbapiModuleName=None, dbName=None, dbUsername=None, dbPassword=None, dbHost='localhost', dbPort="5432", dbConfigFile="./resources/db.cfg"):
        config = ConfigParser.ConfigParser()
        config.read([dbConfigFile])
        
        dbapiModuleName = dbapiModuleName or config.get('default', 'dbapiModuleName')
        dbName = dbName or config.get('default', 'dbName')
        dbUsername = dbUsername or config.get('default', 'dbUsername')
        dbPassword = dbPassword or config.get('default', 'dbPassword')
        dbHost = dbHost or config.get('default', 'dbHost') or 'localhost'
        dbPort = int(dbPort or config.get('default', 'dbPort'))
        
        db_api_2 = __import__(dbapiModuleName)
        if dbapiModuleName in ["MySQLdb", "pymysql"]:
            dbPort = dbPort or 3306
            logger.debug ('Connecting using : %s.connect(db=%s, user=%s, passwd=%s, host=%s, port=%s) ' % (dbapiModuleName, dbName, dbUsername, dbPassword, dbHost, dbPort))
            self._dbconnection = db_api_2.connect (db=dbName, user=dbUsername, passwd=dbPassword, host=dbHost, port=dbPort)
        elif dbapiModuleName in ["psycopg2"]:
            dbPort = dbPort or 5432            
            logger.debug ('Connecting using : %s.connect(database=%s, user=%s, password=%s, host=%s, port=%s) ' % (dbapiModuleName, dbName, dbUsername, dbPassword, dbHost, dbPort))
            self._dbconnection = db_api_2.connect (database=dbName, user=dbUsername, password=dbPassword, host=dbHost, port=dbPort)
        elif dbapiModuleName in ["ibm_db"]:
            dbPort = dbPort or 50000            
            logger.debug ('Connecting using : %s.connect(DATABASE=%s;HOSTNAME=%s;PORT=%s;PROTOCOL=TCPIP;UID=%s;PWD=%s;) ' % (dbapiModuleName, dbName, dbHost, dbPort, dbUsername, dbPassword))
            self._dbconnection = db_api_2.connect ('DATABASE=%s;HOSTNAME=%s;PORT=%s;PROTOCOL=TCPIP;UID=%s;PWD=%s;' % (dbName, dbHost, dbPort, dbUsername, dbPassword), '', '')
        else:
            logger.debug ('Connecting using : %s.connect(database=%s, user=%s, password=%s, host=%s, port=%s) ' % (dbapiModuleName, dbName, dbUsername, dbPassword, dbHost, dbPort))
            self._dbconnection = db_api_2.connect (database=dbName, user=dbUsername, password=dbPassword, host=dbHost, port=dbPort)
=============================================================================================

C:\Python27\Lib\site-packages\DatabaseLibrary\assertion.py
สำหรับ initial statement
=============================================================================================

    def table_must_exist(self,tableName):

        if self.db_api_module_name in ["cx_Oracle"]:

            selectStatement = ("SELECT * FROM all_objects WHERE object_type IN ('TABLE','VIEW') AND owner = SYS_CONTEXT('USERENV', 'SESSION_USER') AND object_name = UPPER('%s')" % tableName)
        elif self.db_api_module_name in ["sqlite3"]:
            selectStatement = ("SELECT name FROM sqlite_master WHERE type='table' AND name='%s' COLLATE NOCASE" % tableName)
        elif self.db_api_module_name in ["ibm_db", "ibm_db_dbi"]:
            selectStatement = ("SELECT name FROM SYSIBM.SYSTABLES WHERE type='T' AND name=UPPER('%s')" % tableName)
        else:
            selectStatement = ("SELECT * FROM information_schema.tables WHERE table_name='%s'" % tableName)
        num_rows = self.row_count(selectStatement)
        if (num_rows == 0):
            raise AssertionError("Table '%s' does not exist in the db" % tableName)
=============================================================================================

C:\Python27\Lib\site-packages\DatabaseLibrary\query.py
สำหรับ iqnore comment ที่เป็นแบบ "--"
=============================================================================================
def execute_sql_script(self, sqlScriptFileName):
        sqlScriptFile = open(sqlScriptFileName)

        cur = None
        try:
            cur = self._dbconnection.cursor()        
            sqlStatement = ''
            for line in sqlScriptFile:
                line = line.strip()
                if line.startswith('#'):
                    continue
                elif line.startswith('--'):
                    continue
                
                sqlFragments = line.split(';')
                if len(sqlFragments) == 1:
                    sqlStatement += line + ' '
                else:
                    for sqlFragment in sqlFragments:
                        sqlFragment = sqlFragment.strip()
                        if len(sqlFragment) == 0:
                            continue
                    
                        sqlStatement += sqlFragment + ' '
                        
                        self.__execute_sql(cur, sqlStatement)
                        sqlStatement = ''

            sqlStatement = sqlStatement.strip()    
            if len(sqlStatement) != 0:
                self.__execute_sql(cur, sqlStatement)
                
            self._dbconnection.commit()
        finally:
            if cur :
                self._dbconnection.rollback()
=============================================================================================

ใน code ที่เขียน robot framework
Connect To Database    ibm_db    <DB_Name>     <USER>     <PASS>     <HOST_Name or IP>     <PORT>

credit:น้องกิบ, พี่บอม

วันพุธที่ 24 มิถุนายน พ.ศ. 2558

Sublime Text 2 for Robot Framework

วิธีการลงโปรแกรม Sublime Text เพื่อไว้เขียนโปรแกรม Robot Framework ครับ

Install Sublime Text 2

1. เข้า URL: http://www.sublimetext.com/
2. ไปที่เมนู Download
3. แนะนำให้ใช้ version 2 ก่อนเนื่องจาก version 3 ยังเป็น Beta
4. ดับเบิ้ลคลิก Sublime Text 2.0.x Setup.exe

5. กดปุ่ม Next >

6. เลือก Path ที่ต้องการ install Program แล้วกดปุ่ม Next >

7. ถ้าเลือก check box Add to explorer context menu จะทำให้เราใช้ click ขวาได้แบบนี้
แล้วให้กดปุ่ม Next >

8. กดปุ่ม Install

9. กดปุ่ม Finish

เป็นอันว่าเรียบร้อยในการ install program sublime text 2 ครับ

ต่อไปเราต้องลง Package Control บน Sublime Text 2

1. เปิดโปรแกรม Sublime Text 2 

2. มีหน้าตาแบบนี้

3. ไปที่เมนู View => Show Console

4. ด้านล่างโปรแกรมจะแสดง console ออกมา

5. เข้า URL: https://packagecontrol.io/
6. Click Install Now >>



7. Click SUBLIME TEXT 2

8. Copy Text 

9. กลับไปที่โปรแกรม Sublime Text 2 แล้ว paste ที่ console 
10. กด Enter 


11. ปิด แล้วเปิดโปรแกรม Sublime Text 2 ใหม่

เป็นอันเสร็จเรียบร้อยของการลง Package Control บน Sublime Text 2

ต่อไปเราต้องลง Package Robot Framework บน Sublime Text 2

1. เปิดโปรแกรม Sublime Text 2
2. เลือกเมนู Tools => Command Palette...

3. ได้ดังรูป

4. พิมพ์ install package จะได้ดังรูป แล้ว กด Enter

5. แสดงรายการ Package ต่างๆ

6. พิมพ์ Robot Framework จะได้ดังรูป แล้ว กด Enter

7. เราจะเห็น status ที่กำลัง install ที่ status bar ด้านล่าง

8. รอจนเสร็จ status bar ก็จะกลับไปเป็นเหมือนเดิม

9. เลือกเมนู Tools => Command Palette...

10. ได้ดังรูป

11. พิมพ์ install package จะได้ดังรูป แล้ว กด Enter

12. แสดงรายการ Package ต่างๆ

13. พิมพ์ Robot Framework Assistant จะได้ดังรูป แล้ว กด Enter

14. เราจะเห็น status ที่กำลัง install ที่ status bar ด้านล่าง

15. รอจนเสร็จ จะเห็น Text และ success ที่ status bar

16. ปิด แล้วเปิดโปรแกรม Sublime Text 2 ใหม่

ตอนนี้ Sublime Text 2 เราก็พร้อมใช้งานแล้ว

วิธีให้ text แสดงแบบ Robot Framework 

ไปที่เมนู View => Syntax => (เลือก) Robot Framework.txt และ Robot Framework.txt .robot

ถ้าต้องการให้ Sublime แสดง white space ออกมาแบบนี้

และให้เป็นถาวรก็ไปที่เมนู Preferences => Setting - Default

Sublime Text 2 จะเปิดไฟล์ Preferences.sublime-settings มา
ให้ search คำว่า "draw_white_space"

เปลี่ยนค่า "selection" ไปเป็น "all"

ปิด แล้วเปิดโปรแกรม Sublime Text 2 ใหม่