How To Use Selenium With Python

Chapter 01: Overview about Selenium and Python programming language

A.Tổng quan về Selenium

1.Selenium là gì?

Selenium (viết tắt là SE) là một mã nguồn mở, được phát triển bởi Jason Huggins sau đó được thiết lập bởi nhóm ThoughtWorks từ năm 2004 với tên ban đầu là JavaScriptTestRunner. Đến năm 2007, tác giả Jason Huggins rời ThoughtWorks và gia nhập Selenium team, một phần của Google và phát triển thành Selenium như hiện nay.

2.Cấu trúc của Selenium

Selenium bao gồm một bộ các công cụ hỗ trợ kiểm tra tính năng của ứng dụng web bao gồm 04 phần:

alt

Hình 2.1: Cấu trúc của Selenium

a.Selenium IDE:

Được biết đến dưới dạng một add-on của Firefox từ phiên bản 2.0 trở lên. Công cụ này cung cấp chức năng “Record and Playback” nhờ đó người dùng có thể nhanh chóng tạo một test script bằng cách record các thao tác của mình trên đối tượng cần kiểm tra. Sau đó, người dùng có thể chạy lại các câu lệnh này để kiểm tra. Chức năng nay rất hữu dụng, cho phép tiết kiệm thời gian viết kịch bản kiểm tra.

b.Selenium-RC (Remote Control)

Giải pháp cho các kiểm thử cần chạy trên nhiều trình duyệt. Selenium-RC sử dụng ngôn ngữ lập trình để tạo thêm các kiểm thử phức tạp hơn như đọc và viết các tập tin, truy vấn cơ sở dữ liệu.

c.Selenium WebDriver:

Kế thừa từ Selenium-RC. Selenium WebDrive cho phép lập trình các kiểm thử bằng ngôn ngữ lập trình sau đó truy xuất kết quả.

d.Selenium Grid:

Một công cụ được sử dụng để chạy thử nghiệm song song trên nhiều máy khác nhau và trên nhiều trình duyệt khác nhau mà không cần chỉnh sửa test script giúp làm giảm thiểu thời gian thực hiện. Nó cũng cho phép lưu lại kết quả kiểm tra. Hiện nay, Selenium RC và Selenium WebDriver được tích hợp với nhau được gọi là Selenium 2. Đây là một thư viện cho phép lập trình test script trên các ngôn ngữ lập trình khác nhau như Python, Java, C# và Ruby.

3.Đặc điểm của Selenium

a.Mã nguồn mở

Đây là điểm mạnh nhất của Selenium khi so sánh với các tool khác. Vì là mã nguồn mở nên nó được sử dụng rộng rãi mà không lo lắng về phí bản quyền hay thời hạn sử dụng.

b.Cộng đồng hỗ trợ

Selenium là mã nguồn mở nên có một cộng đồng hỗ trợ mạnh mẽ. Ngoài ra, Selenium được Google phát triển nên hoàn toàn có thể yên tâm về sự hỗ trợ miễn phí khi có vấn đề trong quá trình sử dụng nó.

c.Selenium hỗ trợ nhiều ngôn ngữ lập trình

Selenium hỗ trợ một số ngôn ngữ lập trình như: Java, C#, Python, Perl, PHP và Ruby.

d.Selenium hỗ trợ chạy trên nhiều OS

Selenium là một công cụ kiểm tra tự động cho các ứng dụng chạy trên nên website là chủ yếu. Ngoài ra, Selenium được sử dụng cho các ứng dụng game nhưng không nhiều. Selenium hỗ trợ hầu hết trên các trình duyệt phổ biến hiện nay như Firefox, Chrome, Internet Explorer, Safari, Opera,… cũng như trên các hệ điều hành chính như Windows, Linux, Mac mà không cần chỉnh sửa test script nhiều.

e.Chạy test case ở backround

Khi thực thi một test script, người dùng hoàn toàn có thể làm việc khác trên cùng một PC. Điều này giúp tiết kiệm tài nguyên máy móc khi chạy test script.

f.Không hỗ trợ Win app

Selenium chỉ hỗ trợ tương tác với browser mà không hỗ trợ làm việc với các Win app, kể cả Win dialog như Download/Upload – ngoại trừ Browser Alarm. Vậy nên, để xử lý các trường hợp cần tương tác với hệ thống hay một app thứ ba, chúng ta cần một hay nhiều thư viện khác như AutoIt hay Coded UI.


B.Tổng quan về ngôn ngữ lập trình Python

1.Python là gì?

Python là một ngôn ngữ lập trình hướng đối tượng rất thông dụng để viết các tiện ích hệ thông và các đoạn mã trên Internet. Python cũng được sử dụng như ngôn ngữ kết dính đóng vai trò tích hợp C và C++. Ngôn ngữ này được tạo ra do Guido van Rossum năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Phiên bản mới nhất hiện này là bản 3.6.x (cập nhật 23/12/2016).

alt

Hình 1.1: Ngôn ngữ Python

Hiện nay, cộng đồng người sử dụng ngôn ngữ này rất đông, nếu so sánh từ bảng xếp hạng các ngôn ngữ năm 2017 thì Python đứng thứ nhất trong top 10 ngôn ngữ phổ biến nhất.

alt

Hình 1.2: Bảng xếp hạng ngôn ngữ lập trình năm 2017

2.Đặc điểm của Python

a.Đơn giản

Python là một ngôn ngữ đơn giản và tối giản. Tính tự nhiên của mã giả trong Python là một trong những điểm mạnh nhất của ngôn ngữ này.

b.Dễ học

Python rất dễ học vì có cú pháp cực kỳ đơn giản.

c.Miễn phí và mã nguồn mở

Python là một ví dụ của FLOSS (Free/ Libré and Open Source Software). Vì vậy, bạn có thể tự do phân phối sao chép của phần mềm, cũng như mã nguồn, thay đổi hay sử dụng các thành phần phần mềm trong các chương trình mới. Bên cạnh đó, Python được cộng đồng mạng thường xuyên phát triển và nâng cấp.

d.Ngôn ngữ bậc cao

Khi sử dụng Python, người dùng không cần phải để ý đến các chi tiết mức thấp như quản lý bộ nhớ cho chương trình của bạn.

e.Khả năng bỏ túi

Do tính tự nhiên mã mở, Python cũng xây dựng chạy trên nhiều nên tảng khác nhau. Có thể sử dụng trên GNU/ Linux, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE và PocketPC.

f.Diễn dịch

Python sẽ chuyển mã nguồn thành 1 dạng trung gian gọi là bytecode, sau đó dịch dạng trung gian thành ngôn ngữ mà máy tính có thể hiểu được.

g.Hướng đối tượng

Python là ngôn ngữ hỗ trợ cho lập trình hướng đối tượng lẫn cả lập trình thủ tục. Nếu so sánh với C++ hoặc Java, Python rất mạnh nhưng lại cực kỳ đơn giản để thực hiện lập trình hướng đối tượng

h.Tính mở rộng

Python cho phép tích hợp các chương trình ở các ngôn ngữ khác nhau.

i.Khả năng nhúng

Có thể nhúng Python bên trong chương trình C/C++ để mang lại khả năng kịch bản cho người dùng chương trình.

j.Thư viện mở rộng

Thư viện tiêu chuẩn của Python rất lớn hỗ trợ biểu thức chính quy, gieo tài liệu, tiến trình/ tiểu trình, database, trình duyệt web, CGI, FTP, email, XML, XML-RPC, HTML, tập tin WAV, mã hóa, GUI,… Tất cả đều có sẵn khi cài đặt Python.

3.Ứng dụng của Python

  • Xây dựng các tiện ích nhỏ để tự động hóa công việc (tự động tìm kiếm, phân loại tập tin theo tiêu chí riêng, tự động cập nhật các tập tin văn bản theo yêu cầu nào đó,...).
  • Xây dựng ứng dụng web: Python cung cấp nhiều framework để người lập trình có thể lựa chọn để phát triển ứng dụng web tùy theo quy mô.
  • Lập trình các tính toán khoa học, số liệu nhờ các công cụ và lớp thư viện được xây dựng sẵn như SciPy, Pandas, IPython,…
  • Lập trình ứng dụng desktop, lập trình màn hình tương tác,…

Nguồn:

1.http://csc.edu.vn/lap-trinh-di-dong/tin-tuc/Tin-dao-tao-LTDD/Lap-trinh-Python-cho-nguoi-moi-bat-dau-768

2.https://www.stdio.vn/articles/tong-quan-ve-python-335

3.https://www.dammio.com/2016/10/17/python-phan-1-gioi-thieu-tong-quan-python

Chapter 02: Guide to configuring Python and installing Eclipse for programming Python

A.Hướng dẫn cài đặt Python

Python có thể chạy trên nhiều hệ điều hành khác nhau như MS Windowns và Unix/Linux (Ubuntu). Tuy nhiên trong bài này, mình chỉ hướng dẫn việc cài đặt Python cho hệ điều hành MS Windows.

1.Download Python

  • Truy cập link: https://www.python.org/downloads. Nếu hiện tại bạn đang sử dụng windows 32bit thì sửa dụng file "Windows x86 executable installer" và các bước cài đặt tương tự như hướng dẫn bên dưới.

alt

alt

alt

2.Cài đặt Python

  • Chạy file đã download ở mục 1 để tiến hành cài đặt.

  • Chọn checkbox “Add Python 3.6 to PATH

alt

  • Chọn “Customize Installation” để thay đổi ví trí Python được cài đặt và click “Next

alt

alt

  • Chọn vị trí mà Python sẽ được cài đặt ra và click “Install

alt

  • Click “Close” để kết thúc cài đặt

alt

3.Bắt đầu với Python

  • Trên “Start Menu” của Windows run IDLE (Python 3.6 64bit)

alt

  • Cửa sổ chương trình “Python 3.6.5 Shell” được mở và giúp người dùng viết mã Python

Python Shell là gì?

Sau khi hoàn thành cài đặt Python, công cụ Python Shell được thêm vào. Đây là một IDE (Integrated Development Environment) giúp người dùng viết mã Python. Tuy nhiên, Python Shell chỉ giúp người dùng chạy những lệnh cơ bản và không phù hợp để phát triển một ứng dụng lớn. Do đó, người dùng nên sử dụng một IDE khác.

alt

  • Nhập vào một đoạn code:  print("Hello Python, I am Phuong Dang") và nhấn Enter

alt

4.Các IDE cho Python

Như phần trên đã đề cập, Python Shell chỉ hỗ trợ người dùng sử dụng những lệnh cơ bản và không thể phát triển những ứng dụng lớn. Vì vậy, để phát triển một ứng dụng với quy mô lớn, người dùng có thể cái đặt những IDE sau:

  • PyCharm
  • Eclipse (Cài đặt PyDev plugin cho Eclipse)

B.Cài đặt Eclipse và cấu hình PyDev để lập trình Python

1.Hướng dẫn cài đặt Eclipse

a.Download Eclipse

alt

alt

alt

b.Cài đặt và cấu hình Eclipse

  • Giải nén file Eclipse đã download ở mục a

alt

  • Run file “eclipse.exe

alt

alt

alt

alt

2.Hướng dẫn cài đặt PyDev cho Eclipse lập trình Python

a.PyDev là gì?

PyDev là một Plugin cho phép bạn cài đặt vào Eclipse và có thể lập trình Python trên Eclipse.

b.Cài đặt PyDev

  • Trên Eclipse chọn: Help/Eclipse Marketplace…

alt

  • Nhập “PyDev” vào Find textbox để tìm kiếm và click “Install” để tiến hành cài đặt

alt

  • Click “Confirm

alt

  • Chọn option “I accept the terms of license agreements” và click “Finish

alt

  • Click “Restart” để re-run Eclipse sau khi cài đặt PyDev

alt

  • Kiểm tra PyDev đã được cái đặt: Trên Eclipse, chọn: File/New/Other…. Trên cửa sổ Wizard hiểm thì PyDev thì có nghĩa là đã được cài đặt thành công.

alt

alt

c.Cầu hình Interpreter

Python Interpreter là một bộ thông dịch (interpreter) sử dụng để thông dịch mã Python (do người lập trình viết) sang mã máy tính. Do đó, người dùng cần phải khai báo nó với Eclipse.

  • Trên Eclipse chọn: Window/Preferences > PyDev/Interpreters/Python Interpreter

alt

  • Chọn "New"

alt

  • Nhập vào vị trí file “python.exe” trong thư mục Python đã cài đặt và click “OK

alt

  • Chọn toàn bộ option và click “OK

alt

  • Chọn “Libraries” tab để kiểm tra xem các thư viện đã được import và click “Apply and Close

alt

Trên đây là những bước hướng dẫn cấu hình và cài đặt Eclipse để có thể lập trình Python. Phần tiếp theo mình sẽ hướng dẫn một số lệnh Python cơ bản và config Selenium.

Nguồn:

1.https://o7planning.org/vi/11375/huong-dan-cai-dat-va-cau-hinh-python

2.https://o7planning.org/vi/10379/huong-dan-cai-dat-va-cau-hinh-eclipse

3.https://o7planning.org/vi/11379/huong-dan-cai-dat-pydev-cho-eclipse-lap-trinh-python