欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker部署UI自動化測試環(huán)境的實現(xiàn)步驟

 更新時間:2023年08月29日 11:34:05   作者:敲代碼敲到頭發(fā)茂密  
本文主要介紹了Docker部署UI自動化測試環(huán)境的實現(xiàn)步驟,通過Docker可以快速創(chuàng)建、部署和測試腳本,提高測試效率,具有一定的參考價值,感興趣的可以了解一下

一、分布式自動化測試要解決什么問題?

分布式自動化測試要解決什么問題?
1、減少腳本執(zhí)行耗時
2、減少對單機(jī)器的資源消耗
3、實現(xiàn)分布式兼容性測試

分布式自動化測試實現(xiàn)重點:
1、控制多機(jī)器并行運行,資源監(jiān)控
2、測試用例執(zhí)行順序控制
3、測試報告收集合并

縱觀開源技術(shù),拿現(xiàn)在最流行的selenium\docker 來實踐分布式自動化測試框架。

selenium grid是selenium的三大組件之一,它的作用就是分布式測試執(zhí)行,它是由一個hub節(jié)點和若干個node代理節(jié)點組成,Hub用來管理各個代理節(jié)點的注冊信息和狀態(tài)信息,并且接受遠(yuǎn)程客戶端代碼的請求調(diào)用,然后把請求的命令轉(zhuǎn)發(fā)給代理節(jié)點來執(zhí)行。

Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器或Windows 機(jī)器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。

二、分布式環(huán)境搭建

1、環(huán)境準(zhǔn)備

準(zhǔn)備一臺 Linux 服務(wù)器(云服務(wù)器、自建 Linux 服務(wù)器都可以)。
在 Linux 服務(wù)器上安裝 docker,docker安裝就不講了,照著官網(wǎng)的命令來就可以了,很簡單的。

2、創(chuàng)建容器

利用容器技術(shù)我們可以快速的構(gòu)建我們selenium hub和node 環(huán)境,其實selenium官網(wǎng)已經(jīng)為我們制作好了鏡像,我們只需要在docker環(huán)境中拉取即可,以下為selenium官網(wǎng)為我們提供的鏡像名稱

拉取hub鏡像
拉取chrome瀏覽器鏡像
拉取firefox瀏覽器鏡像

sudo docker pull selenium/hub
sudo docker pull selenium/node-chrome
sudo docker pull selenium/node-firefox

3、啟動容器

啟動hub節(jié)點的docker

-d:后臺運行容器
-p:5442-5444:4442-4444:端口號一一映射,其中4444為web服務(wù)
5442,5443:node節(jié)點與hub節(jié)點用例通信的

docker run --name hub -d -p 5442-5444:4442-4444 selenium/hub

-p:5902:5900:作用是訪問瀏覽器的圖形界面
vnc 是linux的圖形界面服務(wù),遠(yuǎn)程桌面服務(wù)
-e:環(huán)境變量
SE_EVENT_BUS_HOST:指定主節(jié)點的ip地址
SE_NODE_MAX_SESSIONS=20:最多啟動20個session(20個瀏覽器)

啟動hub節(jié)點的docker

sudo docker run --name node -p 5902:5900 -d -e \
SE_EVENT_BUS_HOST=82.156.178.247 -e SE_NODE_MAX_SESSIONS=20 -e \
SE_NODE_OVERRIDE_MAX_SESSIONS=true -e SE_EVENT_BUS_PUBLISH_PORT=5442 \
-e SE_EVENT_BUS_SUBSCRIBE_PORT=5443 -v /dev/shm:/dev/shm selenium/node-chrome
sudo docker run --name node -p 5903:5900 -d -e \
SE_EVENT_BUS_HOST=82.156.178.247 -e SE_NODE_MAX_SESSIONS=20 -e \
SE_NODE_OVERRIDE_MAX_SESSIONS=true -e SE_EVENT_BUS_PUBLISH_PORT=5442 \
-e SE_EVENT_BUS_SUBSCRIBE_PORT=5443 -v /dev/shm:/dev/shm selenium/node-firefox

4、查看容器運行狀態(tài)

CONTAINER ID   IMAGE                  COMMAND                  CREATED       STATUS          PORTS                                                                                                                             NAMES
0da5ef1265e4   selenium/node-chrome   "/opt/bin/entry_poin…"   2 days ago    Up 5 minutes    0.0.0.0:5902->5900/tcp, :::5902->5900/tcp                                                                                         node
40456e0d4363   selenium/hub           "/opt/bin/entry_poin…"   2 days ago    Up 5 minutes    0.0.0.0:5442->4442/tcp, :::5442->4442/tcp, 0.0.0.0:5443->4443/tcp, :::5443->4443/tcp, 0.0.0.0:5444->4444/tcp, :::5444->4444/tcp   hub

5、查看Selenium hub 、node 啟動狀態(tài)

在這里插入圖片描述

6、啟動VNC Server

連接我們啟動的容器IP:PORT,密碼默認(rèn)為sercet

在這里插入圖片描述

在這里插入圖片描述

到此,我們自動化測試的運行環(huán)境已經(jīng)配置完畢,接下來看我們自動化測試腳本如何設(shè)計

7、測試腳本

from selenium import webdriver
import time
# 配置信息
from selenium.webdriver.common.by import By
ds = {
    'platform': 'ANY',  # 平臺(操作系統(tǒng))信息
    'browserName': 'chrome',  # 配置瀏覽器信息,谷歌瀏覽器
    'version': '',
    'javascriptEnabled': True
}
driver = webdriver.Remote('http://82.156.178.247:5444', desired_capabilities=ds)
driver.get('http://www.baidu.com')
driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys("中國")
driver.find_element(By.XPATH, '//*[@id="su"]').click()
time.sleep(3)
driver.quit()

在這里插入圖片描述

 到此這篇關(guān)于Docker部署UI自動化測試環(huán)境的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker部署UI自動化測試環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker 部署prometheus+grafana的過程詳解

    docker 部署prometheus+grafana的過程詳解

    這篇文章主要介紹了docker 部署prometheus+grafana的過程,本文通過示例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Docker容器host與none網(wǎng)絡(luò)的使用

    Docker容器host與none網(wǎng)絡(luò)的使用

    本文主要介紹了Docker容器host與none網(wǎng)絡(luò)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • 使用docker快速部署Nginx、Redis、MySQL、Tomcat及制作鏡像的方法

    使用docker快速部署Nginx、Redis、MySQL、Tomcat及制作鏡像的方法

    這篇文章介紹了如何使用Docker快速部署Nginx、Redis、MySQL、Tomcat以及制作鏡像的過程,它涵蓋了從基礎(chǔ)鏡像的使用、Dockerfile的編寫到應(yīng)用的構(gòu)建和部署的詳細(xì)步驟,通過本文,可以掌握如何利用Docker簡化應(yīng)用的部署和管理,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • docker拷貝文件到主機(jī)及導(dǎo)入導(dǎo)出容器及運行導(dǎo)出容器方式

    docker拷貝文件到主機(jī)及導(dǎo)入導(dǎo)出容器及運行導(dǎo)出容器方式

    這篇文章主要介紹了docker拷貝文件到主機(jī)及導(dǎo)入導(dǎo)出容器及運行導(dǎo)出容器方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mac下docker 安裝 ES的詳細(xì)過程

    mac下docker 安裝 ES的詳細(xì)過程

    這篇文章主要介紹了mac下docker 安裝 ES的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Docker容器化spring boot應(yīng)用詳解

    Docker容器化spring boot應(yīng)用詳解

    本篇文章主要介紹了Docker容器化spring boot應(yīng)用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • CentOS修改docker鏡像存儲位置并進(jìn)行數(shù)據(jù)遷移的操作方法

    CentOS修改docker鏡像存儲位置并進(jìn)行數(shù)據(jù)遷移的操作方法

    本文詳細(xì)介紹了在CentOS上修改Docker鏡像存儲位置并進(jìn)行數(shù)據(jù)遷移的步驟,包括停止Docker服務(wù)、創(chuàng)建新的存儲目錄、復(fù)制現(xiàn)有數(shù)據(jù)、修改Docker配置、重啟Docker服務(wù)、驗證配置、清理舊數(shù)據(jù)(可選)以及檢查容器和鏡像,感興趣的朋友一起看看吧
    2025-01-01
  • docker安裝部署zabbix的全過程

    docker安裝部署zabbix的全過程

    zabbix由2部分構(gòu)成,zabbix?server與可選組件zabbix?agent,要想搭建一個Zabbix的工作環(huán)境,主要有三個方面(界面、服務(wù)器和數(shù)據(jù)庫)可以安裝在同一臺服務(wù)器上,也可以不在同一個服務(wù)器,本次使用Docker開源的應(yīng)用容器來快速搭建zabbix,需要的朋友可以參考下
    2024-03-03
  • 使用docker compose一鍵部署多個服務(wù)的方法

    使用docker compose一鍵部署多個服務(wù)的方法

    docker compose 是 docker 官方的開源項目,用來實現(xiàn)對 docker 容器集群的快速編排,通過docker-compose可以一鍵創(chuàng)建和刪除多個容器 ,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-01-01
  • docker鏡像倉庫hub.docker.com無法訪問的解決方法

    docker鏡像倉庫hub.docker.com無法訪問的解決方法

    最近許多群友都詢問為什么無法訪問Docker鏡像倉庫,本文就來介紹一下docker鏡像倉庫hub.docker.com無法訪問的解決方法,感興趣的可以了解一下
    2023-08-08

最新評論