日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

打造轻量级自动化测试框架WebZ

發布時間:2024/1/18 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 打造轻量级自动化测试框架WebZ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:Noah Zhang

出處:http://www.cnblogs.com/noahzn/

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利.

?

一、什么是WebZ

WebZ是我用Python寫的“關鍵字驅動”的自動化測試框架,基于WebDriver。

設計該框架的初衷是:用自動化測試讓測試人員從一些簡單卻重復的測試中解放出來。之所以用“關鍵字驅動”模式是因為我覺得這樣能讓測試人員(測試執行人員)快速上手,無需編寫代碼也能執行自動化測試。

?

二、為啥開源

WebZ的開發用到了一些現有的開源項目,我很感謝這些開源項目的作者,希望自己也能成為一名開源者,和大家分享自己的成果,一起交流技術、一起成長。

該項目的GitHub地址:https://github.com/noahzn/WebZ

?

三、開源說明

?

# Portions copyright (c) 2014 ZMAN(ZhangNing) # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # Name: WebZ # Description: keyword-driven automated testing framework # Author: ZMAN(ZhangNing) # # This project also uses some third-party modules: # # selenium: Licensed under the Apache License, Version 2.0 (the "License"); # Copyright 2008-2013 Software Freedom Conservancy. # # splinter: Licensed under the BSD License; # Copyright 2012 splinter authors. All rights reserved. # # reportlab: Licensed under the BSD License; # Copyright ReportLab Europe Ltd. 2000-2014. # # xlrd: Licensed under the BSD License; # Portions copyright 2005-2009, Stephen John Machin, Lingfo Pty Ltd. All rights reserved. #

?

?

四、使用方法

1.將 chromedriver.exe 放置在任意位置,添加到系統環境變量中。

2.將編寫完成的自動化測試用例文件“case.xlsx”放在 D 盤根目錄下。

3.運行WebZ.exe。若用例被正確執行,會在 D:\WebZ 目錄下找到測試報告。

注:該程序在Win7 x64環境下打包而成。

?

示例:

測試用例(case.xlsx):

?

如上圖所示,這個文件包含兩條測試用例,向大家展示了一些WebZ中基礎的關鍵字。關于關鍵字的詳細定義,請參見附錄。

編寫測試用例的人員如果懂得一些前端知識,那就很贊了,不了解也沒關系,現在很多瀏覽器都有“元素審查”功能。以Chrome為例,按F12進入審查元素模式,點擊“放大鏡”圖標。

?

然后點擊你想要操作的元素,如“百度一下”按鈕,此時瀏覽器就會高亮元素信息,直接右鍵復制CSS或XPATH即可,然后和WebZ提供的關鍵字相結合就可以對元素進行操作啦。

?

我們來跑一下這兩條用例,自動生成測試報告(如果有未通過的用例,會列出失敗步驟):

(好吧,本來報告內容是中文的,因為我發到GitHub了,所以我把這些中文都改成了英文,國際化嘛……)

?

五、實現解析

如果你想要在Python開發環境中運行WebZ,請使用Python3,你還需要安裝以下幾個開源庫:reportlab、xlrd、selenium、splinter。

WebZ結構大致是這樣的:

?

讀取excel中的用例進行格式預處理、分段,讀取定義的關鍵字,通過WebDriver進行分類處理,同時捕捉失敗信息(如果用例執行失敗,會再次嘗試,共嘗試三遍),最后生成報告。

當時設計WebZ時,構思就是這是一個輕量級的WEB自動化測試框架,但是要保留可擴充性的特點,主要可以對關鍵字進行自行擴充和封裝。

“自動化測試是將一些重復性高卻又簡單的手動測試自動化,而不是要取代自動化。實行自動化測試前要考慮實現成本和收益情況”——好吧,這句話是我說的,我目前的個人觀點~歡迎探討 :)

?

?

?

-----------------------------------------------------------------

?

附錄:

WebZ?關鍵字一覽

1.?打開網頁|(直接填網址)

如:打開網頁|www.baidu.com(注:網址不含http://)

2.?點擊|方法@@控件名方法支持:id、css、xpath

如:點擊|xpath@@ti[2]>ao[3]>ca[0]

3.?填寫|方法@@控件名@@文字方法支持:id、css、xpath

如:填寫|id@@textbox1@@我愛測試

4.?后退

5.?刷新

6.?截圖

7.?等待

等待兩秒

8.?點擊文字|(直接寫文字)

如:點擊文字|了解詳情

9.?前往|(直接寫網址)

如:前往|www.baidu.com

10.?驗證|方法@@文字方法支持:url、css、xpath、text

如:驗證|url@@www.yiban.cn

又如:驗證|text@@歡迎

11.?鼠標移至|方法@@文字方法支持:css、xpath

如:鼠標移至|css@@img1

(該方法用于一些含有動畫的控件,因為有些控件鼠標移到上面就會發生變化,而無需點擊。)

12.?處理警告|是(或否)???(V0.0.3新增)

13.?切換窗口|最新(或數字)???(V0.0.3新增)

如:切換窗口|最新

又如:切換窗口|3

?

附代碼:WebZ-master

總結

以上是生活随笔為你收集整理的打造轻量级自动化测试框架WebZ的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。