DEV Community

tumit
tumit

Posted on

Python - สลับ seleniumlibrary version ด้วย venv

Image description

พอดีมีน้อง QA ในทีมท่านนึง เจอปัญหาต้องดูแล robotframework & seleniumlibrary คนละ version ทำให้ต้องสลับ keyword ไปมาระหว่างพัฒนาเทส วันนี้เลยขอเสนอท่า venv (virtual environments) เพื่อแก้ปัญหานี้กัน

virtual environment คืออะไร ?
virtual environment คือความพยายามที่จะสร้าง Python environment ให้เหมาะสมสำหรับการทำงาน ปัญหาหลัก ๆ ที่เรามักจะเจอกันคือการใช้ dependency library ที่ไม่ตรงกัน version กัน

เช่น

  • โปรเจค A ต้องการ lib X==1.0.0, Y==2.0.0
  • โปรเจค B ต้องการ lib X==2.0.0 และ Z==3.0.0

หรือบ้างครั้งเราแค่อยากทดลองลง upgrade version และทดสอบดูว่ามีอะไรพังไหมเท่านั้น ดังนั้นถ้าเราสามารถสร้างและแยก environment ให้สามารถสลับกันไปมาได้ระหว่าง lib X==1.0.0 กับ X==2.0.0 ได้ก็จะสะดวกไม่น้อยเลย

ขั้นแรก check python version กันก่อน

C:\Users\tumit>python --version
Python 3.11.2
Enter fullscreen mode Exit fullscreen mode

ซึ่งตั้งแต่ version 3.5 ขึ้นไป venv ถือว่าเป็นท่าที่ recommended ในการสร้าง virtual environments

เริ่มสร้าง virtual environment และใช้ สำหรับ seleniumlibrary v.5 กัน
ต่อมาเราจะมาสร้าง virtual environment สำหรับลง seleniumlibrary v.5 เพื่อ support robot เก่า ๆ ที่อาจจะยังไม่พร้อมที่จะ move on ไป version ใหม่ เริ่มจากคำสั่ง

C:\Users\tumit>python -m venv rf-selenium-5 // ชื่อตามที่เราอยากได้เลย
Enter fullscreen mode Exit fullscreen mode

มันจะทำการสร้าง folder ที่ชื่อ rf-selenium-5 ให้เราประมาณนี้

C:\Users\tumit>dir .\rf-selenium-5
 Volume in drive C has no label.
 Volume Serial Number is EXXX-0XXB

 Directory of C:\Users\tumit\rf-selenium-5

02/24/2023  07:11 AM    <DIR>          .
02/24/2023  07:11 AM    <DIR>          ..
02/24/2023  07:11 AM    <DIR>          Include
02/24/2023  07:11 AM    <DIR>          Lib
02/24/2023  07:11 AM               270 pyvenv.cfg
02/24/2023  07:11 AM    <DIR>          Scripts
               1 File(s)            270 bytes
               5 Dir(s)  74,569,793,536 bytes free
Enter fullscreen mode Exit fullscreen mode

จากนั้นเราก็จะทำการ activate เพื่อเลือก environment นี้ในการพัฒนากันด้วยคำสั่ง

// คำสั้ง activate จะอยู่ใน path นี้นั้นเอง
C:\Users\tumit>.\rf-selenium-5\Scripts\activate 
Enter fullscreen mode Exit fullscreen mode

จะสังเกตุว่าที่ prompt ของเราจะมี (rf-selenium-5) ที่แสดงว่าเรา active อยู่ที่ environment นี้แล้ว

Image description

จากนั้นเราก็ install library ใน version ที่เราต้องการได้เลยเช่น

pip install robotframework
pip install robotframework-seleniumlibrary==5.0.0
Enter fullscreen mode Exit fullscreen mode

เราสามารถใช้คำสั้ง pip freeze เพื่อแสดง dependency libraries ได้ประมาณนี้

Image description

และถ้าต้องการจะออกจาก environment นี้ก็สามารถทำได้ ด้วย command deactivate ง่าย ๆเลย

Image description

จบปิ๊ง ~

references:

Top comments (0)