小工具鼠標(biāo)點(diǎn)擊錄制回放

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

平時(shí)的測(cè)試工作中,小伙伴們有時(shí)會(huì)遇到重復(fù)做一些操作的場(chǎng)景帮寻,比如反復(fù)點(diǎn)擊某個(gè)按鈕赠摇,驗(yàn)證被測(cè)程序不會(huì)異常;或者反復(fù)最大化最小化被測(cè)程序藕帜,看看有沒有顯示異常…

這樣的操作往往都比較簡單洽故,但是重復(fù)操作既浪費(fèi)時(shí)間又耗費(fèi)人力,怎么辦呢时甚?

使用自動(dòng)化工具!

但是市面上的自動(dòng)化工具體積往往都非常龐大荒适,而且必須編寫相應(yīng)的腳本來做,面對(duì)以上簡單的自動(dòng)化需求來說刀诬,有點(diǎn)“拿著大炮打蚊子”了。

本次分享肌割,小編將介紹搜狗同學(xué)自己做的一款簡單的鼠標(biāo)錄制回放工具。

PS:感興趣的各位讀者也可以去Git上下載源碼進(jìn)行修改把敞。

程序下載地址:

http://url.cn/XTXmSC

源碼下載地址:

https://github.com/sogou/Test-ClickPrograme.git

源碼解讀:

本次小編介紹的工具中有兩個(gè)關(guān)鍵函數(shù)榨惠,一個(gè)是錄制函數(shù)盛霎;一個(gè)是回放函數(shù)。

錄制函數(shù):(通過鼠標(biāo)位置進(jìn)行相應(yīng)坐標(biāo)點(diǎn)轉(zhuǎn)換愤炸,同時(shí)加入動(dòng)作隊(duì)列)

intCClickProgrameDlg::RecordAction()

{

if(m_iRecordState== 0)

{//起始位置

m_iRecordState= 1;

CPointCurPoint;

GetCursorPos( &CurPoint);

//ScreenToClient( &CurPoint );

m_tagEventRecord.m_tagMouseEvent.m_StartPoint=CurPoint;

//m_hCurs = LoadCursor(NULL, IDC_CROSS ); // Create a standard hourglass cursor.

//SetCursor(m_hCurs);

}

else

{//終止位置

m_iRecordState= 0;

CPointCurPoint;

GetCursorPos( &CurPoint);

//ScreenToClient( &CurPoint );

m_tagEventRecord.m_tagMouseEvent.m_EndPoint=CurPoint;

tagActionEvent*pNewEvent;

pNewEvent=newtagActionEvent;

pNewEvent->m_iEventType=ACTIONTYPE_MOUSE;//_T("鼠標(biāo)動(dòng)作");

pNewEvent->m_tagMouseEvent.m_StartPoint=m_tagEventRecord.m_tagMouseEvent.m_StartPoint;

pNewEvent->m_tagMouseEvent.m_EndPoint = m_tagEventRecord.m_tagMouseEvent.m_EndPoint;

pNewEvent->m_tagMouseEvent.m_iActionType = MOUSE_RIGHT_MOVE;

pNewEvent->m_iSleepTime= DefaultSleepTime;

pNewEvent->m_iLoopTime= DefaultLoopTime;

InsertAction( pNewEvent);

//DestroyCursor( m_hCurs );

}

return1;

}

回放函數(shù):(將隊(duì)列中的動(dòng)作拿出來執(zhí)行鼠標(biāo)點(diǎn)擊操作)

intCClickProgrameDlg::SingleClick(tagActionEvent*pNewEvent)

{

if(pNewEvent==NULL)

{

return0;

}

for(inti= 0 ;im_iLoopTime;i++ )

{

SetCursorPos(pNewEvent->m_tagMouseEvent.m_StartPoint.x,pNewEvent->m_tagMouseEvent.m_StartPoint.y);

if(pNewEvent->m_tagMouseEvent.m_iActionType&MOUSE_MASK_LEFT)

{//左鍵

mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP, 0 , 0 , 0 , 0 );

}

else

{

mouse_event(MOUSEEVENTF_RIGHTDOWN|MOUSEEVENTF_RIGHTUP, 0 , 0 , 0 , 0 );

}

Sleep(pNewEvent->m_iSleepTime);

PeepMessage();

if(m_eState!=Run)

{

break;

}

}

return1;

}

工具使用方法:

示例:小編接到一個(gè)測(cè)試任務(wù):重現(xiàn)搜狗瀏覽器反復(fù)切換標(biāo)簽頁假死的問題规个,為了節(jié)省人力姓建,小編進(jìn)行了如下工作:

1.在需要增加點(diǎn)擊的地方按下shift + A。依次類推速兔,添加多個(gè)點(diǎn)擊點(diǎn)。

2.在程序界面上配置要點(diǎn)擊的次數(shù)谍婉、間隔時(shí)間和循環(huán)次數(shù)。

3.按下shift+R運(yùn)行點(diǎn)擊腳本屡萤。

4.如果希望立即停止已配置的點(diǎn)擊工作分俯,可以按下shift+S懦铺。

具體實(shí)現(xiàn)的效果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末躲株,一起剝皮案震驚了整個(gè)濱河市娶眷,隨后出現(xiàn)的幾起案子饰序,更是在濱河造成了極大的恐慌领虹,老刑警劉巖求豫,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異最疆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)努酸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門杜恰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仍源,“玉大人,你說我怎么就攤上這事笼踩。” “怎么了嚎于?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵昼伴,是天一觀的道長镣屹。 經(jīng)常有香客問我圃郊,道長女蜈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任逸寓,我火速辦了婚禮,結(jié)果婚禮上竹伸,老公的妹妹穿的比我還像新娘。我一直安慰自己勋篓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布譬嚣。 她就那樣靜靜地躺著钞它,像睡著了一般。 火紅的嫁衣襯著肌膚如雪遭垛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天锯仪,我揣著相機(jī)與錄音,去河邊找鬼卵酪。 笑死谤碳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜒简。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼搓茬,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼队他!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起麸折,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垢啼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芭析,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年驾孔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翠勉。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖眉菱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情俭缓,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布华坦,位于F島的核電站,受9級(jí)特大地震影響惜姐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一坷衍、第九天 我趴在偏房一處隱蔽的房頂上張望条舔。 院中可真熱鬧,春花似錦孟抗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摊沉。三九已至,卻和暖如春坯钦,著一層夾襖步出監(jiān)牢的瞬間预皇,已是汗流浹背婉刀。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工序仙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人潘悼。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像治唤,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宾添,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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