[發(fā)明專利]一種自繪窗口的測試方法和裝置有效
| 申請?zhí)枺?/td> | 201110405562.0 | 申請日: | 2011-12-08 |
| 公開(公告)號: | CN102521129A | 公開(公告)日: | 2012-06-27 |
| 發(fā)明(設(shè)計(jì))人: | 方順豹;郝永建 | 申請(專利權(quán))人: | 北京新媒傳信科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京市隆安律師事務(wù)所 11323 | 代理人: | 權(quán)鮮枝 |
| 地址: | 100089 北京市海淀區(qū)萬*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 窗口 測試 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及領(lǐng)域計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種自繪窗口的測試方法和裝置。
背景技術(shù)
隨著計(jì)算機(jī)硬件性能的不斷提高,帶動了各種UI(即:User?Interface用戶界面)技術(shù)的革新。特別在用戶交互UI方面,各種賞心悅目的UI層出不窮,使用戶在軟件使用體驗(yàn)方面得到了大大的改善。通過這種友好的交互,不但提高了軟件的品質(zhì),更提高了用戶的忠誠度。可想而知,在未來,UI還是會作為軟件開發(fā)的重中之重,對一個(gè)軟件的好壞產(chǎn)生直接的影響。
在現(xiàn)有的各種UI技術(shù)中,自繪窗口是實(shí)現(xiàn)絢麗UI界面的一種常用方式。使用此技術(shù)實(shí)現(xiàn)了絢麗的界面的同時(shí),也同時(shí)為UI的自動化測試帶來了麻煩。傳統(tǒng)非自繪窗口每個(gè)控件都有各自的句柄,可以通過句柄實(shí)現(xiàn)UI的自動化測試。而自繪窗口是沒有窗口句柄的,因?yàn)樾枰褂眯碌姆椒▉碇С諹I的自動化測試。
發(fā)明內(nèi)容
本發(fā)明提供了一種自繪窗口測試的方法和裝置,本發(fā)明的技術(shù)方案能夠靈活實(shí)現(xiàn)自繪窗口,同時(shí)支持UI的自動化測試。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明公開了一種自繪窗口的測試方法,該方法包括:
以組件對象模型COM形式封裝自繪窗口中的每個(gè)控件,則一個(gè)控件就是一個(gè)COM對象,并定義各COM對象的COM接口;
測試程序獲取COM對象后,調(diào)用COM對象的COM接口對相應(yīng)控件進(jìn)行測試。
在上述方法中,該方法進(jìn)一步包括:
為自繪窗口中的每個(gè)COM對象分配一個(gè)指針,將該自繪窗口中的所有COM對象的指針放入一個(gè)隊(duì)列中,為該隊(duì)列分配一個(gè)指針,在所述自繪窗口中設(shè)置一個(gè)特定的屬性,將所述隊(duì)列的指針設(shè)置到所述自繪窗口中的特定屬性中;
則所述測試程序獲取COM對象包括:測試程序獲取所述自繪窗口中的特定屬性中的值,根據(jù)該值找到所述隊(duì)列,根據(jù)該隊(duì)列中的各指針獲取對應(yīng)的COM對象。
在上述方法中,將該隊(duì)列的指針設(shè)置到所述自繪窗口中的特定屬性中包括:
通過Windows?API函數(shù)中的SetProp函數(shù)將該隊(duì)列的指針設(shè)置到自繪窗口中的特定屬性中。
在上述方法中,所述測試程序獲取所述自繪窗口中的特定屬性中的值包括:
測試程序通過Windows?API函數(shù)中的GetProp函數(shù)獲取自繪窗口中的特定屬性中的值。
在上述方法中,所述COM接口包括:
控件類型接口、控件ID接口、控件名稱接口、控件在窗口的位置接口、控件狀態(tài)接口、控件支持的事件與消息接口。
在上述方法中,COM接口由一個(gè)基COM接口派生;
該基COM接口包括所述每個(gè)COM接口對應(yīng)的方法。
在上述方法中,所述調(diào)用COM對象的COM接口對相應(yīng)控件進(jìn)行測試包括:
通過操作基COM接口中每個(gè)COM接口對應(yīng)的方法實(shí)現(xiàn)調(diào)用COM對象的COM接口,進(jìn)而實(shí)現(xiàn)對相應(yīng)控件進(jìn)行測試。
本發(fā)明還公開了一種自繪窗口的測試裝置,該裝置包括:COM封裝模塊和測試模塊;
COM封裝模塊,用于以COM形式封裝自繪窗口中的每個(gè)控件,則一個(gè)控件就是一個(gè)COM對象,并定義各COM對象的COM接口;
測試模塊,用于獲取COM對象后,調(diào)用COM對象的COM接口對相應(yīng)控件進(jìn)行測試。
在上述裝置中,COM封裝模塊,進(jìn)一步為自繪窗口中的每個(gè)COM對象分配一個(gè)指針,將該自繪窗口中的所有COM對象的指針放入一個(gè)隊(duì)列中,為該隊(duì)列分配一個(gè)指針,在所述自繪窗口中設(shè)置一個(gè)特定的屬性,將所述隊(duì)列的指針設(shè)置到所述自繪窗口中的特定屬性中;
則測試模塊,用于獲取所述自繪窗口中的特定屬性中的值,根據(jù)該值找到所述隊(duì)列,根據(jù)所述隊(duì)列中的各指針獲取對應(yīng)的COM對象。
在上述裝置中,COM封裝模塊,用于通過Windows?API函數(shù)中的SetProp函數(shù)將該隊(duì)列的指針設(shè)置到所述自繪窗口中的特定屬性中;
測試模塊,用于通過Windows?API函數(shù)中的GetProp函數(shù)獲取所述自繪窗口中的特定屬性中的值。
綜上可見,本發(fā)明公開一種自繪窗口的測試方法,該方法包括:以組件對象模型COM形式封裝自繪窗口中的每個(gè)控件,則一個(gè)控件就是一個(gè)COM對象,并定義各COM對象的COM接口;測試程序獲取COM對象后,調(diào)用COM對象的COM接口對相應(yīng)控件進(jìn)行測試。本發(fā)明的技術(shù)方案,能夠靈活實(shí)現(xiàn)自繪窗口,同時(shí)支持UI的自動化測試。
附圖說明
圖1是本發(fā)明實(shí)施例中的一種自繪窗口的測試的方法流程圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京新媒傳信科技有限公司,未經(jīng)北京新媒傳信科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110405562.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:具有集成的豎直帶存儲器的冷卻段
- 下一篇:一種萬向椎弓根螺釘
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤





