本文為原創文章,如需轉載請注明出處. ?
?
任務:實現批量添加微信好友自動化。
?
任務分析:1.首先要實現添加單個好友步驟自動化。
? ? ? ? ? ? ? 2.實現腳本讀取Excel里的值。
? ? ? ? ? ? ? 3.參數化好友電話號碼或者昵稱。
??????????PS:代碼采用POM(Page Object Model)便于后續維護
?
數據準備:將要加好友的電話號碼或者昵稱存進Excel。
?
環境與平臺搭建:1. JS-Mocha-WebdriverIO-Appium-Android
? ? ? ? ? ? ? ? ? ? ? ?2. appiumVersion:1.6.2
? ? ? ? ? ? ? ? ? ? ? ?3. platformName:’android’
? ? ? ? ? ? ? ? ? ? ? ?4. platformVersion: ‘5.1.1’
? ? ? ? ? ? ? ? ? ? ? ?5. weChatVersion: ‘6.3.31’
?
具體步驟:
- 首先要實現添加單個好友步驟自動化。
? ? ? ? ??用uiautomatorviewer查看添加好友步驟各個元素的定位標識符。在寫之前一定要將各個頁面的元素先命好名。我發現,提前命名能提高代碼效率。
? ??? ?
? ? ? ? ? ? ??
?
? ? ? ? ??? ? ??
?
? ? ? 2.實現腳本讀取Excel里的值。這里我用到的庫是xlsx.基本用法如下
- 用?XLSX.readFile?打開 Excel 文件,返回?workbook
- 用?workbook.SheetNames?獲取表名
- 用?workbook.Sheets[xxx]?通過表名獲取表格
- xlsx.utils.sheet_to_json將excel返回的值變為json格式
? ? ? 3.參數化好友電話號碼或者昵稱
? ? ? ?結合第2點。取出單元格的值重新放進一個新的數組里。此后通過forEach方法就可以輕松實現參數化了。
? ?這里必須要強調的一點是,excel返回的第一行的值為json的header。
? ?我將第2,3點封裝成了一個函數。下文調用的wrapperFunctions.loopColumnValue()就是這段。
? ?
?
吧唧了這么久,終于上成品了。都是點點點。。。
? ? ??
請注意:上述代碼只考慮了能正確添加好友的路徑。關于沒有搜索到相關好友的negative test cases 沒有在這里覆蓋到。有需要的朋友們,可以在實戰中完善它。
?
?
?
?
?
? ?
?
?
?
?
?
?
?
? ?