① 自動化或如何能寫腳本配置文件備份
你希望實現的是數據自動備份吧,你可以試試FtpCopy,FtpCopy支持多種備份規則設置。FtpCopy是一款穩定可靠的數據自動備份軟體,能夠實現FTP數據和本地磁碟數據的定時自動備份,包含FTP自動下載、FTP自動上傳、本地磁碟三種備份模式。
② 創造 | 一個強大的 Android 自動化打包腳本
該腳本是我在獨立開發過程中,為了提升 Android 應用打包和運營的效率而開發的腳本。項目地址是,
https://github.com/Shouheng88/autopackage
如項目中的語言構成展示的,該腳本完全使用 Python 語言開發完成。
使用起來非常簡單,首先你要准備如下的環境,
然後,通過編輯配置文件 config.yml 對腳本進行配置。比如,
YAML 格式也不算新穎,早在幾年之前的 SpringBoot 裡面就已經採用了這種格式。相比於使用 json 或者 properties 等格式的配置文件,它更加簡潔。
1、使用 gradle 指令自動打包,區分 32 位和 64 位 :因為現在有些應用市場明確要求區分 32 位和 64 位,所以,打包的時候要分開進行打包。
2、打包完成之後將 APK 拷貝到指定的目錄 :主要用來做本地的 APK 文件備份,後面也會用這里拷貝的 APK 文件進行自動化加固。
3、使用 diffuse 輸出相對於上一個版本的 APK 版本差異報告 :diffuse 是 JakeWharton 開發的 APK, AAB, AAR 和 JAR 的對比工具。這里我用它對比當前版本和上一個版本的 APK 的信息,以實現對 APK 質量的監控。diffuse 項目的地址是 https://github.com/JakeWharton/diffuse
3、拷貝多語言資源到指定的目錄,並自動提交到 Github 倉庫以便於協助翻譯 :對做國際化的應用的開發者而言,我們可以通過應用內的協助翻譯功能藉助社區的力量實現應用的多語言。這里我盡量將這個過程做得更加自動化。即在應用打包完成之後將應用內的多語言資源按照版本信息拷貝到指定的目錄下。然後使用 Git 工具將其推送到 Github 等。具體的效果可以參考 https://github.com/Shouheng88/LeafNote-Community .
4、自動打 tag 並提交到遠程倉庫 :該功能用來在打包完成之後使用為當前版本添加 Git tag,以便於後續根據版本回滾到指定的 Git 提交記錄。
5、根據 Git 提交記錄自動生成更新日誌 :上面做了為項目自動添加 Git tag 的功能之後,我們可以根據當前版本到上一版本之間的 Git 提交記錄的 comment 信息自動生成版本更新日誌。雖然,這個這樣生成的更新日誌並不能直接用作發布時的更新記錄,但在至少可以讓我們直觀得看到這個版本修改了什麼。
6、使用 360 加固 對上述 APK 進行加固並輸出到指定的目錄 :加固操作其實非常簡單,只需要一個 command 指令就可以完成了,
不過在使用上述命令之前需要先通過 GUI 的形式修改你在 360 加固中的渠道和簽名信息(直接手動改文件也可以)。
7、上傳打包 APK 到藍奏雲 :藍奏雲是現在很多開發者用來分享軟體的一個雲存儲平台,100M 以下的文件可以免費存儲,類似於網路雲。上傳藍奏雲之前需要先修改配置文件,
這里需要填入的 ylogin 和 phpdisk_info 可以在登錄之後通過 Chrome 的開發工具查看 cookie 信息得到。目前能夠做到自動化的一個方案就是使用上述兩個信息。
8、通過 Telegram bot 將打包完成的渠道包和更新日誌信息發送到 Telegram 群組 :對海外的用戶我們可以通過 Telegram 作為一個交流的渠道。Telegram 是一個非常好用的聊天軟體。它提供了 bot 功能,即一個可以推送消息的機器人。我們可以通過這個功能來在群組中推送消息、圖片和文件。Telegram 的 bot 有非常強大的自定義性。其實我們完全可以基於爬蟲和 bot 維護一個社區,然後通過在社區內推送廣告來獲得一些利益。這也不失為一個賺錢的渠道。使用 Telegram bot 之前需要在配置文件中填入如下信息,
這里的 token 是注冊 bot 的時候得到的信息。chat_id 可以通過如下方式獲取到:
即將 token 信息填入到上述 <YourBOTToken> 處。在返回的 json 結果中可以獲取到 chat id 信息。
向群組推送信息的方式非常簡單,一個 http 請求即可完成,
更多的協議可以參考這個文檔: https://core.telegram.org/bots/api#senddocument
9、完成上述操作之後使用郵件通知打包結果 :最後就是在完成了最終的打包操作之後通過 Email 發送一封郵件,內部包含了本次打包的 diff 信息等給指定的用戶。使用郵件功能需要在配置文件中填寫,
這里我們使用的是 QQ 郵箱來發送郵件。這里需要填寫的 user 和 password 欄位分別是郵箱和開通 smtp 服務時系統提供的密碼信息。QQ 郵箱開通 SMTP 伺服器其 官方文檔 即可。
上述是該打包腳本的主要功能。後續我會添加更多功能。因為時間有限,有些功能需要修改一下才能使用。不過,許多功能我都封裝成了獨立的 Python 腳本,如果需要的話可以自己做細微的修改。對於這個腳本,如果你有更好的建議和想法,可以跟我交流~
③ 怎麼實現shell腳本自動上傳
不知道你對ssh服務有多少了解,只要你能夠使用ssh連接到伺服器,那就跟你能不能碰到伺服器沒關系,可以使用scp和sftp傳輸文件,本地的.ssh/known_hosts裡面保存的是主機密鑰,只是為了第一次遠程連接建立主機互信的,並沒什麼卵用。要想不用密碼而使用密鑰直接登錄,還需要在本地用ssh-keygen生成密鑰對,然後把公鑰上傳至伺服器端才行。至於你說的實現shell腳本上傳,這就是一個命令就能解決,不知道能否把問題說得更明確一點
④ 測試中如何使用自動化腳本
從畢業到現在,經歷了軟體開發,
軟體測試,
1)QTP工具。QTP是一個快速測試專業工具。它的優點是可以快速建立企業自動化框架,但不是一個全能的工具,因為利用QTP並不能幫助用戶找出更多的 BUG,只能提高執行測試用例的效率。 QTP的價格也較貴。 QTP主要應用於較穩定的測試項目的回歸測試,UI的變化不明顯,功能較穩定的項目。它可以節省回歸測試的成本,但相對手工測試來說,QTP對測試人員的要求較高,比如要掌握VB腳本,掌握函數調用等技術;另外,建立QTP框架前期需要投入較大的人力寫測試用例,加上調試的時間,是一筆不小的開銷,所以企業在選用QTP測試工具時一定要三思而後行。
2)Loadrunner是一個企業級性能測試工具,應用十分廣泛。對於WEB應用,Loadrunner的優勢十分明顯。但與QTP一樣,lr的 License十分昂貴,所以很多企業都使用破解版。並且真正掌握LR精髓的人員並不多,很多人都會使用這個工具,但能用這個工具找出系統瓶頸的人並不多,所以,會使用Loadrunner和會性能測試是兩碼事。懂腳本語言的性能測試人員當然最好。
3)Python和Tcl/tk腳本語言。在我之前的經驗中,我用到過PYTHON和TCL。他們都是腳本語言,不需要編譯。兩種語言的特點如下:Python開發JAVA方面的http介面比較方便;tcl/tk開發C++方面的介面更容易一些。PYTHON寫的程序可讀性強,TCL寫的程序的可讀性不好。
4)在需要產生一些大批量數據時,如一個表需要插入100萬條數據,然後這100萬條數據屬於100個不同的類別,如果是手工輸入的話,估計10個人一個月都輸不完,但如果利用腳本,如PB,VB或者Tcl/tk,可以通過產生批量SQL腳本的方式,來產生SQL腳本,這樣不到半小時就可以搞定全部的數據。看來腳本的威力不小!
5)另外,就是Linuxshell腳本了,我們通常說「事半功倍」,shell腳本的確可以幫助你實現這個目的。我們平時在LINUX部署一個應用會用到很多的命令如 Checkout,ps,vi,kill等等,如果能把這個操作流程寫成一個SHELL腳本讓機器自動執行,那該是省了多少事?另外,作為 UNIX/LINUX管理員,平時可以要監控較多的PC終端,他完全可以在UNIX/LINUX上定製各種任務(如備份,刪除臨時文件,檢查磁碟空間等等),所以,掌握Shell腳本(如Sed,awk,grep等)對一個測試人員來講是十分必要的!
6)另外一個就SQL腳本了,要能寫存儲過程(SP)和觸發器(Trigger),還有游標(Cursor)的使用,掌握這些的話對於測試資料庫方面的用例是相當有幫助的。SQL腳本對系統性能和功能都起著十分重要的作用。
作為一名有6年測試經驗的工程師,我堅定地認為腳本測試技術是以後的發展方向,包括白盒測試,也是將來的一個發展方向,對於測試人員來講,核心競爭力是能完整的測試開發人員的程序,盡可能找出更多的BUG。黑盒測試只能從系統的角度去完成功能測試,但作為軟體本身,應該作更深層次的測試。
⑤ 自動化測試實例二:腳本開發(上)
完成測試用例後就可以開發測試腳本,一般包括自動化測試框架的開發和功能腳本的開發。在本節中不介紹如何開發自動化測試框架,有興趣的讀者可以參考《 QTP 自動化測試與框架模型設計 》一書中第 19 章和第 20 章的自動化測試框架的內容。本章介紹該實例中需要調用到的函數。
(1)公用函數封裝。
在本實例中需要封裝的函數主要包括: 讀取測試用例、輸入每個測試用例的測試結果。
通過獲取單元格中數據的行數,可以確定測試用例文檔中有多少條測試用例, 代碼如下:
讀取單元格中的數據,即獲得測試用例值, 代碼如下:
在該實例中還需要記錄每個測試用例執行的結果, 封裝的代碼如下:
由於在本實例中需要連接資料庫,檢查資料庫中的數據是否正確,所以將連接資料庫的代碼進行封裝, 代碼如下:
(2)單一模式腳本開發。
自動化測試腳本開發完成後,開始錄制腳本,這個階段主要是將自動化測試的需求轉換為一個簡單的腳本。
1)錄制登錄過程的腳本如下:
2)錄制訂票流程的腳本如下:
3)錄制航班信息的腳本如下:
4)錄制查詢訂票信息的腳本如下:
(3)腳本增強。
錄制好的單一模式腳本的功能很弱,只完成了一個簡單的功能,不具備可擴展性,無法兼容不同的測試數據,所以需要對上面的腳本進行增強。在錄制單一模式的腳本時,其實有一個功能是通用的,就是登錄功能,每個操作的功能都需要先登錄系統,所以可將一個正確登錄的腳本封裝成一個過程,這樣可以節約腳本量,也便於維護腳本。在封裝登錄過程時,需要使用到描述性編程, 封裝的代碼如下:
接著對登錄的腳本進行增強操作,增強的原因是腳本需要能正確處理當輸入用戶名或密碼出錯的情況。 主要需要處理的情況有: 輸入的用戶名為空、輸入的用戶名少於 4 個字元、輸入的密碼為空、輸入的密碼少於 4 個字元。 登錄功能增強後的腳本如下:
訂票流程腳本的增強主要需要處理訂票日期未輸入和輸入錯誤的情況, 訂票流程功能增強後的腳本如下:
航班信息查詢腳本的增強主要是需要檢查當選擇出發城市和到達城市後,顯示出來的航班信息是否正確,腳本增強時需要獲取所有航班信息。 增強後的腳本如下:
查詢訂票信息腳本增強主要是需要檢查該航班號是否存在,如果航班號不存在,會彈出相應的對應信息;如果查詢的訂單號存在,就會顯示出該訂單的相關信息。 增強後的腳本如下:
⑥ 再見 Jenkins!幾行腳本搞定自動化部署,這款神器有點厲害
Drone是一款基於容器技術的持續集成工具,使用簡單的YAML配置文件即可完成復雜的自動化構建、測試、部署任務,在Github上已經有22K+Star。
對比Jenkins復雜的圖形化界面操作,Drone使用腳本來定義流水線任務無疑更簡單、更直觀。Drone更加輕量級,內存佔用少且響應速度快!自動化部署要啥Jenkins?直接給Git整個CI/DI功能難道不香么?
https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-drone
⑦ iOS開發知識體系之《腳本自動化打包--xcodebuild》
iOS腳本自動化打包方案--xcodebuild
本文主要xcodebuild腳本自動化打包並上傳到蒲公英或者AppStore,廢話不多說,直接上干貨!
先了解一下xcodebuild打包需要的一些指令
-workspace XXX.xcworkspace
XXX.xcworkspace需要編譯工程的工作空間名稱,如果工程不是.xcworkspace的,可以不需要-workspace XXX.xcworkspace這段話
-scheme XXX
XXX是工程名稱,-scheme XXX是指定構建工程的名稱
-configuration Release
填入打包的方式是Debug或Release,就跟在Xcode中編譯前需要在Edit scheme的Build configuration中選擇打出來的包是Debug還是Release包一樣,-configuration就是配置編譯的Build configuration
-archivePath ./myArchivePath
配置生成.xcarchive的路徑, ./表示生成在當前目錄下,myArchivePath是生成的.Archive文件名稱
ODE_SIGN_IDENTITY=證書
配置打包的指定證書,如果該工程的Xcode已經配置好了證書,那麼不加入這段話也可以,打包出來的證書就是Xcode中配置好的。
PROVISIONING_PROFILE=描述文件UUID
配置打包的描述文件,同上,Xcode已經配置好了就不用在填入這段話了
CONFIGURATION_BUILD_DIR
配置編譯文件的輸出路徑,如果需要用到.xcarchive文件內部的dSYM等文件,可以使用改欄位指定輸出路徑。
如果工程是勾選了Automatically manage signing,那麼就不用在配置ODE_SIGN_IDENTITY和PROVISIONING_PROFILE,今天這里講到的Automatically manage signing自動配置證書,手動配置的就不多說了,有興趣的話可以自己研究。
xcode工程配置自動獲取證書,如下圖:
打包所需要文件
配置打包的ExportOptions.plist文件,可以在任意一個Xcode工程中新建一個ExportOptions.plist文件。dev和adHoc和AppStore的配置文件內容不一樣,可以先手動打包後看下plist文件的樣式,這里提供一個樣例:
這里method對應的value為打包對應的環境,有development、ad-hoc、app-store、enterprise根據打包環境來配置不同的值
編譯腳本命令
xcodebuild archive -workspace XXX.xcworkspace -scheme XXX -configuration Release -archivePath ./myArchivePath CONFIGURATION_BUILD_DIR ./dir ODE_SIGN_IDENTITY=證書 PROVISIONING_PROFILE=描述文件UUID
導出ipa包命令
xcodebuild -exportArchive -archivePath ./myArchivePath.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath ./out
-archivePath ./myArchivePath.xcarchive指定需要打包的.xcarchive路徑,./myArchivePath.xcarchive表示在當前終端路徑下的myArchivePath.xcarchive文件
-exportOptionsPlist ./ExportOptions.plist指定打包需要的ExportOptions.plist配置文件路徑
-exportPath ./out指定打包輸出的路徑, ./out表示打包結果輸出在終端的當前路徑下的out文件家中。如果沒有out文件夾會自動創建一個
腳本操作
首先:cd到需要自動打包的工程下
然後:在終端中輸入touch xcodebuild.sh創建xcodebuild.sh腳本文件
然後:雙擊打開腳本寫入下面 腳本內容(請確保所有版本的plist配置文件都寫好了)
最後:在終端中輸入./xcodebuild.sh運行腳本,按照步驟完成打包選擇(如果運行的時候出現Permission denied,請先在終端中執行chmod a+x *.文件的後綴名後,在運行,相當於提高腳本文件的許可權)
腳本內容
此腳本包含了自動上傳蒲公英的選擇操作,根據輸入指令來執行具體操作
腳本實現
具體詳細腳本見GitHub地址: https://github.com/Luck-666/xcodebuild.sh.git 如果好用記得給star,謝謝!
如腳本打包執行遇到問題可留言溝通!
⑧ 安卓應用如何實現自動化測試,如何不用上傳特定case或腳本進行測試
WeTest騰訊質量開放平台可以測試包括內存使用情況,CPU消耗,以及流量使用情況等實時的性能數據。可以試試用一下,操作簡單獲得的數據卻很專業。把App安裝在雲端手機上,邊操作,邊觀察性能數據的變化。測試結束後還可以查看報告和下載日誌。
可以看出,這個網站還能截圖、查看時間軸,了解CPU峰值位置的時間,當時的APP的場景截圖。這樣就可以知道CPU內存佔比,流量變化啥的,確實非常好用。
⑨ 求助,如何在bat腳本裡面實現交互自動化
批處理是不行的 用VBS 很簡單 例子如下 Set objShell = CreateObject("Wscript.Shell") do WScript.Sleep 3000 objShell.SendKeys "{F5}" WScript.Sleep 3000 objShell.SendKeys "{F5}" loop 使用 SendKeys 方法可以將鍵擊發送到無自動化界面的...