Hướng dẫn python for linux automation - python cho tự động hóa linux

Trong lĩnh vực công nghệ thông tin những năm gần đây, ngôn ngữ lập trình Python đang ngày càng trở nên phổ biến. Với bất kỳ lập trình viên nào, việc tự kiểm thử (test) những dòng code mình viết ra là rất quan trọng. Với Python, người lập trình cần nắm được những kỹ năng kiểm thử đặc thù. Trong bài viết này, chuyên gia của CO-WELL Asia sẽ hướng dẫn cơ bản về selenium trong Python sử dụng UnitTest.

Nội dung chính ShowShow

  • 1. Tìm hiểu về Test automation trong python
  •  Các lý do chọn Python là ngôn ngữ để thực hiện automation
  • 2. Cài đặt môi trường
  •  Cài đặt Python
  • Cài đặt selenium với Python
  • Cài đặt IDE
  • 3. Tạo script đơn giản
  • TestCase và data test
  • Tạo project mới trong IDE
  •  Tạo script
  • Chạy script

1. Tìm hiểu về Test automation trong python

 Các lý do chọn Python là ngôn ngữ để thực hiện automation

  • 2. Cài đặt môi trường
  •  Cài đặt Python
  • Cài đặt selenium với Python
  • Cài đặt IDE
  • 3. Tạo script đơn giản

TestCase và data test
Python unittest (còn được gọi là PyUnit) là một nền tảng kiểm thử (testing framework), được phát triển từ JUnit dành cho Python.

  • Tạo project mới trong IDE
    •  Tạo script
    • Chạy script
    • Python có cộng đồng hỗ trợ đông đảo.
    • Python viết code ngắn ngọn và dễ đọc, đồng thời dễ dàng tiếp cận với người mới đắt đầu.
  • Selenium Python API bạn có thể truy cập tất cả các chức năng của selenium webdriver một cách trực quan.
  • Python được cài đặt đơn giản hơn nhiều so với Java và cách sử dụng thư viện cũng khá tiện lợi.
    https://docs.python.org/2/library/unittest.html

2. Cài đặt môi trường

 Cài đặt Python

  • Cài đặt selenium với Python
  • Cài đặt IDE
  • 3. Tạo script đơn giản

Hướng dẫn python for linux automation - python cho tự động hóa linux

Cài đặt selenium với Python

Cài đặt IDE

Cài đặt IDE

3. Tạo script đơn giản
Cài plugin Python vào intellij IDE: vào menu File → Settings → Plugins và nhập Python để tìm kiếm. Chọn install vào plugin Python community edition đợi cài đặt hoàn tất thì restart lại intellij.

3. Tạo script đơn giản

TestCase và data test

Tạo project mới trong IDE

  •  Tạo script
  • Chạy script
  • Python có cộng đồng hỗ trợ đông đảo.
  • Python viết code ngắn ngọn và dễ đọc, đồng thời dễ dàng tiếp cận với người mới đắt đầu.
  • Selenium Python API bạn có thể truy cập tất cả các chức năng của selenium webdriver một cách trực quan.

Python được cài đặt đơn giản hơn nhiều so với Java và cách sử dụng thư viện cũng khá tiện lợi.


Tốc độ xử lý khá nhanh vì không cần phải biên dịch code trước khi chạy.

Tạo project mới trong IDE

 Tạo script
Chọn Python, phần Project SDK thì các bạn trỏ tới file python.exe trong folder Python mà bạn đã cài đặt.

Chạy script
Sau đó tạo các folder trong project vừa tạo để dễ quản lý và maintain:

  • Python có cộng đồng hỗ trợ đông đảo.
  • Python viết code ngắn ngọn và dễ đọc, đồng thời dễ dàng tiếp cận với người mới đắt đầu.
  • Selenium Python API bạn có thể truy cập tất cả các chức năng của selenium webdriver một cách trực quan.
  • Python được cài đặt đơn giản hơn nhiều so với Java và cách sử dụng thư viện cũng khá tiện lợi.
  • Tốc độ xử lý khá nhanh vì không cần phải biên dịch code trước khi chạy.
  • Python unit test Python unittest (còn được gọi là PyUnit) là một nền tảng kiểm thử (testing framework), được phát triển từ JUnit dành cho Python.
  • Cũng tương tự testNG trong Java thì Python vẫn có một số class chính trong unittest:
  • setUp(): là phương thức được chạy trước khi mỗi thử nghiệm bắt đầu (thường được dùng để mở browser).

 Tạo script

Chạy script
(Downloads – ChromeDriver – WebDriver for Chrome)

Python có cộng đồng hỗ trợ đông đảo.

Python viết code ngắn ngọn và dễ đọc, đồng thời dễ dàng tiếp cận với người mới đắt đầu.

  • Note:
  • Selenium Python API bạn có thể truy cập tất cả các chức năng của selenium webdriver một cách trực quan.
  • Python được cài đặt đơn giản hơn nhiều so với Java và cách sử dụng thư viện cũng khá tiện lợi.

Tốc độ xử lý khá nhanh vì không cần phải biên dịch code trước khi chạy.

Python unit test Python unittest (còn được gọi là PyUnit) là một nền tảng kiểm thử (testing framework), được phát triển từ JUnit dành cho Python.

Tạo file test

Tại folder “tests” tạo mới file Python: Nhập tên file và chọn “Python unit test”

File LoginTests.py

① Nhận data test đã được tạo trong file ReadDataTest.py ② Mở trình duyệt Chrome ③ Truy nhập URL dùng để chạy script ④ Đóng trình duyệt khi kết thúc test ⑤ Các bước khi test login: Nhập username, password, nhấn nút login ⑥ Kiểm tra kết quả mong muốn đã define trong dataTest với kết quả thực tế khi test
② Mở trình duyệt Chrome
③ Truy nhập URL dùng để chạy script
④ Đóng trình duyệt khi kết thúc test
⑤ Các bước khi test login: Nhập username, password, nhấn nút login
⑥ Kiểm tra kết quả mong muốn đã define trong dataTest với kết quả thực tế khi test

3.3.4. Get các element cần thao tác Tạo file Page_login.py lưu các element cần thao tác.
Tạo file Page_login.py lưu các element cần thao tác.

Tạo script thực hiện step

Tạo file Step_login.py trong folder “step”

① Các thao tác dùng để login: nhập username → nhập password → nhấn nút login. ② Get các element từ các locator trong file Page_login.py.
② Get các element từ các locator trong file Page_login.py.

3.3.6. Tạo script kiểm tra kết quả Script này để get kết quả sau khi thực hiện login. Ở đây tôi sẽ get nội dung thông báo và so sánh với nội dung thông báo mong muốn trong file data test.
Script này để get kết quả sau khi thực hiện login. Ở đây tôi sẽ get nội dung thông báo và so sánh với nội dung thông báo mong muốn trong file data test.

Chạy script

Để xem được kết quả test thuận tiện thì cần thêm html-report vào script: Trên file LoginTests.py thêm import HTMLTestRunner sau đó import thư viện HTMLTestRunner vào hoặc chạy lệnh pip install HTMLTestRunner-Python3
Trên file LoginTests.py thêm import HTMLTestRunner sau đó import thư viện HTMLTestRunner vào hoặc chạy lệnh pip install HTMLTestRunner-Python3

Ở lệnh unittest.main() gọi đến phương thức report:

Kết quả chạy test sẽ được lưu vào report:

Ngoài ra để report được dễ nhìn hơn thì có thể custom tại template. Ví dụ template đã được custom lại:

  • Source code on github: GitHub – haunvc7049/UnittestPythonSelenium

Trên đây là những hướng dẫn cơ bản của chuyên gia từ CO-WELL Asia về Unit Testing trong Python. Đừng quên theo dõi chuyên mục CODEWELL trên website CO-WELL Asiađể đón đọc những bài viết công nghệ bổ ích nhé!chuyên mục CODEWELL trên website CO-WELL Asiađể đón đọc những bài viết công nghệ bổ ích nhé!