自動(dòng)化遍歷測(cè)試工具_(dá)AppCrawler

開源項(xiàng)目地址:https://github.com/erveniruby/AppCrawler

一,簡(jiǎn)介

(1)AppCrawler是一個(gè)基于自動(dòng)遍歷的app爬蟲工具. 支持android和iOS, 支持真機(jī)和模擬器. 最大的特點(diǎn)是靈活性. 可通過(guò)配置來(lái)設(shè)定遍歷的規(guī)則.(指哪打哪)
(2)環(huán)境要求

  • java8
  • appium1.8x

二,安裝并運(yùn)行

(1)安裝AppCrawler

1.直接下載:最新版本下載地址: https://pan.baidu.com/s/1dE0JDCH
2.從源代碼編譯

(2)運(yùn)行:
  • 初次運(yùn)行(需要先啟動(dòng)appium)
    啟動(dòng)appium:
appium --session-override

啟動(dòng)appcrawler:

java -jar appcrawler-2.4.0-jar-with-dependencies.jar
  • 啟動(dòng)并遍歷已經(jīng)安裝過(guò)的app
java -jar appcrawler-2.4.0-jar-with-dependencies.jar --capability “appPackage=com.xueqiu.android,appActivity=.view.WelcomeActivityAlias”
(3)生成demo.yml及配置參數(shù)解析

1,生成配置文件demo.yml:

java -jar appcrawler-2.4.0-jar-with-dependencies.jar --demo

2,capability: 與appium的capability一致
3,testcase:

  • testcase的先決條件:
    given 所有的先決條件
    when 先決條件成立后的行為
    then 斷言集合贮配,通過(guò)xpath斷言集合在不在
  • testcase的簡(jiǎn)寫形態(tài):
    xpath對(duì)應(yīng)when里的xpath
    action對(duì)應(yīng)when里的action
  • 樣例: 點(diǎn)擊"我的"頁(yè)面后,從下往上滑動(dòng),再點(diǎn)擊"設(shè)置"按鈕
testcase:
    name: "testcase appcrawler"
    steps:
        - xpath: 我的
          action: click
        - xpath: //*
          action: driver.swipe(0.5, 0.9, 0.5, 0.1)
        - xpath: 設(shè)置
          action: click

4,selectedList:需要被遍歷的元素范圍
5,firstList:優(yōu)先被點(diǎn)擊
6,lastList:最后被點(diǎn)擊
規(guī)定誰(shuí)先誰(shuí)后
7,tagLimitMax:同類型控件最多點(diǎn)擊多少次
8,backButton:當(dāng)所有都被點(diǎn)擊后艳丛,最后再點(diǎn)擊。默認(rèn)后退控件定位(返回按鈕)
9,blackList :黑名單(注銷)匠襟,加入進(jìn)即表示不點(diǎn)擊這個(gè)按鈕
10,maxDepth: 6 纤怒,改為1的話喳整,只要離開這個(gè)頁(yè)面就自動(dòng)返回來(lái)
11,triggerActions: 觸發(fā)器

  • 需要特定次數(shù)的觸發(fā)動(dòng)作
  • 通常用于處理彈窗
    xpath:制動(dòng)具體按鈕
    acthon:動(dòng)作
    times:規(guī)則的使用次數(shù)
  • 樣例:點(diǎn)擊按鈕,觸發(fā)triggerActions關(guān)閉登錄頁(yè)面
testcase:
    name: "testcase appcrawler"
    steps:
        - xpath: "http://*[@resouce-id='com.xueqiu.andriod:id/post_status']"
          action: click
triggerActions:
    name: "testcase appcrawler"
    steps:
        - xpath: "http://*[@resouce-id='com.xueqiu.andriod:id/iv_close']"
          action: click

四.xpath與action

1, 定位模式XPATH

  • xpath 都可以
    //[@resource-id=‘xxx’]
    //
    [contains(@text, ‘密碼’)]
  • 正則 表達(dá)式也可以(^表示開頭 .表示任一多個(gè)字符)
    ^確定$
    ^.
    輸入密碼
  • 包含(只需給出按鈕包含元素的一個(gè)字或者多個(gè)字即可)流码,例如:輸入如下text
    密碼
    輸入
    請(qǐng)

2, action動(dòng)作支持

  • click
  • “”只是截圖記錄
  • back后退
  • backApp 回退到當(dāng)前的app默認(rèn)等價(jià)與back行為 可定制
  • monkey 隨機(jī)事件
  • 執(zhí)行代碼:
    Thread.sleep(3000)
    driver.swipe(0.9,0.5,1.5,1.2)

三,使用 Appcrawler

先生成配置文件 使用 “–demo”提陶,生成 <demo.yaml>
打開配置文件行施,修改符合需求的測(cè)試用例
執(zhí)行java -jar … -c demo1.yml(需先進(jìn)入到j(luò)ar包所在的目錄下允坚,才能運(yùn)行)
人工檢測(cè)瀏覽截圖
編程檢查Dom結(jié)構(gòu)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市悲龟,隨后出現(xiàn)的幾起案子屋讶,更是在濱河造成了極大的恐慌,老刑警劉巖须教,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皿渗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡轻腺,警方通過(guò)查閱死者的電腦和手機(jī)乐疆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贬养,“玉大人挤土,你說(shuō)我怎么就攤上這事∥笏悖” “怎么了仰美?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵迷殿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我咖杂,道長(zhǎng)庆寺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任诉字,我火速辦了婚禮懦尝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘壤圃。我一直安慰自己陵霉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布伍绳。 她就那樣靜靜地躺著踊挠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪墨叛。 梳的紋絲不亂的頭發(fā)上止毕,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音漠趁,去河邊找鬼扁凛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛闯传,可吹牛的內(nèi)容都是我干的谨朝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼甥绿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼字币!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起共缕,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤洗出,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后图谷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翩活,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年便贵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了菠镇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡承璃,死狀恐怖利耍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤隘梨,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布程癌,位于F島的核電站,受9級(jí)特大地震影響出嘹,放射性物質(zhì)發(fā)生泄漏席楚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一税稼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垮斯,春花似錦郎仆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至熊杨,卻和暖如春曙旭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晶府。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工桂躏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人川陆。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓剂习,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親较沪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鳞绕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356