運用Appium 實現添加微信好友自動化

本文為原創文章,如需轉載請注明出處. ?

?

任務:實現批量添加微信好友自動化。

?

任務分析:1.首先要實現添加單個好友步驟自動化。

? ? ? ? ? ? ? 2.實現腳本讀取Excel里的值。

? ? ? ? ? ? ? 3.參數化好友電話號碼或者昵稱。

??????????PS:代碼采用POM(Page Object Model)便于后續維護

?

數據準備:將要加好友的電話號碼或者昵稱存進Excel

?

環境與平臺搭建1. JS-Mocha-WebdriverIO-Appium-Android

? ? ? ? ? ? ? ? ? ? ? ?2. appiumVersion1.6.2

? ? ? ? ? ? ? ? ? ? ? ?3. platformName’android’

? ? ? ? ? ? ? ? ? ? ? ?4. platformVersion: ‘5.1.1’

? ? ? ? ? ? ? ? ? ? ? ?5. weChatVersion: ‘6.3.31’

?

具體步驟:

  1. 首先要實現添加單個好友步驟自動化。

? ? ? ? ??uiautomatorviewer查看添加好友步驟各個元素的定位標識符。在寫之前一定要將各個頁面的元素先命好名。我發現,提前命名能提高代碼效率。

? ??? ?? ? ? ? ? ? ??

?

? ? ? ? ??? ? ??

?

? ? ? 2.實現腳本讀取Excel里的值。這里我用到的庫是xlsx.基本用法如下

  • 用?XLSX.readFile?打開 Excel 文件,返回?workbook
  • ?workbook.SheetNames?獲取表名
  • ?workbook.Sheets[xxx]?通過表名獲取表格
  • xlsx.utils.sheet_to_jsonexcel返回的值變為json格式

? ? ? 3.參數化好友電話號碼或者昵稱

? ? ? ?結合第2點。取出單元格的值重新放進一個新的數組里。此后通過forEach方法就可以輕松實現參數化了。

? ?這里必須要強調的一點是,excel返回的第一行的值為jsonheader

? ?我將第2,3點封裝成了一個函數。下文調用的wrapperFunctions.loopColumnValue()就是這段。

? ?

?

吧唧了這么久,終于上成品了。都是點點點。。。

? ? ??

請注意:上述代碼只考慮了能正確添加好友的路徑。關于沒有搜索到相關好友的negative test cases 沒有在這里覆蓋到。有需要的朋友們,可以在實戰中完善它。

?

?

?

?

?

? ?

?

?

?

?

?

?

?

? ?

轉載于:https://www.cnblogs.com/chaseHard/p/6202803.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394343.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394343.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394343.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pdf.js瀏覽中文pdf亂碼的問題解決

由于項目中需要支持移動設備在線瀏覽pdf,蘋果還好,天生支持,但是安卓中就不行了,需要第三方組件的支持。 這里就找到了pdf.js,由于pdf數據太多,開始的時候沒法一一測試,所以隨便測試打開了幾篇沒…

python導入sas數據集_運用import過程進行SAS數據導入完全實用教程

運用import過程進行SAS數據導入完全實用教程1 單個規范格式文件導入。對單個文件進行導入是我們遇到最多的情況,主要有以下幾種:1.1 對指定分隔符(’|’,’’,’!’,’ab’等)數據的導入,這里以’!’為例de…

【效率專精系列】善用API統一描述語言提升RestAPI開發效率

團隊內部RestAPI開發采用設計驅動開發的模式,即使用API設計文檔解耦前端和后端的開發過程,雙方只在聯調與測試時耦合。在實際開發和與前端合作的過程中,受限于眾多因素的影響,開發效率還有進一步提高的空間。本文的目的是優化工具…

leetcode劍指 Offer 14- I. 剪繩子(動態規劃)

給你一根長度為 n 的繩子,請把繩子剪成整數長度的 m 段(m、n都是整數,n>1并且m>1),每段繩子的長度記為 k[0],k[1]…k[m-1] 。請問 k[0]k[1]…*k[m-1] 可能的最大乘積是多少?例如,當繩子的…

數據包提取文件_航測怎樣高效提取無人機POS航點數據

無限創新工作室研發的POS數據記錄儀是一款采集飛控POS 數據并管理的設備,它將飛控 POS 點數據進行記錄,形成單獨的POS 數據記錄TXT 文本,并獨立存儲于內存卡,可通過USB、U 盤或內存卡形式對數據進行讀取。通過對相機進行拍照控制和…

點擊刪除表格中的行并提交到數據庫

html中&#xff1a; <el-table-column prop"operation" label"操作" width"170"> <template slot-scope"scope"> <el-button size"small" type"danger" click"deleteRow(scope.$index,s…

BZOJ 1878: [SDOI2009]HH的項鏈

1878: [SDOI2009]HH的項鏈 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 3548 Solved: 1757[Submit][Status][Discuss]Description HH有一串由各種漂亮的貝殼組成的項鏈。HH相信不同的貝殼會帶來好運&#xff0c;所以每次散步 完后&#xff0c;他都會隨意取出一段貝殼&…

分布式 知乎 github_如何使用GitHub本機功能來幫助管理中型分布式團隊

分布式 知乎 githubby Alex Ewerlf由AlexEwerlf 如何使用GitHub本機功能來幫助管理中型分布式團隊 (How to use GitHub native features to help manage a mid-size distributed team) My team created a wiki page in our private Github repo about how we work on a common…

開始時間小于 結束時間 js_DNF分享紅包開始及結束時間 紅包有什么獎勵相關介紹...

[閩南網]DNF分享紅包分享快樂時間從2019年的1月3日開始到1月21日前結束&#xff0c;活動期間玩家每天登錄游戲可以得到一個新年紅包&#xff0c;使用后可以為同一個頻道的玩家送去祝福&#xff0c;根據送出紅包的數量得到不同的獎勵。(dnf幸運餃子鋪活動)(DNF95版新副本攻略)本…

文件的相關操作

將輸出的內容直接輸出到文件中去 &#xff1a;freopen( “1.txt” , "w" , stdout &#xff09;轉載于:https://www.cnblogs.com/ccut-ry/p/7456190.html

leetcode1504. 統計全 1 子矩形(動態規劃)

給你一個只包含 0 和 1 的 rows * columns 矩陣 mat &#xff0c;請你返回有多少個 子矩形 的元素全部都是 1 。 示例 1&#xff1a; 輸入&#xff1a;mat [[1,0,1], [1,1,0], [1,1,0]] 輸出&#xff1a;13 解釋&#xff1a; 有 6 個 1x1 的矩形。 有 2 個 1x2 的矩形。 有 3…

學plc好還是python好_PLC是學西門子的好還是學三菱的?

有人回復的很經典&#xff1a;“小孩子才會選擇&#xff0c;大人肯定是都要。”如果你是學生&#xff0c;或者正準備踏入這個行業&#xff0c;建議你先學西門子的博途&#xff0c;畢竟這個在國內用的人多些。但是&#xff0c;你要時刻記得&#xff0c;你的目標是星辰大海~~~不要…

wps如何自己制作流程圖_怎么制作流程圖,wps自動生成流程圖方法

在職場中我們要會熟練使用各種辦公軟件&#xff0c;才能提高我們的工作效率&#xff0c;下面我為大家分享三種制作流程圖的方法&#xff0c;非常簡單哦&#xff01;一&#xff0c;在Word中制作流程圖1&#xff0c;首先點擊“插入”再點擊“形狀”,點擊新建繪圖畫布&#xff0c;…

doom 源碼_Cartpole和Doom的策略梯度簡介

doom 源碼by Thomas Simonini通過托馬斯西蒙尼(Thomas Simonini) Cartpole和Doom的策略梯度簡介 (An introduction to Policy Gradients with Cartpole and Doom) This article is part of Deep Reinforcement Learning Course with Tensorflow ??. Check the syllabus here…

SQL 郵件配置篇

在我們運維工作中&#xff0c;經常要對備份&#xff0c;ETL等作業進行監控&#xff0c;這時我們需要用到SQL SERVER自帶的郵件服務器&#xff0c;其原理&#xff0c;我在這么里不多說&#xff0c;直接來實戰&#xff0c;下面是我對服務器配置源碼&#xff0c;分享給大家&#x…

選定用戶與用戶組啟動流程(學習筆記)

public class RepostoryServiceTest {private static final Logger LOGGER LoggerFactory.getLogger(RepostoryServiceTest.class);Rulepublic ActivitiRule activitiRule new ActivitiRule();Testpublic void testRepository(){//repositoryService最重要的功能就是對流程定…

python關于包的題怎么做_Python自定義包引入

python中的Module是比較重要的概念。常見的情況是&#xff0c;事先寫好一個.py文 件&#xff0c;在另一個文件中需要import時&#xff0c;將事先寫好的.py文件拷貝 到當前目錄&#xff0c;或者是在中增加事先寫好的.py文件所在的目錄&#xff0c;然后import。這樣的做法&#x…

汽車之家的安全框架,是如何從0到1搭建的?

“別人家的安全”是安全威脅情報&#xff08;微信ID&#xff1a;Threatbook&#xff09;近期推出的一檔專欄。 合規、管理、構建、應急……安全問題千千萬&#xff0c;層出不窮。我們沒辦法給出這些問題的標準答案&#xff0c;但我們可以用Case Study的形式&#xff0c;讓你看看…

leetcode264. 丑數 II

編寫一個程序&#xff0c;找出第 n 個丑數。 丑數就是質因數只包含 2, 3, 5 的正整數。 示例: 輸入: n 10 輸出: 12 解釋: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 個丑數。 說明: 1 是丑數。 n 不超過1690。 解題思路 直接用treeset去重和排序 代碼 class Solution …

vr多人_如何構建多人VR網絡應用

vr多人by Srushtika Neelakantam通過Srushtika Neelakantam 如何構建多人VR網絡應用 (How to build a multiplayer VR web app) In this article, we’ll learn about three great frameworks/libraries that allow any web developer to build a VR app that works on any de…