構建Web UI 自動化測試環境(3)

發表于:2015-11-30來源:IBM作者:沈 銳點擊數: 標簽:
在容器中創建目錄 /var/svn/repos(mkdir -p /var/svn/repos),并基于該目錄創建 Subversion 資源庫(svnadmin create /var/svn/repos)。 在資源庫目錄下的 svnserve.conf 文件中刪除

  在容器中創建目錄 /var/svn/repos(mkdir -p /var/svn/repos),并基于該目錄創建 Subversion 資源庫(svnadmin create /var/svn/repos)。

  在資源庫目錄下的 svnserve.conf 文件中刪除“password-db = passwd”前面的注釋符 #,并在 passwd 文件中添加一行“shenrui = password”。

  用命令“docker commit mysvn”把上面所做的修改保存下來創建一個新鏡像 mysvn。

  最后,用命令“docker run -t -d -p 3690:3690 --name mysvn mysvn svnserve -d --foreground -r /var/svn/repos”啟動 mysvn 容器。啟動時,添加容器到主機的端口映射“-p 3690:3690”以便之后直接通過主機 IP 提交測試腳本。

  至此,Docker 上有兩個正在運行的容器(docker ps),名字分別是 myjenkins 和 mysvn。

  準備 Sahi 測試腳本

  為實例編寫的 Sahi 測試腳本是針對developerWorks 中國網站做的一些簡單測試。目錄結構如下圖。Downloads.sah 和 topics.sah 分別點擊首頁上的“軟件下載”和“技術主題”鏈接,然后驗證跳轉后的頁面的標題。Search.sah 在首頁的搜索框中輸入 docker 并對搜索結果頁面進行簡單驗證。Mytest.suite 是一個測試套件文件,用來包含其他三個測試腳本。

  圖 7. Sahi 測試腳本目錄

  run_tests.sh 的文件內容如下。它首先調用 init.sh 啟動 Xvfb 和 Sahi,然后觸發測試腳本的運行。命令中指定了 JUnit 報表的輸出路徑和 Sahi 自身的 HTML 報表的輸出路徑。

  圖 8. run_tests.sh 文件內容

  將測試腳本提交到 Docker 的 Subversion 容器(svn://172.17.42.1/mytest)。

  配置 Jenkins

  首先,安裝兩個 Jenkins 插件:

  Docker Plugin

  該插件能夠集成 Jenkins 與 Docker。其功能前文已有描述。

  HTML Publisher Plugin

  該插件用以發布構建生成 HTML 報表,方便日后查看。

  接下來,要開啟 Docker 的 TCP 監聽端口。開啟的方法在不同的系統上有所不同。本實例 Docker 主機為 RHEL 6.5。開啟的方法是在/etc/sysconfig/docker 中設置 other_args="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock",然后運行“service docker restart”重啟 Docker 服務。CoreOS 上的開啟方法請參見Customizing docker。

  進入 Jenkins 的系統配置頁面(Manager Jenkins>Configure System),在最底部比之前增加了一個 Cloud 的部分。點擊 Add a new cloud,選擇 Docker 添加一個 Docker 主機。這里,因為 Jenkins 運行在 Docker 的容器里,直接用私有 IP(ifconfig 里 docker0 對應的 IP)加端口 4243 填寫 Docker URL 輸入域。

  圖 9. Docker Cloud 配置

  Figure xxx. Requires a heading

  接下來,添加 Docker 鏡像。

  圖 10. Docker 鏡像配置

  建議將 Jenkins Slave 的 workspace 目錄映射到 Docker 主機的一個文件夾,這樣 workspace 的內容才能持久保存,并且從 Subversion 或者其他版本控制軟件更新代碼的時候才會以增量方式更新。在該實例中,配置如下。

  圖 11. Docker 鏡像 Volumes 配置

  同之前在啟動 Jenkins 容器部分講到的一樣,必須修改主機上的目錄的權限,以確保容器能夠對其讀寫。

  現在,可以創建 Jenkins Job 了。

  圖 12. Job 配置 – Docker 容器部分

  此時,Job 配置的頁面里比之前增加了一個 Docker Container 的部分。在 Label Expression 里輸入“docker”與之前定義的 shenrui/sahi 鏡像綁定 (該輸入域的值與鏡像配置里的 Labels 輸入域值相同)。

  Source Code Management 部分,選擇 Subversion,并填入之前在 Subversion 容器上創建的資源庫 URL。

  圖 13. Job 配置 – 源代碼管理部分

原文轉自:http://www.uml.org.cn/Test/201507314.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97