成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Selenium自動化Web瀏覽器

系統 瀏覽器 后端 自動化
Selenium 是瀏覽器自動化的絕佳工具。使用 Selenium IDE,你可以錄制命令序列(如單擊、拖動和輸入),驗證結果并最終存儲此自動化測試供日后使用。

[[251266]]

Selenium 是瀏覽器自動化的***工具。使用 Selenium IDE,你可以錄制命令序列(如單擊、拖動和輸入),驗證結果并最終存儲此自動化測試供日后使用。這非常適合在瀏覽器中進行活躍開發。但是當你想要將這些測試與 CI/CD 流集成時,是時候使用 Selenium WebDriver 了。

WebDriver 公開了一個綁定了許多編程語言的 API,它允許你將瀏覽器測試與其他測試集成。這篇文章向你展示了如何在容器中運行 WebDriver 并將其與 Python 程序一起使用。

使用 Podman 運行 Selenium

Podman 是下面例子的容器運行時。有關如何開始使用 Podman 的信息,請參見此前文章

此例使用了 Selenium 的獨立容器,其中包含 WebDriver 服務器和瀏覽器本身。要在后臺啟動服務器容器,請運行以下命令:

  1. $ podman run -d --network host --privileged --name server docker.io/selenium/standalone-firefox

當你使用特權標志和主機網絡運行容器時,你可以稍后從在 Python 中連接到此容器。你不需要使用 sudo

在 Python 中使用 Selenium

現在你可以提供一個使用此服務器的簡單程序。這個程序很小,但應該會讓你知道可以做什么:

  1. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
  2.  
  3. server ="http://127.0.0.1:4444/wd/hub"
  4.  
  5. driver = webdriver.Remote(command_executor=server,
  6. desired_capabilities=DesiredCapabilities.FIREFOX)
  7.  
  8. print("Loading page...")
  9. driver.get("https://fedoramagazine.org/")
  10. print("Loaded")
  11. assert "Fedora" in driver.title
  12.  
  13. driver.quit()
  14. print("Done.")

首先,程序連接到你已經啟動的容器。然后它加載 Fedora Magazine 網頁并判斷 “Fedora” 是頁面標題的一部分。***,它退出會話。

需要 Python 綁定才能運行此程序。既然你已經在使用容器了,為什么不在容器中這樣做呢?將以下內容保存到 Dockerfile 中:

  1. FROM fedora:29
  2. RUN dnf -y install python3
  3. RUN pip3 install selenium

然后使用 Podman 在與 Dockerfile 相同的文件夾中構建容器鏡像:

  1. $ podman build -t selenium-python .

要在容器中運行程序,在運行容器時將包含 Python 代碼的文件作為卷掛載:

  1. $ podman run -t --rm --network host \
  2. -v $(pwd)/browser-test.py:/browser-test.py:z \
  3. selenium-python python3 browser-test.py

輸出看上去像這樣:

  1. Loading page...
  2. Loaded
  3. Done.

接下來做什么

上面的示例程序是最小的,也許沒那么有用。但這僅僅是最表面的東西!查看 SeleniumPython 綁定 的文檔。在那里,你將找到有關如何在頁面中查找元素、處理彈出窗口或填寫表單的示例。拖放也是可能的,當然還有等待事件。

在實現一些不錯的測試后,你可能希望將它們包含在 CI/CD 流程中。幸運的是,這是相當直接的,因為一切都是容器化的。

你可能也有興趣設置 grid 來并行運行測試。這不僅有助于加快速度,還允許你同時測試多個不同的瀏覽器。

清理

當你容器使用完后,可以使用以下命令停止并刪除獨立容器:

  1. $ podman stop server
  2. $ podman rm server

如果你還想釋放磁盤空間,請運行以下命令刪除鏡像:

  1. $ podman rmi docker.io/selenium/standalone-firefox
  2. $ podman rmi selenium-python fedora:29

總結

在本篇中,你已經看到使用容器技術開始使用 Selenium 是多么容易。它允許你自動化與網站的交互,以及測試交互。Podman 允許你在沒有超級用戶權限或 Docker 守護程序的情況下運行所需的容器。***,Python 綁定允許你使用普通的 Python 代碼與瀏覽器進行交互。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2011-01-20 10:17:25

ibmdwWeb

2022-06-04 07:13:20

黑客瀏覽器網絡攻擊

2011-04-27 13:25:35

瀏覽器

2023-12-21 11:12:31

Node.js.NET開源庫

2023-08-03 09:10:37

2019-02-20 11:19:52

Python 開發編程語言

2025-03-14 08:21:09

Puppeteer.NET開發者

2024-02-04 17:12:49

2013-11-22 09:58:36

2023-12-25 09:52:32

2023-02-15 08:21:22

2024-05-21 09:52:19

2014-03-13 13:58:44

瀏覽器虛擬化Web應用

2011-05-18 15:02:52

2016-06-02 13:22:12

LinuxWeb瀏覽器

2021-11-05 09:00:00

Selenium工具自動化測試

2021-02-04 09:00:00

跨瀏覽器移動測試工具

2012-03-29 10:57:12

Web自動化測試

2017-04-05 11:40:34

Min瀏覽器web噪音

2021-09-12 12:00:12

瀏覽器LinuxWeb 應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 高清av一区 | 日韩视频免费 | 精品亚洲永久免费精品 | 国产成人精品一区二区三区网站观看 | 日日碰碰| 国产欧美久久一区二区三区 | 日韩高清一区 | 国产精品美女久久久久aⅴ国产馆 | 国产精品久久久久av | 波多野结衣中文字幕一区二区三区 | 国产japanhdxxxx麻豆 | 日韩成人在线视频 | 性一区 | 精品国产乱码久久久久久闺蜜 | 亚洲精品一区久久久久久 | 91精品国产一区 | 综合久久久 | 久久精品这里精品 | 在线日韩精品视频 | 日韩欧美国产精品一区二区 | 性高湖久久久久久久久aaaaa | 久久久久久久亚洲精品 | 日日噜噜噜夜夜爽爽狠狠视频, | 情侣黄网站免费看 | 精品国产乱码久久久久久中文 | 午夜午夜精品一区二区三区文 | 日韩在线看片 | 亚洲电影第三页 | 精品区 | 久久久久久久久久久丰满 | 97久久久| 黄色一级免费看 | 欧美成年黄网站色视频 | 成人1区| 日韩精品视频中文字幕 | 日本不卡一区 | 99re99| 国产精品成人一区二区三区 | 天天操天天干天天透 | av一二三区 | 免费v片 |