999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web自動化測試的驗證碼生成與應用

2021-11-21 20:41:54王松趙寧社武鵬博
企業科技與發展 2021年11期
關鍵詞:模式識別

王松 趙寧社 武鵬博

【關鍵詞】神經網絡;驗證碼生成;模式識別

【中圖分類號】TP311.5 【文獻標識碼】A 【文章編號】1674-0688(2021)10-0043-03

0 引言

互聯網為人類的異地交流提供了通信的可能性和實現手段,在線交流、電子支付這些方法走入人們工作和生活的日常,成為我們生活的一部分。在大多數人享受便利的同時,也有少數不法分子利用這些手段進行非正當的互聯網使用,比如充當水軍對目標網站輸入大量惡意評論、惡意注冊和占用網絡資源等。為了維持網站的正常運營、保障其正常服務,設計人員可以在用戶的網站資源使用環節中加入驗證碼識別,比如進行用戶注冊、修改用戶資料、發表留言等操作時,需要用戶手動輸入,這樣就能避免受到相當一部分自動化軟件的攻擊。

驗證碼技術實際上是為了在不知情的情況下鑒別人與機器的技術,英文簡稱是CAPTCHA,即Completely Automated Public Turing test to tell Computers and Humans Apart,就是全自動區分計算機和人類的圖靈測試[1-2]。驗證碼的實現方式一般分為兩種,即“讀取式”和“生成式”[3-4]。由于簡單的驗證碼已經不能滿足需求,為了增加驗證碼被識別的難度,人們開始加入扭曲字符,或者加入線段和各種“斑點”用于增加機器識別的難度,同時出現了運算公式之類的驗證碼,使得機器“看懂”驗證碼的難度增大了很多。

與此同時,驗證碼的使用也給Web自動化測試帶來了相當大的挑戰——在區別遠程用戶是人類還是計算機的同時,也切斷了計算機的進入,而在現代化軟件工程的實施過程中,常常會用到自動化的手段進行測試。以目前的技術還不能區分自動化測試與自動化攻擊的訪問手段,或者說從現象上看,從服務器角度來看這兩者是一樣的。那么,為了正常進行自動化測試,只能依靠在軟件中加入驗證碼識別的環節,提高驗證碼識別準確率就成為提高Web自動化測試效率的重要保障。

1 Web自動化測試技術

自動化軟件測試就是把以人力為主的軟件測試工作用計算機自動執行的機器工作方式的過程。Web自動化測試就是對于基于Web頁面工作的軟件進行自動化測試的技術,它不僅能節約人力、財力和資源成本,而且能節約時間成本,從而大大提高軟件的測試效率。隨著軟件生產的工程化、規模化,測試流程的不斷規范化,以及軟件測試技術逐步精細化,自動化軟件測試已經成為軟件工程開發中的一種重要手段。自動化測試可以分為單元測試、集成測試及系統測試等層次,每個層次都有其實現的框架技術。

Web自動化測試依賴的方法通常包括Web頁面元素定位、獲取用戶操作行為及模擬用戶操作行為。其中,Web頁面元素定位常用的頁面元素屬性有id、name、classname、linktext、XPath和CSS Selector等,即依據元素屬性的唯一性或者局部唯一性通過某種方法查找Web頁面元素,比如標簽、文本框、超鏈接等。獲取用戶操作是通過讀取頁面事件捕捉在頁面上發生的某種操作,比如按鍵上的鼠標單擊、懸停、按鍵等;模擬用戶操作則是通過軟件手段模擬用戶頁面上的單擊、鍵盤按鍵、文本框輸入等操作。執行Web自動化測試通常需要依賴一個運行Web頁面加載的軟件組件,如WebDriver。

2 基于神經網絡的驗證碼技術

在神經網絡學習中,通常為了提高網絡的性能,常規做法就是增加網絡深度與寬度,但也會帶來一定的影響,比如巨大的參量增加了處理的復雜性,并且當輸入的數據量不夠大時,目標網絡容易出現過擬合;當網絡深度增加到一定程度時,就會失去梯度遞變帶來的優勢,即所謂的梯度消失現象,而inception網絡則能較好地解決上述問題。

2.1 inception結構神經網絡介紹

神經網絡是由大量節點或神經元組成的操作模型[5],每個節點代表一個特定的輸出函數,稱為激活函數[6]。網絡的輸出根據網絡的連接、權值和激勵功能的不同而不同。網絡本身通常是某種算法或函數的近似或者是邏輯策略的表達式。神經網絡是一種機器學習算法,它可以通過結構網絡實現對非線性問題的無限逼近。近年來,基于卷積神經網絡(CNN)的算法用于從視覺數據中確定物體的精確位置,具有更高的工作效率[7]。

卷積神經網絡是一種多層結構的前饋神經網絡,它的結構包括卷積層、池化層與激活函數,其特點是可以把圖片數據作為一個整體進行特征識別[8-10]。卷積層由卷積核形成,通過各個卷積核提取圖像的特定特征。

2.2 應用卷積神經網絡的識別

卷積神經網絡應用在圖像識別的基本原理如下:首先,由卷積層提取圖片的特征,比如最初一層卷積用來提取線條、邊緣等特征,下一層卷積提取線條的組合特征,再往后每層都是提取前一層的融合特征,通過稀疏權重、等變表示及參數共享這樣的卷積運算提高效率。其次,有池化層對卷積層獲得的特征進行二次提取,主要是通過池化函數對指定位置的相鄰輸出總體統計特征代替網絡的輸出。最后,池化層之后的全連接層的每個神經元均與相鄰上層的神經元相連,最終傳遞給輸出層。

3 基于inception的ASCII碼集識別方法

為了實現驗證碼識別,最開始要對驗證碼進行分割,然后采取對單個字符進行識別,從而達到識別整張驗證碼的目的,但是研究人員在生成驗證碼的過程中發現一個問題,就是有很多驗證碼的字符是連在一起的(如圖1所示)。

實際上很難進行分割,因為每一個字符的邊界較難確定。因此,研究人員改變了思路,采用了多任務學習(Multitask Learning)的一種方式,這樣做就是可以把處理過的驗證碼照片放入網絡進行訓練,然后直接出來驗證碼中4個字符的預測結果,降低了整體的復雜度。圖片總的處理流程使用的是inception-v4模型網絡結構(如圖2所示)。

最后將獲得4個結果,對每個結果計算損失,然后求其算數平均,再調整參數對算數平均進行優化,使其總體達到一個完美的結果。整個網絡邏輯結構如下:我們訓練4個分類器,對應驗證碼中的4個字符,第一個輸出對應的是第一個字符的預測,其他的輸出以此類推,這樣就可以在使用過程中獲得方便。

還有一個問題是數據標注過程,在生成驗證碼的過程中,對圖片的命名就是圖片中字符,因此在寫標注程序的時候,就是對命名字符串的切割,然后將字符轉化成對應數字,本文在轉換成數字時用到的是ASCII碼,python中有計算出對應字符ASCLL碼的函數ord()。

3.1 樣本的生成

作為一個神經網絡的應用,第一步是找到數據集,本實驗所需要的數據集就是各種各樣的驗證碼,因此使用ImageCaptcha庫進行驗證碼的生成,研究人員生成了10 000張圖片的樣本,類似于圖3。

3.2 樣本的降噪處理

接下來是生成tf-record文件,在生成文件的過程中,研究人員進行了灰度處理(如圖4所示),即黑白圖片,也可以進行去噪處理,通過對圖片進行腐蝕操作(如圖5示),首先去掉其中的噪點,然后進行膨脹操作(如圖6所示)。

擴大變小的字母線條,從以上圖片中我們明顯看到驗證碼中的噪點消失,這為后續操作中對網絡準確率的提升打下了基礎。

圖像處理的目的有兩點:一是在不損壞原有圖片含義的情況下,減小圖片的計算大小,因為彩色圖片有3個通道(channel),但是色彩與實驗無關,所以研究人員進行灰度處理后,圖片就有一個channel,這樣就減少了網絡的計算。二是去掉圖像中的噪點,突出研究人員需要的特征。

對圖像進行標記,不同的字符有不同的數字與之對應,字符的順序可以自行定義,一旦定義完成就不可在標記的過程中改變,那么定義字符的數量就會作為網絡最后一層神經元的數量,注意這里是說每一個輸出的神經元的個數。同時,研究人員會在訓練的過程中將標記的數字轉化成tensorflow中one_hot的形式,便于用于網絡的訓練,輸出4個預測值,與標注的實際值進行對比,計算loss值,這里的計算采用交叉熵,使用的是Tensorflow中的softmax_cross_entropy_with_logits函數,本文采用的優化器是AdamOptimizer,當然也可以用其他優化器。

4 Web自動化測試中的驗證碼識別應用

對以上方法研究的基礎上,我們在Web自動化測試中可以應用圖像識別方法(如圖7所示),在程序中把某科研管理系統的頁面載入Web引擎測試,用輸入識別后的驗證碼并嘗試登錄,圖8是登錄成功的頁面。

5 結語

本文針對Web自動化測試中的驗證碼的應用實踐問題進行了部分驗證碼生成與識別研究。在分析Web軟件的自動化測試基本需求的基礎上,通過ImageCaptcha庫生成樣本數據集,進而搭建了一種基于inceptionv4的卷積神經網絡,對驗證碼進行圖像處理、降噪及標記,通過深度學習算法執行網絡訓練,得到識別結果,并通過具體實例給出了在Web自動化測試中對該方法的實際應用和驗證。此外,這種識別方式也可以擴展用于其他應用,比如車牌識別,可以取消傳統識別過程中一些步驟,例如字符切割,但是要注意車牌開頭的漢字需轉換成數字,而要轉成多少,取決于設計者定義。

本文的研究還存在不足之處,研究人員發現在訓練過程中需要的時間太長,可以根據實際需求構建簡單的網絡模型進行訓練。

參 考 文 獻

[1]田超雄.文本類驗證碼識別方法研究[D].西安:西北大學,2019.

[2]程莉莉.基于ELM算法的驗證碼軟件可用性研究[D].湘潭:湘潭大學,2016.

[3]楊彬.Web自動化測試中驗證碼的實現方法[J].信息技術與標準化,2010(11):39-41.

[4]司徒毅.基于LDA變換的驗證碼識別技術初探[J].廣東廣播電視大學學報,2009,18(1):102-108.

[5]邱意,陳勁杰.基于卷積神經網絡的鋅渣識別方法研究[J].軟件工程,2021,24(1):2-5.

[6]孫誠,王志海.社會網絡中基于神經網絡的鏈路預測方法[J].數學建模及其應用,2017,6(4):10-17.

[7]S. rubin bose VSK.Efficient Inception V2 Based D-eep Convolutional Neural Network for Real-time Hand Action Recognition[J].Iet Image Processing,2020,14(4):688-696.

[8]崔新,白培瑞,張策,等.一種基于端對端深度卷積神經網絡的驗證碼識別方法[J].山東科技大學學報(自然科學版),2020,39(2):111-117.

[9]王昊,康曉鳳,盧志科,等.基于深度學習的驗證碼識別Web應用平臺[J].軟件工程,2020,23(4):41-43.

[10]王海艷,董茂偉.基于動態卷積概率矩陣分解的潛在群組推薦[J].計算機研究與發展,2017,54(8):1853-1863.

猜你喜歡
模式識別
紫地榆HPLC指紋圖譜建立及模式識別
中成藥(2018年2期)2018-05-09 07:19:52
2019 IEEE計算機視覺與模式識別會議
UPLC-MS/MS法結合模式識別同時測定芪參益氣滴丸中11種成分
中成藥(2017年10期)2017-11-16 00:50:05
淺談模式識別在圖像識別中的應用
電子測試(2017年23期)2017-04-04 05:06:50
第四屆亞洲模式識別會議
基于可拓模式識別的孤島檢測研究
電測與儀表(2016年6期)2016-04-11 12:07:48
可拓模式識別算法中經典域的確定方法
第3屆亞洲模式識別會議
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
電氣設備的故障診斷與模式識別
河南科技(2014年5期)2014-02-27 14:08:35
主站蜘蛛池模板: 欧美黑人欧美精品刺激| 成人免费午夜视频| 狼友av永久网站免费观看| AV无码一区二区三区四区| 一级毛片免费观看久| 欧美a在线视频| 午夜性刺激在线观看免费| 国产美女丝袜高潮| 国内精品手机在线观看视频| 免费a在线观看播放| 久久性妇女精品免费| 国产h视频在线观看视频| 久99久热只有精品国产15| 激情综合五月网| 国产精品林美惠子在线播放| 手机成人午夜在线视频| 青青操国产| 无码一区二区三区视频在线播放| 亚洲无码精品在线播放| 国产91久久久久久| 米奇精品一区二区三区| 精品国产一二三区| 免费一级毛片不卡在线播放| 特级毛片8级毛片免费观看| 亚洲美女一区二区三区| 最新国产高清在线| 91久久夜色精品国产网站| 久久无码av三级| 8090午夜无码专区| 一区二区在线视频免费观看| 亚洲美女AV免费一区| 日本不卡视频在线| 最新加勒比隔壁人妻| 亚洲精品视频免费| 国产精品蜜芽在线观看| 日韩毛片免费| 69av免费视频| 精品视频在线一区| 欧美天堂在线| 中文字幕在线一区二区在线| 亚洲欧美日韩另类| 无码专区在线观看| 国产成人av大片在线播放| 美女被狂躁www在线观看| 综合色在线| 欧美日韩中文字幕在线| 中文字幕在线免费看| 手机永久AV在线播放| 毛片免费高清免费| 天天躁狠狠躁| 国产自在线拍| 青青热久免费精品视频6| 人与鲁专区| 最新无码专区超级碰碰碰| 日本午夜精品一本在线观看 | 鲁鲁鲁爽爽爽在线视频观看| 久久人人爽人人爽人人片aV东京热 | 国产精欧美一区二区三区| 中国精品久久| 精品视频在线观看你懂的一区| 麻豆国产原创视频在线播放| 综合亚洲网| 色偷偷男人的天堂亚洲av| 国产在线观看99| 亚洲天堂色色人体| 青青青草国产| 2021无码专区人妻系列日韩| 免费观看成人久久网免费观看| 国产精品专区第1页| 国产第一页免费浮力影院| 九一九色国产| 亚洲无线视频| 亚洲一区二区精品无码久久久| a级免费视频| 亚洲va欧美ⅴa国产va影院| 亚洲视屏在线观看| 午夜性刺激在线观看免费| 69精品在线观看| 色AV色 综合网站| 免费看的一级毛片| 亚洲精品卡2卡3卡4卡5卡区| 国产国产人成免费视频77777 |