Hướng dẫn how do i access python in selenium? - làm cách nào để truy cập python trong selen?

Trong một môi trường nhanh nhẹn, các nhà phát triển nhấn mạnh sự thay đổi nhanh chóng. Với mỗi thay đổi đòi hỏi phải sửa đổi ở mặt trước, họ cần chạy các bài kiểm tra trình duyệt thích hợp. Mặc dù một dự án nhỏ có thể chọn thử nghiệm thủ công, số lượng trình duyệt ngày càng tăng tạo ra một trường hợp để kiểm tra tự động hóa.

Với phạm vi ngày càng mở rộng của các ứng dụng web, cả về công nghệ và chức năng, kỳ vọng của người dùng đã tăng lên. Cứ sau vài tuần, các tính năng mới được thêm vào các ứng dụng web để tham gia người dùng cao hơn. Để kiểm tra các tính năng này và đảm bảo rằng UI hoạt động tốt, & NBSP; Kiểm tra tự động & NBSP; là cần thiết. Đối với người thử nghiệm trên toàn thế giới, & nbsp; selenium & nbsp; là lựa chọn đầu tiên để thực hiện các thử nghiệm tự động.

Selenium là một công cụ kiểm tra tự động hóa nguồn mở hỗ trợ một số ngôn ngữ kịch bản như Python, C#, Java, Perl, Ruby, JavaScript, v.v. Tùy thuộc vào ứng dụng được kiểm tra, người ta có thể chọn tập lệnh phù hợp.

Python là một trong những ngôn ngữ kịch bản phổ biến nhất, như được đề xuất bởi Khảo sát hàng năm của Stackoverflow 2021, trong các số liệu thống kê dưới đây.

Hướng dẫn how do i access python in selenium? - làm cách nào để truy cập python trong selen?

Bài viết hướng dẫn này cung cấp hướng dẫn Selenium Python từng bước để thực hiện kiểm tra tự động hóa web.

Selenium cho phép bạn xác định các thử nghiệm và tự động phát hiện kết quả của các thử nghiệm này trên trình duyệt được quyết định trước. Một bộ chức năng Selenium cho phép bạn tạo các tương tác từng bước với một trang web và đánh giá phản hồi của trình duyệt đối với các thay đổi khác nhau. Sau đó, bạn có thể quyết định xem phản hồi của trình duyệt phù hợp với những gì bạn mong đợi.

Bài đăng này giả định rằng bạn không có kiến ​​thức trước về selen. Tuy nhiên, kiến ​​thức cơ bản về các khái niệm phía trước như Dom và sự quen thuộc với Python là dự kiến.

Điều kiện tiên quyết để chạy các bài kiểm tra selen với Python

Cách dễ nhất để cài đặt selen trên môi trường Python là thông qua PIP cài đặt.

pip install selenium

Mặc dù việc cài đặt selen cung cấp chức năng có sẵn cho bạn, bạn cần các trình điều khiển bổ sung cho nó để có thể giao tiếp với trình duyệt web đã chọn. Các liên kết tải xuống cho các trình điều khiển có sẵn ở đây: Chrome, Edge, Firefox và Safari. Trong phần còn lại của hướng dẫn này, chúng tôi sẽ sử dụng Chromedriver. Theo dõi liên kết cho trình duyệt bạn chọn và tải xuống trình điều khiển cho phiên bản tương thích.


Mọi người cũng đọc: Cách chạy các bài kiểm tra selen trên Chrome bằng cách sử dụng Chromedriver: How to run Selenium tests on Chrome using ChromeDriver


Nếu bạn chỉ có kế hoạch kiểm tra cục bộ Selenium, việc tải xuống gói và trình điều khiển sẽ đủ. Tuy nhiên, nếu bạn muốn thiết lập Selenium trên một máy chủ từ xa, bạn cũng sẽ cần cài đặt máy chủ selen. Selenium Server được viết bằng Java và bạn cần phải có JRE 1.6 trở lên để cài đặt nó trên máy chủ của mình. Nó có sẵn trên trang tải xuống Selenium.

Cách chạy các bài kiểm tra selen đầu tiên của bạn với Python: Ví dụ

Khi bạn đã hoàn thành phần Điều kiện tiên quyết, bạn đã sẵn sàng để bắt đầu bài kiểm tra đầu tiên của mình bằng Selenium với ngôn ngữ lập trình Python!

1. Đầu tiên nhập các lớp WebDriver và khóa từ Selenium. First import the WebDriver and Keys classes from Selenium.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

Lớp WebDriver sẽ kết nối bạn với một phiên bản trình duyệt, chúng tôi sẽ sớm bao gồm. Lớp Keys cho phép bạn mô phỏng đột quỵ của các phím bàn phím, bao gồm cả các phím đặc biệt như của Shift Shift và và trả về.Shift” and “Return”.

2. Tiếp theo, tạo một thể hiện Chrome với đường dẫn của trình điều khiển mà bạn đã tải xuống qua các trang web của trình duyệt tương ứng. Trong ví dụ này, chúng tôi giả định rằng trình điều khiển nằm trong cùng thư mục với tập lệnh Python mà bạn sẽ thực thi. Next, create an instance of Chrome with the path of the driver that you downloaded through the websites of the respective browser. In this example, we assume that the driver is in the same directory as the Python script that you will execute.

driver = webdriver.Chrome('./chromedriver')

Nếu bạn đang thử nghiệm trên máy cục bộ của mình, điều này sẽ mở ra một ví dụ về Chrome cục bộ. Lệnh này cho phép bạn thực hiện các thử nghiệm trên đó cho đến khi bạn sử dụng phương thức .close () để kết thúc kết nối với trình duyệt..close() method to end the connection to the browser.

Trong trường hợp, bạn muốn thử thử nghiệm cục bộ bằng cách sử dụng Browserstack Automate của chúng tôi, hãy xem tài liệu này.

3. Tiếp theo, sử dụng phương thức .get () của trình điều khiển để tải trang web. Bạn cũng có thể tải một trang web phát triển cục bộ vì quá trình này tương đương với việc mở một cửa sổ chrome trên máy cục bộ của bạn, gõ URL và nhấn ENTER. Phương thức .get () không chỉ bắt đầu tải một trang web mà còn chờ nó kết xuất hoàn toàn trước khi chuyển sang bước tiếp theo. Next, use the .get() method of the driver to load a website. You may also load a local development site as this process is equivalent to opening a window of Chrome on your local machine, typing a URL and hitting Enter. The .get() method not only starts loading a website but also waits for it to render completely before moving on to the next step.

driver.get("https://www.python.org")

4. Khi trang tải thành công, bạn có thể sử dụng thuộc tính .title để truy cập tiêu đề văn bản của trang web. Nếu bạn muốn kiểm tra xem tiêu đề có chứa một chuỗi con cụ thể hay không, bạn có thể sử dụng các câu lệnh ASPERT hoặc IF. Để đơn giản, chúng ta hãy in tiêu đề của trang. Once the page loads successfully, you can use the .title attribute to access the textual title of the webpage. If you wish to check whether the title contains a particular substring, you can use the assert or if statements. For simplicity, let us print the title of the page.

print(driver.title)

Đầu ra là văn bản sau:

Welcome to Python.org

Nếu bạn đang chạy thử nghiệm trên trình thông dịch Python, bạn nhận thấy rằng cửa sổ trình duyệt Chrome vẫn đang hoạt động. Ngoài ra, một thông điệp về Chrome nói rằng phần mềm tự động đang kiểm soát nó vào lúc này.

5. Tiếp theo, chúng ta hãy gửi một truy vấn trong thanh tìm kiếm. Đầu tiên, chọn phần tử từ HTML DOM và nhập giá trị vào nó và gửi biểu mẫu bằng cách mô phỏng phím trả về. Bạn có thể chọn phần tử bằng lớp CSS, ID, thuộc tính tên của nó hoặc thậm chí tên thẻ. Nếu bạn kiểm tra nguồn của thanh tìm kiếm truy vấn, bạn nhận thấy rằng thuộc tính tên của phần tử DOM này là thì Q Q. Do đó, bạn có thể sử dụng phương thức .find_element_by_name () như sau để chọn phần tử. Next, let us submit a query in the search bar. First, select the element from the HTML DOM and enter a value into it and submit the form by emulating the Return key press. You can select the element using its CSS class, ID, its name attribute, or even the tag name. If you check the source of the query search bar, you notice that the name attribute of this DOM element is “q”. Therefore, you can use the .find_element_by_name() method as follows to select the element.

search_bar = driver.find_element_by_name("q")

6. Sau khi phần tử DOM được chọn, trước tiên bạn cần xóa nội dung của nó bằng phương thức .clear (), hãy nhập một chuỗi làm giá trị của nó bằng phương thức .Send_Keys () và cuối cùng, mô phỏng nhấn phím trả về bằng các phím. TRỞ VỀ. Once the DOM element is selected, you first need to clear its contents using the .clear() method, enter a string as its value using the .send_keys() method and finally, emulate the press of the Return key using Keys.RETURN.

search_bar.clear()
search_bar.send_keys("getting started with python")
search_bar.send_keys(Keys.RETURN)

Cũng đọc: Bạn muốn hiểu các trường hợp sử dụng khác của SendKeys trong selenium? Kiểm tra nó ra. Want to understand other use cases of SendKeys in Selenium? Check it out.


Bạn nhận thấy trong cửa sổ rằng những hành động này kích hoạt thay đổi URL với kết quả tìm kiếm trong cửa sổ. Để xác nhận URL hiện tại của cửa sổ, bạn có thể sử dụng lệnh sau.

print(driver.current_url)

Chuỗi sau được hiển thị:

'https://www.python.org/search/?q=getting+started+with+python&submit='

Để đóng phiên hiện tại, sử dụng phương thức .close (). Nó cũng ngắt kết nối liên kết với trình duyệt..close() method. It also disconnects the link with the browser.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
0

Trong ví dụ này, chúng tôi đã xem xét các bước liên quan đến việc chạy thử nghiệm đầu tiên của chúng tôi bằng Selenium và Python. Xin lưu ý rằng chúng tôi giữ cửa sổ mở trong tất cả các giai đoạn của bài kiểm tra, để đảm bảo bạn biết những gì đã diễn ra trong nền khi bạn chạy từng lệnh.

Trong một luồng hoàn toàn tự động, bạn sẽ chạy nhiều thử nghiệm theo tuần tự và do đó, có thể không thể xem từng bước khi chúng diễn ra.

Chạy thử nghiệm Selenium Python miễn phí

Để tóm tắt các cuộc thảo luận, đây là bài kiểm tra selenium đầu tiên của bạn trên Python. Bạn có thể lưu nó trong tệp selenium_test.py và chạy python selenium_test.py để chạy thử nghiệm.first Selenium test on Python. You may save it in the file selenium_test.py and run python selenium_test.py to run the test.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
1

Điều hướng qua các thành phần HTML DOM

Bây giờ bạn đã chạy thành công thử nghiệm đầu tiên của mình trong selenium với Python, chúng ta hãy xem xét các tùy chọn khác nhau để chọn các thành phần DOM và tương tác với chúng. Trong ví dụ, chúng tôi đã chọn thanh tìm kiếm và truy vấn cho một chuỗi. Hãy để chúng tôi khám phá sự lựa chọn hơn nữa. Đây là HTML của thanh tìm kiếm.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
2

Trong ví dụ, chúng tôi đã sử dụng phương thức .find_element_by_name (), tìm kiếm tên thuộc tính trong thẻ HTML đầu vào. Chúng tôi cũng có thể tìm kiếm thuật ngữ này bằng các phương pháp khác..find_element_by_name() method, which searches for the attribute name within the input HTML tag. We can also search for this term using other methods.

  • ID CSS:..find_element_by_id(“id-search-field”)
  • DOM PATH:..find_element_by_xpath(“//input[@id=’id-search-field’]”)
  • Lớp CSS:..find_element_by_class_name(“search-field”)

Mặc dù ID CSS là duy nhất cho mọi yếu tố theo thiết kế, bạn có thể tìm thấy nhiều kết quả khi tìm kiếm qua tên lớp. Hơn nữa, khi bạn tìm kiếm qua đường dẫn DOM của phần tử, bạn có thể chắc chắn về những gì bạn đang tìm kiếm.


Bạn có biết: sự khác biệt giữa FindEuity và Findelements? Tìm ra.Difference between findElement and findElements? Find out.


Điều hướng qua các cửa sổ và khung

Ứng dụng web của bạn có thể yêu cầu bạn làm việc với nhiều cửa sổ và khung. Các trường hợp sử dụng phổ biến làm việc trên các cửa sổ mới là đăng nhập xã hội và tải lên tệp. Phương thức .switch_to_window () của trình điều khiển sẽ giúp bạn thay đổi cửa sổ hoạt động và thực hiện các hành động khác nhau trong một cửa sổ mới. Mã chuyển trọng tâm sang cửa sổ mới là:.switch_to_window() method of the driver will help you to change the active window and work on different actions in a new window. The code that switches focus to a new window is:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
3

Nếu giá trị không được lưu trữ trong thuộc tính đích, bạn có thể sử dụng tay cầm cửa sổ, xác định duy nhất tất cả các cửa sổ mở trong trình điều khiển của bạn. Để xem danh sách tất cả các tay cầm cửa sổ, hãy chạy như sau:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
4

Tương tự, bạn có thể chuyển trọng tâm sang khung trong cửa sổ thông qua phương thức .switch_to_frame (). Để chuyển trở lại cửa sổ chính sau khi hoàn thành các hành động có liên quan, hãy chạy như sau. .switch_to_frame() method. To switch back to the primary window after completing relevant actions, run the following.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
5

Lưu ý rằng tất cả các hành động trong phần này thay đổi trạng thái của trình điều khiển và không trả lại bất cứ điều gì. Do đó, chúng tôi không lưu trữ các giá trị trong một biến và thay vào đó gọi các phương thức.

Làm việc với thời gian nhàn rỗi trong một bài kiểm tra

Mặc dù chúng tôi đã xem xét các thử nghiệm khác nhau trong các ứng dụng web tĩnh, một ứng dụng một trang có thể yêu cầu bạn chờ đợi một thời gian cụ thể cho đến khi bạn thực hiện một hành động.

Có hai loại chờ đợi trong selen: chờ đợi và rõ ràng. Chờ đợi rõ ràng làm cho tài xế của bạn chờ đợi một hành động cụ thể được hoàn thành (như tải nội dung bằng AJAX). Một sự chờ đợi ngầm làm cho người lái xe chờ đợi một thời gian cụ thể.

Để chờ đợi rõ ràng, bạn cần sử dụng một khối cố gắng cuối cùng vì nó có khả năng làm cho bài kiểm tra của bạn bị mắc kẹt trong trường hợp xấu nhất. Về cơ bản, bạn hướng dẫn người lái xe đợi một phần tử nhất định trong một thời gian xác định trước khi buông tay.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
6

Đầu tiên, sử dụng hàm webDriverWait () để bảo người lái xe chờ số lượng năm giây. Sau đó, bạn kiểm tra một phần tử mới được tải bằng phương thức .presence_of_element_located () của lớp dự kiến_conditions, mà bạn có thể truy vấn qua by.id. Bạn muốn hiểu thêm về các điều kiện mong đợi trong selenium?WebDriverWait() function to tell the driver to wait for an amount of five seconds. You then test for a new element to be loaded using the .presence_of_element_located() method of the expected_conditions class, which you can query through By.ID. Want to understand more about ExpectedConditions in Selenium?

Trong một sự chờ đợi ngầm, bạn cần sử dụng phương thức .Implicitly_wait () của trình điều khiển và cung cấp số giây để người lái chờ đợi..implicitly_wait() method of the driver and supply the number of seconds for the driver to wait.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
7

Cách tích hợp selen với các bài kiểm tra đơn vị Python

Chúng ta hãy cố gắng hiểu cách tích hợp các thử nghiệm selen vào các bài kiểm tra đơn vị Python. Với mục đích này, chúng tôi sẽ sử dụng mô -đun kiểm tra đơn vị trong Python.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
8

Trong ví dụ này, bạn cần thiết lập đối tượng trình điều khiển khi khởi tạo lớp kiểm tra đơn vị thông qua phương thức .Chrom (). Trong thử nghiệm duy nhất mà chúng tôi chứng minh, cùng một văn bản được đặt trên thanh tìm kiếm và sự thay đổi kết quả trong URL được so sánh với URL được nhìn thấy trước đó. Bạn cũng có thể viết một bài kiểm tra khác cho một trình duyệt khác và sử dụng lại cùng một chức năng..Chrome() method. In the single test that we demonstrate, the same text is put on the search bar and the resultant change in URL is compared to the URL that was seen earlier. You may additionally write a different test for a different browser and reuse the same functionality.

Cách chạy các bài kiểm tra selen bằng Python trên BrowSerstack

Để chạy Selenium trên các thiết bị thực thông qua BrowSerstack, bạn cần đăng ký trên BrowSerstack trước.

Mẹo chuyên nghiệp: Bạn muốn đi sâu hơn vào việc triển khai Selenium trên BrowSerstack với các khóa học tương tác miễn phí và các bài tập trong phòng thí nghiệm? Ghé thăm Đại học Thử nghiệm Want to dive deeper into Selenium implementation on BrowserStack with free interactive courses and lab exercises? Visit Test University

Khi đăng nhập, chọn Browserstack Automate và đặt kết hợp trình duyệt thiết bị mà bạn muốn chạy thử nghiệm. Sau đó, bạn được hiển thị mã mẫu để sao chép và chạy từ thiết bị đầu cuối của bạn để chạy thử nghiệm của bạn.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
9

Hãy thử thử nghiệm selen từ xa với Python

Chúng ta hãy dành một chút thời gian để xem sự khác biệt so với những gì chúng ta đã thảo luận cho đến nay trong bài viết này.

  • Đầu tiên, bạn sẽ nhận thấy rằng thử nghiệm được thực hiện trên một máy chủ từ xa chứ không phải trên máy cục bộ của bạn. Do đó, bạn đang sử dụng phương thức .Remote () để gọi một URL cụ thể với các cài đặt mà bạn cần. Selenium Server được cài đặt trên đám mây Browserstack, chăm sóc việc khởi tạo trình duyệt và thiết bị có liên quan để bạn kiểm tra. Khi trình điều khiển được bắt đầu, bạn đã quen thuộc với phần còn lại của các lệnh..Remote() method to call a specific URL with the settings that you need. Selenium Server is installed on the BrowserStack cloud, which takes care of the initialization of the relevant browser and device for you to test on. Once the driver is initiated, you are familiar with the rest of the commands.

Bạn có biết: sự khác biệt giữa Selenium Standal Server và Selenium Server không? Tìm ra. Difference between Selenium Standalone Server and Selenium Server? Find out.


Sau đây là đầu ra của mã, như mong đợi. Browserstack cho phép bạn xem video thử nghiệm được thực hiện trên thiết bị trong thời gian thực từ bảng điều khiển của bạn.

driver = webdriver.Chrome('./chromedriver')
0

Hạn chế với các bài kiểm tra Selenium Python

Mặc dù selen giúp bạn tự động hóa các bài kiểm tra và tiết kiệm thời gian quý báu, nhưng nó có những hạn chế của nó. Ngay cả với một bộ thử nghiệm mạnh mẽ như vậy, bạn sẽ thường thấy mình ở một vị trí khó xử do tính chất luôn thay đổi của các công nghệ mặt trước.

Dưới đây là năm thách thức hàng đầu mà một người phải đối mặt khi tự động hóa quá trình thử nghiệm với selen.

Suy nghĩ cuối cùng

Bài viết này bao gồm các kỹ thuật khác nhau để tự động hóa quá trình thử nghiệm trình duyệt chéo của bạn thông qua selenium bằng Python. Nó đã thảo luận về các khía cạnh khác nhau của thử nghiệm python seleniumwebdriver như hỗ trợ trình duyệt, điều hướng dom, chờ đợi và kiểm tra đơn vị.

Ngay cả với tất cả kiến ​​thức về cách thức hoạt động của khung selen, khung thử nghiệm của bạn chỉ mạnh mẽ như các thử nghiệm bạn thiết kế. Tự động hóa quá trình thử nghiệm tiết kiệm rất nhiều thời gian trong quá trình thử nghiệm, vì vậy bạn nên đảm bảo rằng bạn dành thời gian đáng kể để thiết kế các thử nghiệm để nắm bắt tất cả các kịch bản có thể. Nó luôn luôn tốt hơn để bắt một lỗi trong giai đoạn thử nghiệm thay vì dẫn đến khiếu nại của khách hàng.

Selenium WebDriver đã làm cho việc kiểm tra tự động hóa dễ dàng và hiệu quả hơn bao giờ hết. Bằng cách sử dụng Python để tạo tập lệnh kiểm tra, thật dễ dàng để thực hiện kiểm tra UI tự động cho các ứng dụng. Điều này rất hữu ích, đặc biệt là khi các chu kỳ phát triển ngắn và các tính năng phải được thêm vào cứ sau vài tuần để theo kịp nhu cầu của người dùng.

Selenium được khuyến khích rộng rãi do tính linh hoạt mà nó cung cấp. Nó hỗ trợ các nền tảng chính như Windows, Linux, v.v. và các trình duyệt như Chrome, IE, Edge, Firefox và Safari cũng như nhiều tập lệnh như Ruby, Perl, C#, Python, Java và JavaScript.

Để cung cấp một ứng dụng với trải nghiệm người dùng tối ưu, hãy sử dụng các công cụ dựa trên đám mây & NBSP; như BrowSerstack tự động cung cấp quyền truy cập vào hơn 3000 trình duyệt và thiết bị thực để kiểm tra. Kiểm tra trên một thiết bị thực sự đám mây & nbsp; để cung cấp trải nghiệm đa nền tảng liền mạch thông qua thử nghiệm chính xác. Kể từ khi thử nghiệm trên & nbsp; Cloud selenium Grid & nbsp; Take & nbsp; Điều kiện người dùng thực & NBSP; tài khoản, nó giúp xác định các tắc nghẽn và cung cấp trải nghiệm người dùng liền mạch và nhất quán trên các trình duyệt và thiết bị khác nhau.

Chạy các bài kiểm tra Selenium Python trên các thiết bị thực

Selenium kết nối với Python như thế nào?

Có các bước sau để định cấu hình selen bằng Python:..
Tải xuống và cài đặt Python trên Windows ..
Cài đặt thư viện selen trong Python ..
Tải xuống và cài đặt Pycharm ..
Tạo một dự án mới và viết tập lệnh kiểm tra selen ..
Chạy và xác thực các tập lệnh kiểm tra ..

Làm cách nào để chạy mã python trong selen?

Cách chạy các bài kiểm tra selen đầu tiên của bạn với Python: ví dụ..
Đầu tiên nhập các lớp WebDriver và khóa từ Selenium.....
Tiếp theo, tạo một thể hiện Chrome với đường dẫn của trình điều khiển mà bạn đã tải xuống qua các trang web của trình duyệt tương ứng.....
Tiếp theo, sử dụng.....
Khi trang tải thành công, bạn có thể sử dụng ..

Chúng ta có thể sử dụng Python trong selen không?

Selenium hỗ trợ Python và do đó có thể được sử dụng làm Selenium WebDriver với Python để thử nghiệm.Python dễ dàng so với các ngôn ngữ lập trình khác, có ít dài dòng hơn.API Python trao quyền cho bạn kết nối với trình duyệt thông qua Selenium.

WebDriver Python selenium là gì?

Selenium WebDriver là một công cụ thử nghiệm tự động hóa.Khi tôi nói tự động hóa, nó có nghĩa là nó tự động hóa các tập lệnh kiểm tra được viết bằng selen.Cài đặt WebDriver.Chrome: https://sites.google.com/a/chromium.org/chromedriver/doads.an automation testing tool. When I say automation, it means it automates test scripts written in Selenium. Webdriver Install. Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads.