จากบทความก่อนหน้าเราได้ลองติดตั้ง PyCharm กันแล้วแต่เราก็ยังต้องรันเทสผ่าน command line อยู่ ซึ่งมันไม่สะดวกเลย ด้วยความขี้เกียจนี้เองเลยทำให้เราไปเจอว่า PyCharm เองก็มีวิธี config ให้ไปรัน test robot framework ผ่าน GUI ได้ด้วย ทำได้ไงมาดูกัน
วิธี Config แบ่งเป็น 3 ส่วนใหญ่ๆ คือ รันเทสทั้งหมดเลย, รันทีละ test suite และรันทีละ test case
แต่ก่อนเริ่มมาจัด structure project เรานิดนึง
สร้าง folder tests และย้าย file test script ทั้งหมดไปไว้ใน folder นี้ ตามรูปเลย
เริ่มจาก Config PyCharm ให้ รันเทสทั้งหมด
- เมนู File –> Settings –> Tools –> External Tools
- กดปุ่ม + เพื่อเพิ่ม external tool
- กรอกตามรูปเลยครับ
- ชื่อ Tool: Robot run all test
- Program (Robot script path): C:\Python27\Scripts\robot.bat
- Parameters: -d ../results $FileName$
- Working directory: $ProjectFileDir$
- เสร็จแล้วก็ Save เลยครับ
วิธีรัน
ให้คลิกขวาที่ไหนก็ได้ใน project ครับแล้วเลือก External Tools –> Robot run all tests
Config PyCharm ให้รันเฉพาะ test suite ที่เลือก
- เมนู File –> Settings –> Tools –> External Tools
- กดปุ่ม + เพื่อเพิ่ม external tool
- กรอกตามรูปเลยครับ
- ชื่อ Tool: Robot run test suite
- Program (Robot script path): C:\Python27\Scripts\robot.bat
- Parameters: -d $ProjectFileDir$/results $FileName$
- Working directory: $FileDir$
- เสร็จแล้วก็ Save เลยครับ เปิด test suite ที่เราอยากรันขึ้นมา
แล้วคลิกขวา External Tools –> Robot run test suite
Config PyCharm ให้รันทีละ test case
- เมนู File –> Settings –> Tools –> External Tools
- กดปุ่ม + เพื่อเพิ่ม external tool
- กรอกตามรูปเลยครับ
- ชื่อ Tool: Robot run single test
- Program (Robot script path): C:\Python27\Scripts\robot.bat
- Parameters: -d results -t “$SelectedText$” tests
- -d คือ report directory name
- -t คือ ชื่อ test script ที่ต้องการจะรัน ในเคสนี้เราจะใช้ตัวแปร SelectedText
- tests ชื่อ folder ที่เก็บ test scripts
- Working directory: $ProjectFileDir$
- เสร็จแล้วก็ Save เลยครับ ส่วนเวลาจะรันก็ให้เรา ลากครอบชื่อเทสที่เราจะรัน
แล้วคลิกขวา External Tools –> Robot run single test
References:
เย้เสร็จซักทีกับ setup PyCharm บทความต่อไป เรามาทำความรู้จักกับ Selenium กัน แล้วการเทส web application จะไม่ใช่เรื่องยากอีกต่อไป