---
logLevel: "TRACE"
reportTitle: "Jingdata" #指生成的HTML(index.html)報告頭部顯示的標題信息
saveScreen: true
screenshotTimeout: 20
currentDriver: "android"
showCancel: true
tagLimitMax: 5
tagLimit:
- xpath: //*[../*[@selected='true']]
count: 12
maxTime: 10800
resultDir: "" #結果文件夾名,給定後,將不動態命名
capability:
newCommandTimeout: 120
launchTimeout: 120000
platformVersion: ""
platformName: "Android"
autoWebview: "false"
autoLaunch: "true"
noReset: "true"
androidInstallTimeout: 180000
androidCapability:
deviceName: ""
appPackage: "com.android36kr.investment"
appActivity: "" #寫不寫無所謂,由於APP會自動判別當前的activity是否正確,是否是launchActivity,若是不是則會報錯
dontStopAppOnReset: true
app: ""
appium: "http://127.0.0.1:4723/wd/hub"
# automationName: uiautomator2
automationName: uiautomator2
reuse: 3
headFirst: true
enterWebView: true
urlBlackList:
- //*[contains(@resource-id, "tv_setting_logout") and @clickable='true'] #登出
- //*[contains(@resource-id, "toolbar_close") and @clickable='true'] # 關閉按鈕,不然會陷入死循環一直遍歷同一個頁面
- //*[contains(@resource-id, "login_36kr_forgot_pass") and @clickable='true'] # 忘記密碼,避免登錄時按照遍歷順序影響登錄
- //*[contains(@resource-id, "mine_info_icon") and @clickable='true] # 個人資料 頭像部分設置不可點擊(每次一運行到這裏就結束了)
- //*[contains(@resource-id, "tv_name") and @clickable='true] #頭部卡片 姓名
- //*[contains(@resource-id, "tv_company_name") and @clickable='true] # 頭部卡片 公司和職位
- //*[contains(@resource-id, "company_avatar") and @clickable='true] # 頭部 禁止進入個人資料頁面
- //*[contains(@resource-id, "chat_invest_card_rl") and @clickable='true] # 聊天頁的項目頭部,避免又進入詳情頁,跳出了循環
- //*[contains(@resource-id, "chat_send_contact_ll") and @clickable='true] #聊天詳情頁,交換名片,避免遍歷線上包時與線上用戶交互
- //*[contains(@resource-id, "ll_header") and @clickable='true] # 個人資料頭像部分的整個頭部區域,由於一點擊頭像後喚起照相就不運行了
urlWhiteList:
- //*[contains(@resource-id, "login_36kr_ll") and @clickable='true'] #必須遍歷帳號密碼登陸的按鈕(以此方式才能登陸成功)
- //*[contains(@resource-id, "fl_msg") and @clickable='true'] #右上角的私信按鈕
- //*[contains(@resource-id, "iv_setting") and @clickable='true'] # 左上角的設置按鈕
backButton:
- //*[contains(@resource-id, "toolbar_back") and @clickable='true']
triggerActions: # 主要解決登陸的問題,當遇到登陸輸入框時,輸入內容,比testcase更好用
- action: "1771019****"
xpath: "//*[@resource-id='com.android36kr.investment:id/login_36kr_phone_edit']"
times: 1
- action: "123456"
xpath: "//*[@resource-id='com.android36kr.investment:id/login_36kr_pass_code']"
times: 1
- action: "click"
xpath: "//*[@resource-id='com.android36kr.investment:id/login_36kr_go_btn']"
times: 1
- action: "swipe("down")"
xpath: "//*[@resource-id='com.android36kr.investment:id/share']"
times: 1
startupActions:
- swipe("left")
- println(driver)
testcase:
name: swipeTest
steps:
- when:
xpath: //*[contains(@resource-id, 'share')]
action: driver.swipe(0.5,0.8,0.5,0.2)
then: []
一、java -jar appcrawler-2.1.0.jar --capability appPackage=xxxxxx,appActivity=xxxxxx
二、appium --session-override:4:10,配置文件說明:11:00(看視頻主要地方)
三、配置文件使用:true和false是開啓和關閉的意思
logLevel:日誌級別
saveScreen:是否截圖
reportTitle:報告名字
screenshotTimeout:屏幕超時時間
currentDriver:當前設備(Android/iOS)
resultDir:結果文件夾名,給定後,將不動態命名
tagLimitMax:ios的元素tag控制
tagLimit:給tag
maxTime:最大運行時間
showCancel:應該是控制是否展現註釋
capability:用於配置appium
androidCapability:Android專屬配置,最後會和capability合併
iosCapability:iOS專屬配置
urlWhiteList/blackList:白名單/黑名單
xpathAttributes:用來設定能夠用那些種類型去定位控件
defineUrl:用來肯定url的元素定位xpath 他的text會被取出看成url因素(沒理解)
baseUrl:設置一個起始url和maxDepth, 用來在遍歷時候指定初始狀態和遍歷深度
maxDepth:默認的最大深度10, 結合baseUrl可很好的控制遍歷的範圍
appWhiteList:app白名單,若是跳轉到其餘app,須要設定規則,是否容許停留在次app中
headFirst:是不是前向遍歷或者後向遍歷
enterWebView:是否遍歷WebView控件
urlBlackList:url黑名單.用於排除某些頁面
urlWhiteList:url白名單, 第一次進入了白名單的範圍, 就始終在白名單中. 否則就算不在白名單中也得遍歷.
上層是白名單, 當前不是白名單才須要返回
defaultBackAction:默認的返回動做(沒看到例子,貌似不特指的話,是click)
backButton:給一些返回控件,用於返回動做使用
firstList:優先遍歷元素
selectedList:默認遍歷列表,若是不是指定的類型,而是肯定控件,會分別點擊控件
lastList:最後遍歷的元素
blackList:排除某些控件
triggerActions:制定規則(action、xpath、times)
autoCrawl:自動抓取,看源碼指定true後運行crawl(conf.maxDepth)命令
(crawl——清空堆棧 開始從新計數)應該是appcrawler的主要方法
asserts:斷言,用因而否失敗的判斷
testcase:測試用例,看appcrawler日誌,每次都是首先運行用例纔會往下執行
beforeElementAction:貌似沒什麼人用,字面意思在元素動做以前
afterElementAction:與beforeElementAction的待遇差很少
afterUrlFinished:也是很冷門的待遇
monkeyEvents:monkey的點擊數
monkeyRunTimeSeconds:monkey運行時間
given是條件 或輸入 when是觸發條件和動做 then是斷言
四、一次ctrl+c生成報告,兩次ctrl+c是強行退出
五、終端輸入Scala進入Scala解釋器,輸入:q或:quit退出解釋器
六、遍歷的深度應該怎麼設置好,老是跳到其它頁面,就回不到當前頁面繼續遍歷了,看文檔 經過黑白名單
七、設置一個起始url和maxDepth, 用來在遍歷時候指定初始狀態和遍歷深度
四. 遇到的問題有哪些?如何解決html