Python Unittest có chạy thử nghiệm song song không?

Theo mặc định, pytest chạy thử nghiệm theo thứ tự tuần tự. Trong một kịch bản thực tế, một bộ thử nghiệm sẽ có một số tệp thử nghiệm và mỗi tệp sẽ có một loạt các thử nghiệm. Điều này sẽ dẫn đến một thời gian thực hiện lớn. Để khắc phục điều này, pytest cung cấp cho chúng ta tùy chọn chạy thử nghiệm song song

Đối với điều này, trước tiên chúng ta cần cài đặt plugin pytest-xdist

Cài đặt pytest-xdist bằng cách chạy lệnh sau -

pip install pytest-xdist

Bây giờ, chúng ta có thể chạy thử nghiệm bằng cách sử dụng cú pháp pytest -n

pytest -n 3

-nrun các bài kiểm tra bằng cách sử dụng nhiều công nhân, đây là 3

Chúng tôi sẽ không bị chênh lệch nhiều về thời gian khi chỉ có một vài bài kiểm tra được chạy. Tuy nhiên, nó quan trọng khi bộ thử nghiệm lớn

Bài viết này là một phần của Trung tâm nội dung của chúng tôi. Để biết thêm các tài nguyên chuyên sâu, hãy xem trung tâm nội dung của chúng tôi trên Hướng dẫn Selenium Python

Kiểm tra trình duyệt chéo được coi là một nhiệm vụ không thể thiếu trong chu kỳ phát hành ngày nay. Tuy nhiên, kiểm tra trình duyệt chéo thủ công có thể trở nên rất vất vả và tốn thời gian. Một trở ngại lớn mà các nhà phát triển và người thử nghiệm gặp phải là khi thực hiện kiểm tra khả năng tương thích trình duyệt của trang web hoặc ứng dụng web của họ trên các hệ điều hành, trình duyệt khác nhau, v.v. Đây là nơi mà Selenium với tư cách là một phần mềm mã nguồn mở và miễn phí bước vào. Tìm hiểu cách thực hiện Kiểm tra song song Python UnitTest trong Selenium WebDriver

Selenium là một khung kiểm tra tự động hóa phổ biến để kiểm tra khả năng tương thích với trình duyệt của ứng dụng web hoặc trang web. Selenium được sử dụng để thực hiện kiểm tra chức năng tự động với đường cong học tập ít hơn/tối thiểu đối với việc triển khai

Bạn có thể sử dụng Selenium để kiểm tra trình duyệt chéo tự động, nó tự động tương tác với ứng dụng web/trang web của bạn trong bất kỳ trình duyệt nào. g. Google Chrome, Mozilla Firefox, Internet Explorer, Edge, v.v.

Trong bài viết này, chúng ta sẽ chạm vào

Selenium & Python – Bắt đầu [Cài đặt, Cấu hình và hơn thế nữa]

Selenium hỗ trợ nhiều ngôn ngữ lập trình hàng đầu dành cho người thử nghiệm là C#, Java, Ruby, Python, Javascript, PHP, v.v. nhưng nhiều nhà phát triển & người thử nghiệm đang chọn thử nghiệm Python UnitTest Song song với Selenium vì Python ít dài dòng hơn các ngôn ngữ lập trình khác, các thư viện rất phong phú để giúp bạn hoàn thành nhiều công việc hơn bằng cách viết mã tự động hóa tốt hơn và sạch hơn

Bây giờ bạn đã hiểu những lợi thế của việc sử dụng Selenium với Python UnitTest Kiểm tra tự động hóa song song, chúng tôi giải thích các bước cơ bản để cài đặt và cấu hình

[Lưu ý - Trong blog này, chúng tôi sử dụng Môi trường Windows, Python phiên bản 3. 6 và Eclipse dưới dạng Selenium IDE]

  1. Trước tiên, bạn cần cài đặt Python từ đây. Chọn phiên bản thích hợp phù hợp với Hệ điều hành của bạn i. e. Windows, Linux, Macintosh
  2. Đảm bảo rằng PATH của bạn được nối với vị trí đặt Python thực thi. e. g. Nếu Python được cài đặt ở vị trí C. \Users\\appdata\local\programs\python\Python36;
  3. Khi bạn đã cài đặt Python, bước tiếp theo là cài đặt gói Selenium. Nó còn được gọi là 'Ràng buộc Python cho Selenium'. Các ràng buộc này rất quan trọng để thực hiện thử nghiệm tự động hóa python
  4. Bây giờ, bạn cần cài đặt thành phần quan trọng nhất trong khung thử nghiệm có tên là WebDriver. Selenium WebDriver được sử dụng để tự động hóa trình duyệt bằng cách đẩy các lệnh tới Trình duyệt web. Nó là một tập hợp các API nguồn mở và vì nó không phụ thuộc vào nền tảng nên mã nguồn được viết cho nền tảng Windows sẽ thực thi liền mạch trên các Hệ điều hành khác e. g. Linux, Mac, v.v. Để biết thêm, bạn có thể tham khảo hướng dẫn Selenium WebDriver của chúng tôi để kiểm tra trình duyệt chéo. Bài viết này sẽ nêu cách thực hiện kiểm tra Python UnitTest Parallel trong Selenium Webdriver với Python

Selenium yêu cầu tắc kè để giao tiếp với trình duyệt Firefox. Để thực hiện kiểm tra Python UnitTest Parallel trong Selenium, có thể tải xuống Hướng dẫn WebDriver cho các trình duyệt khác nhau từ các vị trí bên dưới

Trong đoạn mã bên dưới liên quan đến thử nghiệm tự động hóa Python UnitTest Parallel, sau khi nhập thư viện Selenium WebDriver [Dòng 3-4], nhà phát triển có thể gọi phiên bản Firefox bằng cách sử dụng Tùy chọn 1 [Dòng 8] với điều kiện là vị trí cài đặt Firefox được cập nhật trong . exe đang thực thi trong nền

Tùy chọn 2 [Dòng 11] cũng có thể được sử dụng trong trường hợp bạn định gọi tắc kè theo cách thủ công. exe, lần lượt bắt đầu một phiên bản Firefox

Selenium Web Server – Việc sử dụng Selenium Web Server là tùy chọn và tất cả phụ thuộc vào cách bạn muốn sử dụng Selenium WebDriver. Nếu bạn dự định thực hiện kiểm tra Python UnitTest Parallel trong Selenium WebDriver với Python hoặc bất kỳ ngôn ngữ nào khác thông qua máy cục bộ của bạn, nơi bạn có các trình duyệt web mà bạn định sử dụng để kiểm tra khả năng tương thích của trình duyệt, API WebDriver sẽ đáp ứng yêu cầu của bạn. Selenium WebDriver sẽ trực tiếp chạy trình duyệt. Dưới đây là các kịch bản lý tưởng mà bạn sẽ yêu cầu Selenium Web Server

  • Bạn đang thực hiện một số thử nghiệm trên trình duyệt chỉ khả dụng trên máy từ xa, không phải máy cục bộ của bạn
  • Bạn đang sử dụng một Lưới Selenium phân tán phức tạp để thử nghiệm trình duyệt chéo trong đó các thử nghiệm được phân phối trên các Máy ảo [VM] khác nhau
  • Bạn đang sử dụng Trình điều khiển HTMLUnit chứ không phải Java Bindings i. e. C#, Ruby, Python, v.v.

Máy chủ web Selenium có thể được tải xuống từ đây

Chứng nhận này dành cho các chuyên gia muốn phát triển kiến ​​thức chuyên môn nâng cao, thực hành về thử nghiệm tự động hóa Selenium với Python và đưa sự nghiệp của họ lên một tầm cao mới

Dưới đây là thông tin ngắn gọn về chứng nhận Selenium Python 101 từ LambdaTest

Selenium WebDriver với Python – Cách sử dụng và ví dụ

Bây giờ bạn đã sẵn sàng thiết lập, bây giờ bạn có thể sử dụng Selenium WebDriver Python Bindings để thử nghiệm ứng dụng web của mình. Dưới đây là một đoạn mã đơn giản mà tôi đã sử dụng để thử nghiệm tự động hóa Python UnitTest Parallel, nó sẽ hoạt động với 'chức năng tìm kiếm' trong Google

# Nhập các mô-đun cần thiết để phát triển

từ Selenium nhập webdriver

từ selen. webdriver. phổ thông. phím nhập phím

# Gọi một Phiên bản Firefox mới

ff_driver = trình điều khiển web. firefox[]

# Chặn đợi 30 giây để xác định vị trí phần tử

ff_driver. ngầm_chờ[30]

ff_driver. max_window[]

ff_driver. nhận ["http. //www. Google. com"]

# Tìm Phần tử tìm kiếm và nhập Tiêu chí tìm kiếm

tiêu chí tìm kiếm = ff_driver. find_element_by_id["lst-ib"]

tiêu chí tìm kiếm. send_keys["Kiểm tra Lambda"]

# Gửi kết quả Tìm kiếm

# Ngủ trong 10 giây để xem kết quả

# Đóng phiên bản Trình duyệt

Bạn có thể lưu tệp dưới dạng tìm kiếm. py và biên dịch bằng lệnh sau

python search.py

[Lưu ý – Trong trường hợp bạn đang sử dụng một IDE như Eclipse, bạn có thể biên dịch và thực thi mã của mình bằng cách sử dụng nút PLAY trong IDE Eclipse]. Hãy thực hiện hướng dẫn mã và xem xét một số phần quan trọng trong ví dụ trên về Selenium Webdriver cho Python UnitTest Thử nghiệm tự động hóa song song

nhập selen. mô-đun webDriver cung cấp triển khai WebDriver

Tạo phiên bản Firefox WebDriver

Mở Trang chủ. Trong mọi trường hợp, WebDriver sẽ đợi cho đến khi trang tải hoàn toàn, sau đó điều khiển sẽ quay trở lại tập lệnh. Trong ví dụ này, chúng tôi đã giới thiệu cuộc gọi 'Chờ chờ' chỉ trong 30 giây cho mục đích trình diễn

Bước tiếp theo là xác định vị trí phần tử cần thiết trên Trang Web. WebDriver cung cấp một số cách mà find_element_by* có thể được sử dụng để tìm phần tử được yêu cầu trên trang. Để tìm tên phần tử, bạn có thể sử dụng chức năng ‘Kiểm tra phần tử’ trong trình duyệt. Bạn chỉ cần nhấp chuột phải + nhấp vào trang và chọn tùy chọn 'Kiểm tra phần tử' để tìm phần tử cần thiết. Dưới đây là ảnh chụp nhanh quá trình tìm kiếm thông tin chi tiết về nút ‘Hộp nhập liệu’ và nút ‘Tìm kiếm của Google’ trên Trang chủ Google

Mọi văn bản được điền sẵn trong hộp nhập liệu sẽ bị xóa bằng phương thức clear[] của WebDriver và nhấn phím được gửi bằng lớp Keys được nhập từ Selenium. webdriver. phổ thông. phím. Khi thao tác nhập hoàn tất, gửi được gọi bằng phương thức submit[] để xử lý Tìm kiếm

Cuối cùng, phiên trình duyệt được đóng lại bằng phương thức close[]

Bây giờ bạn đã biết cách sử dụng Selenium, Python và WebDriver; . Để viết các trường hợp thử nghiệm bằng Selenium, mô-đun unittest phải được nhập. Mặc dù có các tùy chọn khác như py. kiểm tra và mũi, chúng tôi sẽ tập trung vào unittest. Chúng tôi cũng đã đề cập đến khung thử nghiệm Python tốt nhất cho Tự động hóa thử nghiệm Selenium

Ghi chú. bạn có thể tham khảo blog của chúng tôi về tự động hóa kiểm tra bằng Pytest và Selenium WebDriver nếu bạn muốn thực hiện kiểm tra Python UnitTest Parallel trong Selenium webdriver

ví dụ 2

từ Selenium nhập webdriver

từ selen. webdriver. phổ thông. phím nhập phím

từ selen. webdriver. trình duyệt Chrome. nhập tùy chọn Tùy chọn

lớp ChromeSearch[unittest. Trường hợp thử nghiệm]

chrome_options = webdriver. ChromeOptions[]

bản thân. trình điều khiển = webdriver. Chrome[r"C. /Tệp chương trình [x86]/Google/Chrome/Ứng dụng/chromedriver. exe", tùy chọn=chrome_options]

bản thân. người lái xe. max_window[]

# Theo mô-đun kém nhất, bài kiểm tra riêng lẻ nên bắt đầu bằng test_

def test_search_lambdatest_chrome[self]

driver_chrome = tự. người lái xe

driver_chrome. lấy ['http. //www. Google. com']

search_criteria = driver_chrome. find_element_by_id["lst-ib"]

tiêu chí tìm kiếm. send_keys["Kiểm tra Lambda"]

# Kiểm tra xem tìm kiếm có trả về bất kỳ kết quả nào không

khẳng định "Không tìm thấy kết quả. " không có trong driver_chrome. trang_source

lớp FirefoxSearch[unittest. Trường hợp thử nghiệm]

bản thân. trình điều khiển = webdriver. firefox[]

bản thân. người lái xe. max_window[]

# Theo mô-đun kém nhất, bài kiểm tra riêng lẻ nên bắt đầu bằng test_

def test_search_lambdatest_firefox[self]

driver_firefox = tự. người lái xe

driver_firefox. lấy ['http. //www. Google. com']

search_criteria = driver_firefox. find_element_by_id["lst-ib"]

tiêu chí tìm kiếm. send_keys["Kiểm tra Lambda"]

# Kiểm tra xem tìm kiếm có trả về bất kỳ kết quả nào không

khẳng định "Không tìm thấy kết quả. " không có trong driver_firefox. trang_source

# Mọi thứ được khai báo trongearDown sẽ được thực thi cho tất cả các trường hợp thử nghiệm

Mã kiểm tra ở trên có thể được thực thi từ trình bao bằng cách sử dụng lệnh 'tên tệp python. py'. Hãy thực hiện hướng dẫn mã và tập trung vào các phần quan trọng của mã

Trước khi đi vào triển khai thực tế, các mô-đun quan trọng được nhập. unittest là một mô-đun Python tích hợp dựa trên JUnit. Nó được sử dụng để tổ chức các trường hợp thử nghiệm, có thể tìm thêm thông tin về unittest tại đây. Tương tự như ví dụ trước, selen. mô-đun webdriver hỗ trợ triển khai WebDriver được nhập

từ Selenium nhập webdriver

từ selen. webdriver. phổ thông. phím nhập phím

từ selen. webdriver. trình duyệt Chrome. nhập tùy chọn Tùy chọn

Bây giờ chúng ta bắt đầu với việc triển khai testcase thực tế. Tìm kiếm Chrome là tên của trường hợp thử nghiệm. Lớp test case được kế thừa từ unittest. Trường hợp thử nghiệm

lớp ChromeSearch[unittest. Trường hợp thử nghiệm]

Phương thức setup[] là một phần của quá trình khởi tạo và định nghĩa các lệnh được thực thi trước testcase. Trong đoạn mã bên dưới, chúng tôi tạo một phiên bản Chrome WebDriver để thực hiện Selenium WebdDriver với Python UnitTest Parallel để thử nghiệm tự động hóa

chrome_options = webdriver. ChromeOptions[]

bản thân. trình điều khiển = webdriver. Chrome[r"C. /Tệp chương trình [x86]/Google/Chrome/Ứng dụng/chromedriver. exe", tùy chọn=chrome_options]

bản thân. người lái xe. max_window[]

Sau khi khởi tạo xong, chúng ta tiến hành phương thức testcase. Theo mô-đun unittest, bài kiểm tra riêng lẻ phải luôn bắt đầu bằng 'test_'. Trong đoạn mã bên dưới, phương thức testcase là test_search_lambdatest_chrome. driver_chrome, là tham chiếu cục bộ đến đối tượng trình điều khiển được tạo trong phương thức setUp[]. Do đó, tham chiếu cục bộ [trong trường hợp này là driver_chrome] sẽ được sử dụng để triển khai thêm. Để biết chi tiết về việc triển khai WebDriver, vui lòng tham khảo Ví dụ-1 nơi chúng tôi đã cung cấp giải thích chuyên sâu

def test_search_lambdatest_chrome[self]

driver_chrome = tự. người lái xe

Phương thức TearsDown[] được gọi ngay sau khi phương thức kiểm tra hoàn thành thực thi vì đây là nơi thực hiện dọn dẹp. Trong đoạn mã dưới đây, thao tác đóng được thực hiện trên Trình duyệt i. e. Trình duyệt Chrome

Việc triển khai trong phương thức trường hợp thử nghiệm Firefox Search [Dòng-34] tương tự như phương thức trường hợp thử nghiệm Chrome Search [Dòng-7], ngoại trừ trong phương thức đó, phiên bản Firefox WebDriver được tạo.
Dòng mã cuối cùng là mã tấm Nồi hơi để chạy bộ thử nghiệm. đơn vị nhất. main[] cung cấp giao diện dòng lệnh để thực thi tập lệnh kiểm tra, mặc dù có nhiều tùy chọn khác để thực hiện kiểm tra với mức độ kiểm soát tốt hơn.

Các ví dụ mà chúng tôi đã giới thiệu ở trên có trình duyệt Firefox & Chrome là trung tâm của toàn bộ quá trình thử nghiệm. Điều gì sẽ xảy ra nếu yêu cầu của bạn là kiểm tra ứng dụng web của bạn bằng trình duyệt Firefox [phiên bản 64. 0] được cài đặt trên máy Windows 10? . Cách tiếp cận này không chỉ tốn kém mà còn không thể mở rộng

Trong quá trình kiểm tra mã nguồn của bạn, bạn có thể rơi vào tình huống không thể xác minh ứng dụng web/ứng dụng web trên cơ sở hạ tầng cục bộ [hoặc thiết lập] hiện có sẵn. Thực hiện kiểm tra trình duyệt chéo là điều cần thiết để đảm bảo rằng các trang web được hiển thị chính xác trên các trình duyệt, hệ điều hành và thiết bị khác nhau. Đây là nơi có thể sử dụng cơ sở hạ tầng đa trình duyệt dựa trên đám mây của Lambdatest để xác minh ứng dụng web/trang web của bạn

Tận dụng nền tảng LambdaTest để thực hiện kiểm tra song song UnitTest Python

Trong khi sử dụng Selenium WebDriver với Python UnitTest Parallel để kiểm thử tự động thông qua mã nguồn của bạn, bạn có thể rơi vào tình huống không thể xác minh ứng dụng web trên cơ sở hạ tầng cục bộ [hoặc thiết lập] hiện có sẵn. g. Yêu cầu của bạn là thử nghiệm ứng dụng web của bạn với trình duyệt Firefox [phiên bản 64. 0] được cài đặt trên máy Windows 10. Trong quy trình như vậy, bạn sẽ yêu cầu thiết lập bắt buộc với cùng một phiên bản Firefox được cài đặt trên đó. Cách tiếp cận này không chỉ tốn kém mà còn không thể mở rộng

Bằng cách tận dụng các công cụ kiểm tra trình duyệt chéo, dựa trên đám mây như LambdaTest, bạn có thể xác minh ứng dụng web của mình về khả năng tương thích giữa các trình duyệt trên hơn 2000 trình duyệt, hệ điều hành, độ phân giải, thiết bị, v.v. Để bắt đầu, bạn phải tạo một tài khoản trên LambdaTest. Sau khi tài khoản của bạn được kích hoạt, bạn cần ghi lại tên người dùng và khóa truy cập có trong Hồ sơ LambdaTest của bạn

Bạn phải tạo ra các khả năng cần thiết tôi. e. các yêu cầu bắt buộc [và tùy chọn] cần thiết để thực thi mã kiểm tra e. g. Các khả năng có thể là [hệ điều hành nền tảng – Windows 10, BrowserName – Firefox, BrowserVersion 64. 0, Phiên bản trình điều khiển Firefox – v0. 23. 0. Có thể tạo các khả năng mong muốn bằng cách truy cập Trình tạo khả năng LambdaTest. Bạn phải đảm bảo rằng ngôn ngữ để phát triển được chọn là ‘Python’

"xây dựng". "tên bản dựng của bạn",

"selenium_version". "3. 13. 0",

Để có được thông lượng tối đa từ Selenium WebDriver với Python cho thử nghiệm tự động hóa thông qua nền tảng LambdaTest, bạn cần chọn một gói cung cấp tính năng 'Thử nghiệm song song'. Thông tin chi tiết về các gói thanh toán có sẵn tại trang giá của họ

Bây giờ thiết lập của chúng tôi đã sẵn sàng, chúng tôi thực hiện một thử nghiệm đơn giản để thực hiện thử nghiệm Python UnitTest Parallel trong Selenium WeDriver với nền tảng đám mây LambaTest. Chi tiết về các bài kiểm tra dưới đây

  • kiểm tra 1. 1. Gọi trình duyệt Chrome [phiên bản 67. 0] trên Windows 10 2. Tìm kiếm 'lambatest. com’ trên Google 3. Khi trang được hiển thị, hãy đóng trình duyệt và xóa các tài nguyên được phân bổ trong khi bắt đầu kiểm tra
  • kiểm tra 2. 1. Gọi trình duyệt Firefox [phiên bản 64. 0] trên Windows 10 2. Tìm kiếm 'lambatest. com’ trên Google 3. Khi trang được hiển thị, hãy đóng trình duyệt và xóa các tài nguyên được phân bổ trong khi bắt đầu kiểm tra

Triển khai cho Bài kiểm tra 1

Ví dụ mẫu tự động hóa LambdaTest Selenium

tên tài khoản. Tên người dùng có thể được tìm thấy tại bảng điều khiển tự động hóa

truy cập thẻ. AccessToken có thể được tạo từ bảng điều khiển tự động hóa hoặc phần hồ sơ

Thực hiện các thử nghiệm tự động hóa Python trên LambdaTest Distributed Selenium Grid

từ Selenium nhập webdriver

từ selen. webdriver. phổ thông. phím nhập phím

lớp LTAutomate[unittest. Trường hợp thử nghiệm]

nền tảng. Nền tảng được hỗ trợ - [Windows 10, Windows 8. 1, Windows 8, Windows 7,  macOS High Sierra, macOS Sierra, OS X El Capitan, OS X Yosemite, OS X Mavericks]

tên trình duyệt. Nền tảng được hỗ trợ - [chrome, firefox, Internet Explorer, Microsoft Edge]

phiên bản. Danh sách phiên bản được hỗ trợ có thể được tìm thấy tại https. //www. lambdatest. com/capabilities-generator/

# tên tài khoản. Tên người dùng có thể được tìm thấy tại bảng điều khiển tự động hóa

# truy cập thẻ. AccessToken có thể được tạo từ bảng điều khiển tự động hóa hoặc phần hồ sơ

accessToken=""

# gridUrl. gridUrl có thể được tìm thấy tại bảng điều khiển tự động hóa

gridUrl = "trung tâm. lambdatest. com/wd/trung tâm"

'tên trình duyệt'. "trình duyệt Chrome",

"nghị quyết". "1024x768",

"Tên". "Kiểm tra tìm kiếm trên google bằng python LambdaTest",

"xây dựng". "LambdaTest python bản dựng tìm kiếm google",

# URL. https. //{tên tài khoản}. {accessToken}@hub. lambdatest. com/wd/trung tâm

url = "https. //"+tên người dùng+". "+Mã truy cập"@"+Url lưới

print["Khởi tạo trình điều khiển từ xa trên nền tảng. "+desired_cap["nền tảng"]+" trình duyệt. Phiên bản "+desired_cap["browserName"]+". "+desired_cap["phiên bản"]]

bản thân. trình điều khiển = webdriver. Xa[

wish_capabilities=desired_cap,

thực hiện kiểm tra. điều hướng google. com tìm kiếm LambdaTest

def test_search_in_google[self]

print["Khởi tạo driver thành công. Điều hướng url"]

người lái xe. nhận ["https. //www. Google. com/ncr"]

print["Tìm kiếm lambdatest trên google. com"]

elem = tài xế. find_element_by_name["q"]

yếu tố. send_keys["lambdatest. com"]

print["In tiêu đề của trang hiện tại. "+tài xế. Tiêu đề]

người lái xe. exec_script["lambda-status=passed"]

print["Yêu cầu chấm bài kiểm tra. vượt qua"]

Thực hiện cho thử nghiệm 2

Ví dụ mẫu tự động hóa LambdaTest Selenium

tên tài khoản. Tên người dùng có thể được tìm thấy tại bảng điều khiển tự động hóa

truy cập thẻ. AccessToken có thể được tạo từ bảng điều khiển tự động hóa hoặc phần hồ sơ

Thực hiện các thử nghiệm tự động hóa Python trên LambdaTest Distributed Selenium Grid

từ Selenium nhập webdriver

từ selen. webdriver. phổ thông. phím nhập phím

lớp LTAutomate[unittest. Trường hợp thử nghiệm]

nền tảng. Nền tảng được hỗ trợ - [Windows 10, Windows 8. 1, Windows 8, Windows 7,  macOS High Sierra, macOS Sierra, OS X El Capitan, OS X Yosemite, OS X Mavericks]

tên trình duyệt. Nền tảng được hỗ trợ - [chrome, firefox, Internet Explorer, Microsoft Edge]

phiên bản. Danh sách phiên bản được hỗ trợ có thể được tìm thấy tại https. //www. lambdatest. com/capabilities-generator/

# tên tài khoản. Tên người dùng có thể được tìm thấy tại bảng điều khiển tự động hóa

# truy cập thẻ. AccessToken có thể được tạo từ bảng điều khiển tự động hóa hoặc phần hồ sơ

accessToken=""

# gridUrl. gridUrl có thể được tìm thấy tại bảng điều khiển tự động hóa

gridUrl = "trung tâm. lambdatest. com/wd/trung tâm"

'tên trình duyệt'. "firefox",

"nghị quyết". "1024x768",

"Tên". "Kiểm tra song song - LambdaTest kiểm tra tìm kiếm python google trên Firefox",

"xây dựng". "Thử nghiệm song song - LambdaTest xây dựng tìm kiếm python google trên Firefox",

# URL. https. //{tên tài khoản}. {accessToken}@hub. lambdatest. com/wd/trung tâm

url = "https. //"+tên người dùng+". "+Mã truy cập"@"+Url lưới

print["Khởi tạo trình điều khiển từ xa trên nền tảng. "+desired_cap["nền tảng"]+" trình duyệt. Phiên bản "+desired_cap["browserName"]+". "+desired_cap["phiên bản"]]

bản thân. trình điều khiển = webdriver. Xa[

wish_capabilities=desired_cap,

thực hiện kiểm tra. điều hướng google. com tìm kiếm LambdaTest

def test_search_in_google[self]

print["Khởi tạo driver thành công. Điều hướng url"]

người lái xe. nhận ["https. //www. Google. com/ncr"]

print["Tìm kiếm lambdatest trên google. com"]

elem = tài xế. find_element_by_name["q"]

yếu tố. send_keys["lambdatest. com"]

print["In tiêu đề của trang hiện tại. "+tài xế. Tiêu đề]

người lái xe. exec_script["lambda-status=passed"]

print["Yêu cầu chấm bài kiểm tra. vượt qua"]

Chúng ta hãy xem qua mã của Bài kiểm tra 1 [Lưu ý – Ngoài loại trình duyệt được gọi, các chức năng còn lại cũng giống như Bài kiểm tra 2]

Tất cả các mô-đun cần thiết được nhập ngay từ đầu [unittest, selen, v.v. ]

Bạn cần thiết lập các khả năng cần thiết để thực hiện kiểm tra. Chúng tôi khuyên bạn nên sử dụng Trình tạo khả năng LambdaTest [đã được thảo luận trước đó] để tạo 'các khả năng mong muốn'

"Tên". "Kiểm tra song song - LambdaTest kiểm tra tìm kiếm python google trên Firefox",

"xây dựng". "Thử nghiệm song song - LambdaTest xây dựng tìm kiếm python google trên Firefox",

Trong phương thức setUp[], bạn nên nhập tên người dùng và mã thông báo truy cập để truy cập nền tảng LambdaTest để tiếp tục với Selenium Webdriver với Python để thử nghiệm tự động hóa. Nếu những thông tin đăng nhập này không chính xác, bạn có thể không thực thi được mã. Vì quá trình thực thi được thực hiện trên đám mây nên chúng tôi sử dụng 'API WebDriver từ xa' thay vì 'API WebDriver cục bộ'. Đầu vào cho 'API WebDriver từ xa' là 'khả năng mong muốn' và 'URL thực thi lệnh [được tạo bằng cách ghép nối [tên người dùng + mã thông báo truy cập + URL lưới]

Bây giờ bạn có thể thực hiện kiểm thử song song trong Selenium WebDriver với Python UnitTest Parallel để kiểm thử tự động. Lưu ý hai bài kiểm tra trên các thiết bị đầu cuối khác nhau bằng cách sử dụng lệnh 'python'

Để kiểm tra trạng thái của các bài kiểm tra, nhật ký, Siêu dữ liệu, v.v. ; . e. https. //tự động hóa. lambdatest. com

Như được hiển thị trong ảnh chụp nhanh tự động hóa bên dưới, có một trường đề cập đến số lượng thử nghiệm đang thực hiện/chạy. Trong trường hợp của chúng tôi, chúng tôi đã thực hiện thử nghiệm song song trong Selenium WebDriver với Python UnitTest Parallel để thử nghiệm tự động hóa bằng cách sử dụng 2 thử nghiệm song song [i. e. phiên đồng thời]. Do đó, khi bạn gọi các bài kiểm tra [parallel_test_example-1. py & song song_test_example-2. py], chúng được thực thi song song. Theo cách này, bạn có thể tăng tốc độ thực hiện trường hợp thử nghiệm tổng thể của mình một cách đáng kể

Phần kết luận

Thực hiện kiểm thử song song trong Selenium WebDriver với Python UnitTest Parallel để kiểm thử tự động có thể giúp bạn tiết kiệm rất nhiều thời gian bằng cách tăng tốc các kiểm thử giao diện người dùng tự động chậm chạp của bạn. Nếu có ít thử nghiệm hơn, bạn có thể không yêu cầu thử nghiệm song song trong Selenium WebDriver cho Python hoặc bất kỳ ngôn ngữ nào khác, nhưng khi độ phức tạp của dự án tăng lên [hoặc số lượng thử nghiệm được thực hiện tăng lên], thử nghiệm song song là cơ chế lý tưởng để . Ngày nay, nhiều nhóm tập trung vào việc sử dụng Tích hợp liên tục [CI] và Phân phối liên tục [CD] trong quy trình thử nghiệm và phát triển phần mềm tổng thể. Tận dụng tối đa 'thử nghiệm song song' là điều quan trọng để triển khai Tích hợp liên tục [CI]

Sử dụng LambdaTest để thử nghiệm tự động trên nhiều trình duyệt trên đám mây, thời gian thử nghiệm có thể giảm đáng kể vì bạn cũng có thể linh hoạt thực hiện song song nhiều thử nghiệm. Nó có các tính năng mạnh mẽ [như Dòng thời gian, Nhật ký tự động hóa, Phân tích, v.v. ] sẽ hữu ích khi phân tích và gỡ lỗi các bài kiểm tra. thử nghiệm vui vẻ

Pytest có chạy thử nghiệm song song không?

Tìm hiểu Pytest từ đầu . Trong một kịch bản thực tế, một bộ thử nghiệm sẽ có một số tệp thử nghiệm và mỗi tệp sẽ có một loạt các thử nghiệm. Điều này sẽ dẫn đến một thời gian thực hiện lớn. Để khắc phục điều này, pytest cung cấp cho chúng tôi tùy chọn chạy thử nghiệm song song .

Unittest hay pytest tốt hơn?

Đầu ra ở trên cho chúng ta biết rằng hai bài kiểm tra đã được chạy trong 0. 001 và một thất bại, nhưng không nhiều. Cuối cùng, pytest cung cấp nhiều thông tin phản hồi hơn , rất hữu ích khi đến lúc gỡ lỗi. Nói chung, cả pytest và unittest đều là những công cụ tuyệt vời để sử dụng để kiểm tra tự động trong Python.

Làm cách nào bạn có thể chạy song song các trường hợp thử nghiệm của mình?

Để kích hoạt thực thi kiểm tra song song trong TestNG, tôi. e. , chạy thử nghiệm trên các luồng riêng biệt, chúng ta cần phải đặt thuộc tính song song . Thuộc tính này chấp nhận bốn giá trị. phương thức - chạy tất cả các phương thức với chú thích @Test ở chế độ song song. kiểm tra – chạy tất cả các trường hợp kiểm tra có trong thẻ

Chúng ta có thể sử dụng pytest và unittest cùng nhau không?

pytest hỗ trợ chạy các bài kiểm tra dựa trên unittest của Python ngay lập tức . Nó có nghĩa là tận dụng các bộ thử nghiệm dựa trên unittest hiện có để sử dụng pytest làm trình chạy thử nghiệm và cũng cho phép điều chỉnh dần dần bộ thử nghiệm để tận dụng tối đa các tính năng của pytest.

Chủ Đề