輸入法隨機(jī)自動(dòng)化測試框架

本文章轉(zhuǎn)載于搜狗測試

本期小編與大家分享搜狗手機(jī)輸入法隨機(jī)自動(dòng)化測試框架以及隨機(jī)動(dòng)作概率算法烁落。

背景介紹

提起隨機(jī)自動(dòng)化操作邓嘹,相信大家并不陌生,目前使用最為普遍的adb monkey命令應(yīng)該都有所耳聞。monkey優(yōu)點(diǎn)不言而喻捶码,它使用起來很簡單,只需要在命令輸入命令即可完成對app的各種隨機(jī)操作或链。但是在搜狗手機(jī)輸入法項(xiàng)目中惫恼,這一方法就有些局限了:

輸入法穩(wěn)定性測試重點(diǎn)之一是輸入各種語料內(nèi)容,也就是輸入ni'hao等比較有規(guī)律的詞語澳盐,這一點(diǎn)monkey無法滿足祈纯。

輸入法穩(wěn)定性測試需要定制有一些有序的動(dòng)作,例如:輸入ni'hao后叼耙,點(diǎn)擊候選詞文字進(jìn)行上屏腕窥;又或者是切換輸入鍵盤等。

以上2中定制的動(dòng)作數(shù)量很多旬蟋,希望能夠在測試前進(jìn)行靈活配置油昂,例如:覆蓋安裝輸入法權(quán)重低,打字上屏權(quán)重高倾贰。

基于以上幾點(diǎn)冕碟,在搜狗手機(jī)輸入法自動(dòng)化測試中,我們設(shè)計(jì)了一種隨機(jī)自動(dòng)化的框架匆浙,與大家進(jìn)行分享安寺。

輸入法隨機(jī)自動(dòng)化測試框架圖

隨機(jī)操作穩(wěn)定性主界面

主界面主要提供的功能是:

1.配置測試時(shí)間

2.控制隨機(jī)自動(dòng)化的開始和結(jié)束

3.配置隨機(jī)動(dòng)作的權(quán)重

ProbManager概率動(dòng)作計(jì)算

假設(shè)我們要配置的動(dòng)作列表如下:

動(dòng)作名稱

權(quán)重值

起始點(diǎn)

結(jié)束點(diǎn)

Action1

20

1

20

Action2

50

21

70

Action3

5

71

75

Action4

100

76

175

通過map,記錄每個(gè)Action的起始點(diǎn)和結(jié)束點(diǎn)首尼,然后隨機(jī)函數(shù)獲取1到175(最大結(jié)束點(diǎn))的隨機(jī)數(shù)挑庶,這樣即可得到對應(yīng)權(quán)重的比例言秸。

ExecCoremanager隨機(jī)動(dòng)作執(zhí)行內(nèi)核

這部分主要有兩個(gè)功能:隨機(jī)動(dòng)作序列的執(zhí)行和反射方法調(diào)用包名下的方法

隨機(jī)動(dòng)作序列的執(zhí)行:

反射方法調(diào)用包名方法:

SogouInputUtil搜狗輸入法連接器

SogouInputUtil是連接Monkey和SogouInput鍵盤布局的連接器:

SogouInputKeybard主要專注于維護(hù)輸入法各個(gè)控件的坐標(biāo),例如拼音26鍵的qwery等按鍵的位置迎捺。

SogouInputUtil將要執(zhí)行的動(dòng)作轉(zhuǎn)換為坐標(biāo)值举畸,然后告訴給monkey模塊去執(zhí)行。

如果希望有更多復(fù)雜的隨機(jī)動(dòng)作凳枝,可以派生SogouInputUtil進(jìn)行編寫即可抄沮,例如執(zhí)行打字功能:

SogouInputKeyboard搜狗輸入法鍵盤布局

該模塊主要用于維護(hù)搜狗輸入法鍵盤各個(gè)控件的坐標(biāo)值,目前實(shí)現(xiàn)的方法是從配置文件中讀取坐標(biāo)位置:

1.配置文件保存位置:哆啦A夢assets的inputConfig目錄岖瑰。

2.配置文件的格式為:

InputDataProvider輸入法測試數(shù)據(jù)提供類

該模塊主要用于向隨機(jī)穩(wěn)定性動(dòng)作提供測試數(shù)據(jù)叛买。

讀取的數(shù)據(jù)文件位置為:哆啦A夢assets目錄下的KPITestDir/Source數(shù)據(jù),該數(shù)據(jù)內(nèi)容為線上的用戶輸入語料蹋订。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末率挣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子露戒,更是在濱河造成了極大的恐慌椒功,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件智什,死亡現(xiàn)場離奇詭異蛾茉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)撩鹿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門谦炬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人节沦,你說我怎么就攤上這事键思。” “怎么了甫贯?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵吼鳞,是天一觀的道長。 經(jīng)常有香客問我叫搁,道長赔桌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任渴逻,我火速辦了婚禮疾党,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惨奕。我一直安慰自己雪位,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布梨撞。 她就那樣靜靜地躺著雹洗,像睡著了一般香罐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上时肿,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天庇茫,我揣著相機(jī)與錄音,去河邊找鬼螃成。 笑死港令,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锈颗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼咪惠,長吁一口氣:“原來是場噩夢啊……” “哼击吱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起遥昧,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤覆醇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后炭臭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體永脓,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年鞋仍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了常摧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡威创,死狀恐怖落午,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肚豺,我是刑警寧澤溃斋,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站吸申,受9級(jí)特大地震影響梗劫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜截碴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一梳侨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧日丹,春花似錦猫妙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽齐帚。三九已至,卻和暖如春彼哼,著一層夾襖步出監(jiān)牢的瞬間对妄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工敢朱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剪菱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓拴签,卻偏偏與公主長得像孝常,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蚓哩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理构灸,服務(wù)發(fā)現(xiàn),斷路器岸梨,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • 作者:Ringoyan喜颁,騰訊測試開發(fā)工程師。先后為植物大戰(zhàn)僵尸Online曹阔,糖果傳奇等游戲擔(dān)任測試經(jīng)理半开,其負(fù)責(zé)的“...
    飯盒閱讀 2,792評(píng)論 2 41
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架赃份。軟件項(xiàng)目的開發(fā)包括:需求寂拆、設(shè)...
    Mr希靈閱讀 21,957評(píng)論 7 278
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架抓韩。軟件項(xiàng)目的開發(fā)包括:需求漓库、設(shè)...
    宇文臭臭閱讀 6,724評(píng)論 5 100
  • 現(xiàn)在正是好年華渺蒿, 過去怎比今日嘉。 終日乾乾多努力彪薛, 我的人生長不大茂装。 歲月沃土培育我, 夏花燦爛氣自華善延。 青春熾...
    fe77c62f2b9a閱讀 207評(píng)論 0 0