簡體   English   中英

Android:測量兩個活動頁面之間的相似性

[英]Android: measuring similarity between two activity pages

我正在使用monkeyrunner和androidviewclient來抓取一些Android應用程序的GUI(即, 這個 )。 順便說一句,它工作得很好! 問題是,有時候當你點擊一個可點擊的組件時,它會打開你所在的同一個頁面,或者你之前就已經使用過它。 例如,您位於應用程序的主目錄中,然后單擊主頁鏈接或應用程序徽標,然后轉到同一頁面(即應用程序的主目錄!)。 我想避免這種情況。 換句話說,這可能導致無限循環的點擊。 是否有任何想法或啟發式方法來衡量兩個活動頁面之間的相似性。 或者我應該問,哪些指標有利於衡量兩個頁面之間的相似性,元素數量,文本等。

轉儲樹后,您可以保存它,然后對新轉儲使用一些距離計算。 例如:

# dump the tree
tree1 = vc.dump()
# do something, here, like touch to navigate
someView.touch()
# dump again
tree2 = vc.dump()
# calculate the distance
d = distance(tree1, tree2)

顯然,訣竅在於如何選擇距離法。 您可以將樹轉換為字符串,然后計算漢明距離(如果長度相同)或Levenshtein距離(如果不是)。

我一直在某些項目上使用這種方法。 你應該考慮應用后者的唯一方法是字符串的大小,因為矩陣變得非常大。 未來版本的AndroidViewClient將包含其中一些功能。

或者,您可以按照此處的描述進行一些視覺比較。

您可能正在尋找XMLUnit, http://xmlunit.sourceforge.net/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM