一種屏幕解鎖測試方法及裝置制造方法
【專利摘要】本發(fā)明適用于終端【技術領域】,提供了一種屏幕解鎖測試方法及裝置,包括:獲取解鎖控件的中心在屏幕上的第一坐標;確定拖拽距離,所述拖拽距離大于所述解鎖控件的中心與屏幕預設區(qū)域邊沿的最大距離,所述屏幕預設區(qū)域包含所述解鎖控件;分別計算以所述第一坐標為起點,在N個預設角度上將所述解鎖控件拖拽出所述拖拽距離后的N個第二坐標,所述N為大于等于360的整數(shù),每兩個相鄰所述預設角度之間的角度差小于等于1度;依次模擬將所述解鎖控件從所述第一坐標拖拽至所述每個所述第二坐標的動作,以依次判斷是否解鎖成功。本發(fā)明保證了測試結果的準確性。
【專利說明】一種屏幕解鎖測試方法及裝置【技術領域】
[0001]本發(fā)明屬于終端【技術領域】,尤其涉及一種屏幕解鎖測試方法及裝置。
【背景技術】
[0002]隨著移動終端觸屏化技術的發(fā)展,利用觸摸操作來實現(xiàn)移動終端屏幕的鎖定與解鎖的實現(xiàn)方法更加靈活多樣,為用戶帶來了新鮮便捷的操作體驗。圖1示出了一種常用的觸屏解鎖方式,如圖1所示,用戶通過在任意方向上拖動解鎖控件11,當拖動的距離大于屏幕預設區(qū)域12的半徑時,即實現(xiàn)屏幕解鎖。
[0003]以圖1所示的解鎖方式為例,由于該解鎖方式不限制用戶拖動解鎖控件的方向,因此在對該解鎖方式進行測試的過程中,需要對所有拖動方向均進行測試,保證用戶在任意方向上都能夠成功解鎖。然而,目前只能通過人工方式來對上述解鎖方式進行測試,顯然無法保證覆蓋所有拖動方向,導致測試結果不精確。
【發(fā)明內容】
[0004]本發(fā)明實施例的目的在于提供一種屏幕解鎖測試方式,旨在解決現(xiàn)有的解鎖方式只能進行人工測試,無法覆蓋所有的操作情況,導致測試結果不精確的問題。
[0005]本發(fā)明實施例是這樣實現(xiàn)的,一種屏幕解鎖測試方法,包括:
[0006]獲取解鎖控件的中心在屏幕上的第一坐標;
[0007]確定拖拽距離,所述拖拽距離大于所述解鎖控件的中心與屏幕預設區(qū)域邊沿的最大距離,所述屏幕預設區(qū)域包含所述解鎖控件;
[0008]分別計算以所述第一坐標為起`點,在N個預設角度上將所述解鎖控件拖拽出所述拖拽距離后的N個第二坐標,所述N為大于等于360的整數(shù),每兩個相鄰所述預設角度之間的角度差小于等于I度;
[0009]依次模擬將所述解鎖控件從所述第一坐標拖拽至所述每個所述第二坐標的動作,以依次判斷是否解鎖成功。
[0010]本發(fā)明實施例的另一目的在于提供一種屏幕解鎖測試裝置,包括:
[0011]獲取單元,用于獲取解鎖控件的中心在屏幕上的第一坐標;
[0012]確定單元,用于確定拖拽距離,所述拖拽距離大于所述解鎖控件的中心與屏幕預設區(qū)域邊沿的最大距離,所述屏幕預設區(qū)域包含所述解鎖控件;
[0013]計算單元,用于分別計算以所述第一坐標為起點,在N個預設角度上將所述解鎖控件拖拽出所述拖拽距離后的N個第二坐標,所述N為大于等于360的整數(shù),每兩個相鄰所述預設角度之間的角度差小于等于I度;
[0014]模擬單元,用于依次模擬將所述解鎖控件從所述第一坐標拖拽至所述每個所述第二坐標的動作,以依次判斷是否解鎖成功。
[0015]本發(fā)明通過分別在解鎖控件的每個拖拽方向上均獲取到拖拽動作的起點坐標和終點坐標,從而對每個拖拽方向上的解鎖動作進行模擬,由此完成的解鎖測試能夠完全覆蓋到用戶可能操作的所有拖拽方向,保證了測試結果的準確性。
【專利附圖】
【附圖說明】
[0016]圖1是現(xiàn)有技術提供的一種屏幕解鎖方式的實現(xiàn)示意圖;
[0017]圖2是現(xiàn)有技術提供的另一種屏幕解鎖方式的實現(xiàn)示意圖;
[0018]圖3是本發(fā)明實施例提供的屏幕解鎖測試方法的實現(xiàn)流程圖;
[0019]圖4是本發(fā)明實施例提供的屏幕解鎖測試方法步驟S304的具體實現(xiàn)流程圖;
[0020]圖5是本發(fā)明實施例提供的屏幕解鎖測試方法的具體實現(xiàn)流程圖;
[0021]圖6是本發(fā)明實施例提供的屏幕解鎖測試裝置的結構框圖。
【具體實施方式】
[0022]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]本發(fā)明實施例通過分別在解鎖控件的每個拖拽方向上均獲取到拖拽動作的起點坐標和終點坐標,從而對每個拖拽方向上的解鎖動作進行模擬,由此完成的解鎖測試能夠完全覆蓋到用戶可能操作的所有拖拽方向,保證了測試結果的準確性。
[0024]需要說明的是,本發(fā)明實施例提供的屏幕解鎖測試方法能夠測試的解鎖方式包括但不限于圖1所示的解鎖方式,只要是將屏幕中某個指定區(qū)域內的解鎖控件拖出該區(qū)域以完成解鎖的方式均可,例如圖2所示的解鎖方式,在此不一一舉例說明。
[0025]圖3示出了本發(fā)明實施例提供的屏幕解鎖測試方法的實現(xiàn)流程,詳述如下:
[0026]在步驟S301中,獲取解鎖控件的中心在屏幕上的第一坐標。
[0027]在本實施例中,可以通過可視化調試工具,例如hierarchy viewer等工具,來獲取到解鎖控件的標識,通過解鎖控件的標識找到解鎖控件,由此獲取到解鎖控件的中心坐標。
[0028]在本發(fā)明實施例中,所述坐標均為位于以手機屏幕的左上角為原點(0,0),手機屏幕的水平上沿為橫軸的坐標系統(tǒng)中的坐標,后續(xù)相關實施例中不再一一說明。
[0029]在步驟S302中,確定拖拽距離,其中,拖拽距離大于解鎖控件的中心與屏幕預設區(qū)域邊沿的最大距離,且屏幕預設區(qū)域包含該解鎖控件。
[0030]具體地,首先可以確定解鎖控件的中心與包含該解鎖控件的屏幕預設區(qū)域邊沿的最大距離,之后,在屏幕可拖拽區(qū)域內確定任意一點,且確定的該點與解鎖控件中心坐標的距離大于該最大距離,則該確定的該點與解鎖控件中心坐標的距離確定為需要模擬的拖拽動作的拖拽距離。
[0031]優(yōu)選地,當屏幕預設區(qū)域為圓形時,由于解鎖控件的中心與屏幕預設區(qū)域的最大距離即為該圓形的半徑,且在該圓形的圓周外的任意確定一點,該點與解鎖控件的中心的距離一定大于該圓形的半徑,因此,當屏幕預設區(qū)域為圓形時,步驟S302具體包括:
[0032]將解鎖控件的中心與屏幕預設區(qū)域外的任意一點的距離確定為拖拽距離。
[0033]在步驟S303中,分別計算以第一坐標為起點,在N個預設角度上將解鎖控件拖拽出拖拽距離后的N個第二坐標,其中,N為大于等于360的整數(shù),每兩個相鄰預設角度之間的角度差小于等于I度。[0034]在本實施例中,當確定了拖拽動作的拖拽起點、拖拽角度以及拖拽距離后,即可以根據(jù)三角形的正弦函數(shù)和余弦函數(shù)來分別求得該拖拽動作在水平方向及垂直方向上的位移,從而進一步確定出作為該拖拽動作終點的第二坐標。
[0035]在本實施例中,為了保證之后模擬的拖拽動作能夠覆蓋到每一個角度,需要設置至少360個預設角度,且每兩個相鄰預設角度之間的角度差為I度,即每隔一度進行一次模擬的拖拽動作,直到模擬完所有角度上的拖拽動作。
[0036]優(yōu)先地,為了更加精確地覆蓋到每個可能的拖拽角度,還可以設置更多的預設角度,且每個相鄰預設角度之間的角度小于I度。例如,設置720個預設角度,每兩個相鄰預設角度之間的角度差為0.5度,即每隔0.5度進行一次模擬的拖拽動作。
[0037]在步驟S304中,依次模擬將解鎖控件從第一坐標拖拽至每個第二坐標的動作,以依次判斷是否解鎖成功。
[0038]對于相關模擬工具來說,例如,Monkey Runner等工具,其可以實現(xiàn)對用戶事件流(例如按鍵輸入、觸摸屏輸入、手勢輸入等)模擬,從而在不知道源代碼的情況下通過用戶事件流的模擬來控制系統(tǒng)設備或者模擬器。
[0039]具體地,在本實施例中,可以通過在相關模擬工具中將第一坐標設置為起始坐標,將第二坐標設置為目的坐標,并利用模擬工具中的拖拽方法來模擬用戶對解鎖控件的拖拽動作,從而依次自動完成從第一坐標到每個第二坐標的拖拽動作,以判斷是否存在解鎖不成功的角度,由此,無需再進行人工的解鎖操作,即可以實現(xiàn)對屏幕解鎖的測試,且測試過程可以覆蓋所有的拖拽角度,保證了測試結果的精確性。
[0040]作為本發(fā)明的一個優(yōu)選實施例,還可以設定以特定的拖拽速度來模擬拖拽動作。如圖4所示,步驟S304具體為:
[0041]在步驟S401中,獲取預設拖拽速度。
[0042]在步驟S402中,依次模擬將解鎖控制按照設定的預設拖拽速度從第一坐標拖拽至每個第二坐標的動作。
[0043]在本實施例中,可以根據(jù)測試需求設置多個不同的拖拽速度,以模擬不同用戶的操作習慣,例如,分別模擬以極其緩慢的速度拖拽解鎖控件,以及模擬以極快的速度拖拽解鎖控件,以對解鎖方法進行壓力測試,判斷其在不同用戶的操作習慣之下是否均能夠成功解鎖。
[0044]為了更好地說明本發(fā)明實施例提供的屏幕解鎖測試方法,現(xiàn)在以圖1所示的屏幕解鎖方法為例,說明對該屏幕解鎖方法進行測試的詳細流程,詳述如下:
[0045]在步驟S501中,獲取解鎖控件的標識。
[0046]在步驟S502中,通過標識找到解鎖控件,獲取解鎖控件的圓心坐標(X0,Y0)。
[0047]對圓形的解鎖控件來說,該解鎖控件圓心所在的坐標即為其中心坐標。
[0048]在步驟S503中,在解鎖控件的圓周上取任意一點,獲取該點的坐標(XI,YDo
[0049]在步驟S504中,根據(jù)(X0,Y0)與(XI,Yl)兩點間的距離,計算出解鎖控件的半徑RO0
[0050]對于規(guī)則的圓形解鎖控件及圓形的屏幕預設區(qū)域來說,步驟S302中所述的最大距離即為該圓形區(qū)域的半徑。
[0051]在步驟S505中,獲取距離圓心(X0,Y0)的距離大于RO之外的任意一點的坐標(X2,Y2)。
[0052]在步驟S506中,根據(jù)(Χ0,Υ0)與(Χ2,Υ2)兩點間的距離,計算出解鎖控件的拖拽距離R。
[0053]在步驟S507中,根據(jù)拖拽距離R、圓心(Χ0,Υ0)以及預設角度,計算出在預設角度上從圓心(Χ0,Υ0)拖拽出拖拽距離R的終點坐標(Χ3,Υ3)。
[0054]在步驟S508中,模擬將解鎖控件從(XO,YO)拖拽至(Χ3,Υ3)的動作,以判斷此次解鎖是否成功。
[0055]在步驟S509中,將預設角度增加I度,重復步驟S507和步驟S508,直至增加的預設角度和此前執(zhí)行過拖拽動作模擬的預設角度重合。
[0056]本發(fā)明實施例通過分別在解鎖控件的每個拖拽方向上均獲取到拖拽動作的起點坐標和終點坐標,從而對每個拖拽方向上的解鎖動作進行模擬,由此完成的解鎖測試能夠完全覆蓋到用戶可能操作的所有拖拽方向,保證了測試結果的準確性。
[0057]圖6示出了本發(fā)明實施例提供的屏幕解鎖測試裝置的結構框圖,該裝置用于運行本發(fā)明圖3至圖5實施例所述的屏幕解鎖測試方法,為了便于說明,僅示出了與本實施例相關的部分。
[0058]參照圖6,該裝置包括:
[0059]獲取單元61,獲取解鎖控件的中心在屏幕上的第一坐標;
[0060]確定單元62,確定拖拽距離,其中,拖拽距離大于解鎖控件的中心與屏幕預設區(qū)域邊沿的最大距離,且屏幕預設區(qū)域包含該解鎖控件。
[0061]計算單元63,分別計算以第一坐標為起點,在N個預設角度上將解鎖控件拖拽出拖拽距離后的N個第二坐標,其中,N為大于等于360的整數(shù),每兩個相鄰預設角度之間的角度差小于等于I度。
[0062]模擬單元64,依次模擬將解鎖控件從第一坐標拖拽至所述每個第二坐標的動作,以依次判斷是否解鎖成功。
[0063]可選地,模擬單元64包括:
[0064]設定子單元,獲取預設拖拽速度。
[0065]模擬子單元,依次模擬將解鎖控件按照預設拖拽速度從第一坐標拖拽至每個第二坐標的動作。
[0066]可選地,預設拖拽速度為多個。
[0067]可選地,N為720,每兩個相鄰預設角度之間的角度差為0.5度。
[0068]可選地,當屏幕預設區(qū)域為圓形時,確定單元62具體用于將解鎖控件的中心與屏幕預設區(qū)域外的任意一點的距離確定為拖拽距離。
[0069]本發(fā)明實施例通過分別在解鎖控件的每個拖拽方向上均獲取到拖拽動作的起點坐標和終點坐標,從而對每個拖拽方向上的解鎖動作進行模擬,由此完成的解鎖測試能夠完全覆蓋到用戶可能操作的所有拖拽方向,保證了測試結果的準確性。
[0070]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種屏幕解鎖測試方法,其特征在于,包括: 獲取解鎖控件的中心在屏幕上的第一坐標; 確定拖拽距離,所述拖拽距離大于所述解鎖控件的中心與屏幕預設區(qū)域邊沿的最大距離,所述屏幕預設區(qū)域包含所述解鎖控件; 分別計算以所述第一坐標為起點,在N個預設角度上將所述解鎖控件拖拽出所述拖拽距離后的N個第二坐標,所述N為大于等于360的整數(shù),每兩個相鄰所述預設角度之間的角度差小于等于1度; 依次模擬將所述解鎖控件從所述第一坐標拖拽至所述每個所述第二坐標的動作,以依次判斷是否解鎖成功。
2.如權利要求1所述的方法,其特征在于,所述依次模擬將所述解鎖控件從所述第一坐標拖拽至每個所述第二坐標的動作包括: 獲取預設拖拽速度; 依次模擬將所述解鎖控件按照所述預設拖拽速度從所述第一坐標拖拽至每個所述第二坐標的動作。
3.如權利要求2所述的方法,其特征在于,所述預設拖拽速度為多個。
4.如權利要求1所述的方法,其特征在于,所述N為720,每兩個相鄰所述預設角度之間的角度差為0.5度。
5.如權利要求r4任一項所述的方法,其特征在于,所述屏幕預設區(qū)域為圓形,所述確定拖拽距離包括: 將所述解鎖控件的中心與所述屏幕預設區(qū)域外的任意一點的距離確定為所述拖拽距離。
6.一種屏幕解鎖測試裝置,其特征在于,包括: 獲取單元,用于獲取解鎖控件的中心在屏幕上的第一坐標; 確定單元,用于確定拖拽距離,所述拖拽距離大于所述解鎖控件的中心與屏幕預設區(qū)域邊沿的最大距離,所述屏幕預設區(qū)域包含所述解鎖控件; 計算單元,用于分別計算以所述第一坐標為起點,在N個預設角度上將所述解鎖控件拖拽出所述拖拽距離后的N個第二坐標,所述N為大于等于360的整數(shù),每兩個相鄰所述預設角度之間的角度差小于等于I度; 模擬單元,用于依次模擬將所述解鎖控件從所述第一坐標拖拽至所述每個所述第二坐標的動作,以依次判斷是否解鎖成功。
7.如權利要求6所述的裝置,其特征在于,所述模擬單元包括: 設定子單元,用于獲取預設拖拽速度; 模擬子單元,用于依次模擬將所述解鎖控件按照所述預設拖拽速度從所述第一坐標拖拽至每個所述第二坐標的動作。
8.如權利要求7所述的裝置,其特征在于,所述預設拖拽速度為多個。
9.如權利要求6所述的裝置,其特征在于,所述N為720,每兩個相鄰所述預設角度之間的角度差為0.5度。
10.如權利要求6、任一項所述的裝置,其特征在于,所述屏幕預設區(qū)域為圓形,所述確定單元具體用于將所述解鎖控件的中心與所述屏幕預設區(qū)域外的任意一點的距離確定為所述 拖拽距離。
【文檔編號】G06F3/0488GK103793165SQ201210432259
【公開日】2014年5月14日 申請日期:2012年11月2日 優(yōu)先權日:2012年11月2日
【發(fā)明者】吳雪梅 申請人:騰訊科技(深圳)有限公司