一種測試應(yīng)用程序自適應(yīng)多分辨率的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及軟件測試技術(shù)領(lǐng)域,尤其涉及一種測試應(yīng)用程序自適應(yīng)多分辨率的方法和裝置。
【背景技術(shù)】
[0002]在對應(yīng)用程序或操作系統(tǒng)的操作界面設(shè)計中,通常需要考慮界面在不同分辨率的終端上是否能夠正常顯示,由此出現(xiàn)了很多能夠使操作界面適應(yīng)多分辨率的自適應(yīng)算法,基于這些算法可以保證應(yīng)用程序或操作系統(tǒng)的操作界面在不同分辨率的終端上正常顯示。
[0003]在實(shí)際應(yīng)用中,需要對這些操作界面自適應(yīng)多分辨率的算法進(jìn)行測試,以保證應(yīng)用程序或操作系統(tǒng)自適應(yīng)不同分辨率終端的正確性。因此可以通過測試應(yīng)用程序或操作系統(tǒng)在多種分辨率終端上的自適應(yīng)能力確定上述自適應(yīng)算法的正確性?,F(xiàn)有的測試方法,一般是將待測試終端的操作界面同步至PC機(jī),由人工觀察的方式識別應(yīng)用軟件的界面是否與待測試終端的分辨率進(jìn)行了良好的匹配。但顯然,上述方案需要耗費(fèi)大量人工,且識別的準(zhǔn)確性不高,標(biāo)準(zhǔn)把握也不統(tǒng)一。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供了一種測試應(yīng)用程序自適應(yīng)多分辨率的方法和裝置。以解決不能高效、精確測試應(yīng)用程序或操作系統(tǒng)在不同分辨率終端上的自適應(yīng)能力的問題。
[0005]本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0006]第一方面,本發(fā)明實(shí)施例提供了一種測試應(yīng)用程序自適應(yīng)多分辨率的方法,該方法包括:
[0007]計算終端獲取至少兩個被測終端及一基準(zhǔn)終端上同一應(yīng)用程序的界面數(shù)據(jù)信息,并確定被測終端及基準(zhǔn)終端的分辨率,其中,不同被測終端具有不同的分辨率;
[0008]計算終端基于被測終端及基準(zhǔn)終端的界面數(shù)據(jù)信息,計算所述被測終端及基準(zhǔn)終端的同一應(yīng)用程序中界面元素的坐標(biāo)位置;
[0009]計算終端根據(jù)被測終端及基準(zhǔn)終端的分辨率,計算被測終端的尺寸系數(shù);
[0010]計算終端根據(jù)被測終端的尺寸系數(shù)及所述被測終端的同一應(yīng)用程序中界面元素的坐標(biāo)位置,計算相應(yīng)界面元素的相對位置;
[0011]計算終端將被測終端的同一應(yīng)用程序中界面元素的相對位置,依次與基準(zhǔn)終端中相應(yīng)界面元素的坐標(biāo)位置進(jìn)行比對,根據(jù)比對結(jié)果判定所述應(yīng)用程序?qū)Χ喾直媛实淖赃m應(yīng)能力。
[0012]第二方面,本發(fā)明實(shí)施例還提供了一種測試應(yīng)用程序自適應(yīng)多分辨率的裝置,該裝置包括:
[0013]信息獲取模塊,用于獲取至少兩個被測終端及一基準(zhǔn)終端上同一應(yīng)用程序的界面數(shù)據(jù)信息,并確定被測終端及基準(zhǔn)終端的分辨率,其中,不同被測終端具有不同的分辨率;
[0014]坐標(biāo)位置計算模塊,用于基于被測終端及基準(zhǔn)終端的界面數(shù)據(jù)信息,計算所述被測終端及基準(zhǔn)終端的同一應(yīng)用程序中界面元素的坐標(biāo)位置;
[0015]尺寸系數(shù)計算模塊,用于根據(jù)被測終端及基準(zhǔn)終端的分辨率,計算被測終端的尺寸系數(shù);
[0016]相對位置計算模塊,用于根據(jù)被測終端的尺寸系數(shù)及所述被測終端的同一應(yīng)用程序中界面元素的坐標(biāo)位置,計算相應(yīng)界面元素的相對位置;
[0017]結(jié)果判定模塊,用于將被測終端的同一應(yīng)用程序中界面元素的相對位置,依次與基準(zhǔn)終端中相應(yīng)界面元素的坐標(biāo)位置進(jìn)行比對,根據(jù)比對結(jié)果判定所述應(yīng)用程序?qū)Χ喾直媛实淖赃m應(yīng)能力。
[0018]本發(fā)明提供的一種測試應(yīng)用程序自適應(yīng)多分辨率的方法和裝置,首先由計算終端獲取基準(zhǔn)終端和多個被測終端的分辨率以及在同一應(yīng)用程序中的界面數(shù)據(jù)信息,然后基于分辨率和界面數(shù)據(jù)信息分別獲取被測終端的尺寸系數(shù)以及界面元素的坐標(biāo)位置,接著基于尺寸系數(shù)和坐標(biāo)位置計算界面元素的相對位置,最終通過將被測終端界面元素的相對位置與基準(zhǔn)終端的坐標(biāo)位置進(jìn)行比對,判定所述應(yīng)用程序?qū)Χ喾直媛实淖赃m應(yīng)能力。利用該方法,解決了不能高效、精確測試應(yīng)用程序或操作系統(tǒng)在不同分辨率終端上的自適應(yīng)能力的問題,實(shí)現(xiàn)了測試應(yīng)用程序或操作系統(tǒng)多分辨率自適應(yīng)能力的數(shù)字化,達(dá)到了快速高效進(jìn)行軟件測試的效果。
【附圖說明】
[0019]圖1為本發(fā)明實(shí)施例一提供的一種測試應(yīng)用程序自適應(yīng)多分辨率的方法的流程圖;
[0020]圖2為本發(fā)明實(shí)施例二提供的一種測試應(yīng)用程序自適應(yīng)多分辨率的方法的流程圖;
[0021]圖3A為本發(fā)明實(shí)施例三提供的一種測試應(yīng)用程序自適應(yīng)多分辨率的方法的流程圖;
[0022]圖3B為被測終端C1上顯示的同一應(yīng)用程序的操作界面;
[0023]圖3C為被測終端C2上顯示的同一應(yīng)用程序的操作界面;
[0024]圖3D為基準(zhǔn)終端C0上顯示的同一應(yīng)用程序的操作界面;
[0025]圖4為本發(fā)明實(shí)施例三提供的一種測試應(yīng)用程序自適應(yīng)多分辨率的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0027]實(shí)施例一
[0028]圖1為本發(fā)明實(shí)施例一提供的一種測試應(yīng)用程序自適應(yīng)多分辨率的方法的流程圖,本實(shí)施例可適用于測試應(yīng)用程序是否能夠自適應(yīng)多分辨率的情況,該方法可以由配置在計算終端中測試應(yīng)用程序自適應(yīng)多分辨率的裝置來執(zhí)行,如圖1所示,本實(shí)施例提供的一種測試應(yīng)用程序自適應(yīng)多分辨率的方法,包括如下操作:
[0029]步驟101、計算終端獲取至少兩個被測終端及一基準(zhǔn)終端上同一應(yīng)用程序的界面數(shù)據(jù)信息,并確定被測終端及基準(zhǔn)終端的分辨率,其中,不同被測終端具有不同的分辨率。
[0030]在本實(shí)施例中,所述計算終端具體可指個人計算機(jī)、筆記本電腦等具有處理計算能力的電子設(shè)備。所述被測終端和基準(zhǔn)終端具體可為支持安卓、10S以及Windows phone等智能操作系統(tǒng)的移動終端設(shè)備。所述基準(zhǔn)終端主要用來作為應(yīng)用程序多分辨率自適應(yīng)能力測試的標(biāo)準(zhǔn)。
[0031]具體的,在本實(shí)施例中,需要對安裝在所述被測終端和基準(zhǔn)終端上的同一應(yīng)用程序進(jìn)行測試,首先計算終端獲取被測終端和基準(zhǔn)終端上同一應(yīng)用程序的界面數(shù)據(jù)信息及其分辨率。所述界面數(shù)據(jù)信息具體為形成應(yīng)用程序可視化操作界面的編程數(shù)據(jù)信息,主要基于可擴(kuò)展標(biāo)記語言(Extensible Markup Language,XML)編寫。在本實(shí)施例中,計算終端基于捕獲程序捕獲同一應(yīng)用程序中用于操作界面布局設(shè)置的XML文件作為該應(yīng)用程序的界面數(shù)據(jù)信息。一般地,界面數(shù)據(jù)信息具體可包括操作界面進(jìn)行布局設(shè)置時設(shè)定的控件的位置坐標(biāo)數(shù)據(jù)、尺寸大小等。所述分辨率具體指被測終端或基準(zhǔn)終端的屏幕分辨率。所述被測終端或基準(zhǔn)終端屏幕分辨率可基于相應(yīng)終端的產(chǎn)品基本信息獲取,需要注意的是,用來測試的被測終端其屏幕分辨率各不相同。
[0032]步驟102、計算終端基于被測終端及基準(zhǔn)終端的界面數(shù)據(jù)信息,計算所述被測終端及基準(zhǔn)終端的同一應(yīng)用程序中界面元素的坐標(biāo)位置。
[0033]在本實(shí)施例中,將測試應(yīng)用程序的多分辨率自適應(yīng)能力轉(zhuǎn)化為測試應(yīng)用程序中界面元素在分辨率改變時是否發(fā)生了位置偏差。因此,本步驟主要計算應(yīng)用程序中界面元素的坐標(biāo)位置。所述界面元素為應(yīng)用程序的可視化操作界面中能夠直接進(jìn)行操作的控件,如按鈕、文本框以及滾動條等。
[0034]在本實(shí)施例中,計算終端主要基于被測終端和基準(zhǔn)終端的界面數(shù)據(jù)信息,可計算得到上述被測終端和基準(zhǔn)終端的同一應(yīng)用程序中界面元素的坐標(biāo)位置。需要說明的是,操作界面中界面元素的外輪廓一般為四方形,所述四方形可基于多個坐標(biāo)點(diǎn)確定位置,即界面元素的外輪廓可基于多個坐標(biāo)點(diǎn)形成,從而顯示界面元素在操作界面中的位置。此外,在界面數(shù)據(jù)信息中,所有坐標(biāo)點(diǎn)都存在一坐標(biāo)值,所述坐標(biāo)值以像素px為基本單位進(jìn)行設(shè)置。
[0035]具體的,通過界面數(shù)據(jù)信息獲取形成界面元素所用的多個坐標(biāo)點(diǎn)的坐標(biāo)值;基于上述多個坐標(biāo)點(diǎn)的坐標(biāo)值,可計算上述多個坐標(biāo)點(diǎn)的平均坐標(biāo)值,所述平均坐標(biāo)值就是該界面元素的坐標(biāo)位置。
[0036]步驟103、計算終端根據(jù)被測終端及基準(zhǔn)終端的分辨率,計算被測終端的尺寸系數(shù)。
[0037]在本實(shí)施例中,測試應(yīng)用程序?qū)Χ喾直媛实淖赃m應(yīng)能力可轉(zhuǎn)化為測試應(yīng)用程序中界面元素在分辨率改變時是否發(fā)生了位置偏差。測試是否發(fā)生了位置偏差實(shí)際上就是測試應(yīng)用程序在不同分辨率的被測終端上,界面元素在其可視化操作界面中的顯示位置是否發(fā)生偏差,如果沒有偏差則認(rèn)為應(yīng)用程序能夠自適應(yīng)多分辨率。判斷界面元素顯示位置是否發(fā)生偏差,需要通過數(shù)據(jù)比對。但又不能直接比對界面元素在不同被測終端上的坐標(biāo)位置,因此在步驟102計算出的坐標(biāo)位置后,還需要計算不同被測終端