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

Web自動化測試的驗證碼生成與應(yīng)用

2021-12-29 17:52:31王松趙寧社武鵬博
企業(yè)科技與發(fā)展 2021年10期
關(guān)鍵詞:模式識別

王松 趙寧社 武鵬博

【關(guān)鍵詞】神經(jīng)網(wǎng)絡(luò);驗證碼生成;模式識別

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

0 引言

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

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

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

1 Web自動化測試技術(shù)

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

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

2 基于神經(jīng)網(wǎng)絡(luò)的驗證碼技術(shù)

在神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中,通常為了提高網(wǎng)絡(luò)的性能,常規(guī)做法就是增加網(wǎng)絡(luò)深度與寬度,但也會帶來一定的影響,比如巨大的參量增加了處理的復(fù)雜性,并且當(dāng)輸入的數(shù)據(jù)量不夠大時,目標(biāo)網(wǎng)絡(luò)容易出現(xiàn)過擬合;當(dāng)網(wǎng)絡(luò)深度增加到一定程度時,就會失去梯度遞變帶來的優(yōu)勢,即所謂的梯度消失現(xiàn)象,而inception網(wǎng)絡(luò)則能較好地解決上述問題。

2.1 inception結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)介紹

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

卷積神經(jīng)網(wǎng)絡(luò)是一種多層結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),它的結(jié)構(gòu)包括卷積層、池化層與激活函數(shù),其特點是可以把圖片數(shù)據(jù)作為一個整體進(jìn)行特征識別[8-10]。卷積層由卷積核形成,通過各個卷積核提取圖像的特定特征。

2.2 應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)的識別

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

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

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

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

最后將獲得4個結(jié)果,對每個結(jié)果計算損失,然后求其算數(shù)平均,再調(diào)整參數(shù)對算數(shù)平均進(jìn)行優(yōu)化,使其總體達(dá)到一個完美的結(jié)果。整個網(wǎng)絡(luò)邏輯結(jié)構(gòu)如下:我們訓(xùn)練4個分類器,對應(yīng)驗證碼中的4個字符,第一個輸出對應(yīng)的是第一個字符的預(yù)測,其他的輸出以此類推,這樣就可以在使用過程中獲得方便。

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

3.1 樣本的生成

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

3.2 樣本的降噪處理

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

擴(kuò)大變小的字母線條,從以上圖片中我們明顯看到驗證碼中的噪點消失,這為后續(xù)操作中對網(wǎng)絡(luò)準(zhǔn)確率的提升打下了基礎(chǔ)。

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

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

4 Web自動化測試中的驗證碼識別應(yīng)用

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

5 結(jié)語

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

本文的研究還存在不足之處,研究人員發(fā)現(xiàn)在訓(xùn)練過程中需要的時間太長,可以根據(jù)實際需求構(gòu)建簡單的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。

參 考 文 獻(xiàn)

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

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

[3]楊彬.Web自動化測試中驗證碼的實現(xiàn)方法[J].信息技術(shù)與標(biāo)準(zhǔn)化,2010(11):39-41.

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

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

[6]孫誠,王志海.社會網(wǎng)絡(luò)中基于神經(jīng)網(wǎng)絡(luò)的鏈路預(yù)測方法[J].數(shù)學(xué)建模及其應(yīng)用,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īng)網(wǎng)絡(luò)的驗證碼識別方法[J].山東科技大學(xué)學(xué)報(自然科學(xué)版),2020,39(2):111-117.

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

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

猜你喜歡
模式識別
紫地榆HPLC指紋圖譜建立及模式識別
中成藥(2018年2期)2018-05-09 07:19:52
2019 IEEE計算機視覺與模式識別會議
UPLC-MS/MS法結(jié)合模式識別同時測定芪參益氣滴丸中11種成分
中成藥(2017年10期)2017-11-16 00:50:05
淺談模式識別在圖像識別中的應(yīng)用
電子測試(2017年23期)2017-04-04 05:06:50
第四屆亞洲模式識別會議
基于可拓模式識別的孤島檢測研究
電測與儀表(2016年6期)2016-04-11 12:07:48
可拓模式識別算法中經(jīng)典域的確定方法
第3屆亞洲模式識別會議
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
電氣設(shè)備的故障診斷與模式識別
河南科技(2014年5期)2014-02-27 14:08:35
主站蜘蛛池模板: 国产精品视频观看裸模| 亚洲欧美综合另类图片小说区| 国产成人综合日韩精品无码首页 | 久久精品丝袜| 精品国产91爱| 国产精品黄色片| 国产白浆视频| 天堂av综合网| 亚洲第一成年网| 中文字幕波多野不卡一区| 欧美黄网在线| 国产成人高清精品免费软件 | 99视频全部免费| 国产在线拍偷自揄观看视频网站| 欧美一级色视频| 亚洲视频二| 日本午夜在线视频| 高清欧美性猛交XXXX黑人猛交 | 国产91麻豆免费观看| 久久特级毛片| 国产丰满大乳无码免费播放| 中文字幕欧美成人免费| 日本高清免费一本在线观看 | 97免费在线观看视频| 日韩视频免费| 波多野结衣第一页| a毛片基地免费大全| 朝桐光一区二区| 美女被躁出白浆视频播放| 国产美女在线观看| 欧美亚洲国产一区| 亚洲va欧美ⅴa国产va影院| 色妞永久免费视频| 99re视频在线| 呦视频在线一区二区三区| 日本高清在线看免费观看| 国产视频a| 香蕉色综合| 亚洲天堂久久久| 色AV色 综合网站| 亚洲人成高清| 午夜日本永久乱码免费播放片| 91在线精品免费免费播放| V一区无码内射国产| 欧美成一级| 久久久国产精品免费视频| 国产在线精品香蕉麻豆| 欧美中出一区二区| 全裸无码专区| 久久精品国产一区二区小说| 国产欧美日韩va另类在线播放| 日本精品影院| 国产www网站| 成年A级毛片| 伊人91在线| 国产在线精彩视频论坛| 亚洲欧洲日本在线| 亚洲综合第一页| 成年女人18毛片毛片免费| 久久伊人久久亚洲综合| 亚洲精选高清无码| 欧美成人区| 国产成人福利在线| 看国产一级毛片| av在线5g无码天天| 91久久夜色精品国产网站| 欧洲精品视频在线观看| 性喷潮久久久久久久久| 亚洲国产精品无码久久一线| 最新国产高清在线| 55夜色66夜色国产精品视频| 日韩欧美中文字幕在线韩免费| 亚洲乱码在线播放| 国产杨幂丝袜av在线播放| 就去色综合| 亚洲第一中文字幕| 麻豆精品视频在线原创| 中文无码精品A∨在线观看不卡| 狠狠干综合| 日韩免费视频播播| 成人噜噜噜视频在线观看| 国产美女自慰在线观看|