巧用bat文件作Airtest腳本的「批量運行」


👆對私有云感興趣能夠進入公衆號回覆「私有云」哦。微信








前言


.bat  文件是可執行文件,它包含一條或多條命令。使用  .bat  文件進行批處理操做,能夠幫助咱們簡化平常或者重複性的操做。
以前咱們的教程講過 如何使用命令行運行Airtest腳本 ,實際上  .bat  文件裏面的命令也是靠  cmd.exe  解析執行的,因此咱們能夠在  .bat  文件中編寫運行airtest腳本的命令,以此來執行airtest腳本。

1

用bat文件執行單個Airtest腳本多線程


咱們來先來複習下,使用命令行運行Airtest腳本的指令:  airtest run + 腳本文件路徑  ,另外還能夠在命令後面跟上  --device --log  和  --recording  等參數。
舉幾個運行airtest腳本的例子:
  
    
  
  
   
   
            
   
   
# 不帶任何參數運行腳本
airtest run D:\test\newsLogin.air
# 帶命令行參數運行腳本
airtest run D:\test\newsLogin.air --device Android:/// --log log/ --recording
回顧了在命令行運行airtest腳本的知識點後,咱們再來看下如何新建  .bat  文件。首先咱們須要在電腦上新建一個  .txt  文件,並輸入如下內容:
  
    
  
  
   
   
            
   
   
::關閉回顯
@echo off
::切換到D
D:
::進入D盤的test目錄
cd D:\test
::執行 airtest run 命令
start airtest run newsLogin.air
exit
其中  ::xxx  表示的是註釋內容,能夠不寫入  .txt  文件中;另外示例腳本的路徑爲  D:\test\newsLogin.air  ,因此這裏還作了切換到腳本路徑的操做,同窗們能夠根據本身腳本的實際狀況來進行切換。
還須要注意的是,在上述示例中,咱們已經在示例腳本的開頭添加了設備和  log  的初始化內容,因此不用另外在運行命令後面加上各類運行參數:
  
    
  
  
   
   
            
   
   
auto_setup(__file__,logdir=True,devices=["Android://127.0.0.1:5037/emulator-5554"])
若是同窗們的測試設備相對固定,也建議直接將這些參數寫到腳本中,能夠簡化命令行運行腳本的命令。
寫完以上幾條命令後,咱們關掉  .txt  文件,並將他的後綴名  txt  改爲  bat  ,以後會彈出重命名的警示彈窗,點擊「是」便可。最後,咱們能夠來檢測下運行效果:

2

用bat文件順序執行多個airtest腳本app


使用  .bat  文件成功執行單個airtest腳本以後,咱們來試試用  .bat  文件順序執行多個airtest腳本:
  
    
  
  
   
   
            
   
   
@echo off
D:
cd D:\test
title 正在執行第一個腳本
airtest run newsLogin.air
title 正在執行第二個腳本
airtest run newsUsing.air
title 正在執行第三個腳本
airtest run newsExit.air
exit
能夠看到,在上述登陸網易新聞的示例腳本以外,咱們又增長了兩個腳本,分別用來實現使用網易新聞和退出登陸等操做。
因此在  .bat  文件中,咱們分別寫了三條用於運行對應腳本的命令,其中  title xxx  用來指定命令提示窗口的標題,可讓咱們清晰地看出當前是在執行第幾個腳本。最終的執行效果以下:

3

用bat文件實現多機運行less


在  .bat  文件中, start  能夠啓動單獨的命令行窗口來運行指定程序或命令。因此咱們能夠利用  start  命令開啓多個命令行窗口,實如今多臺設備上執行同一個腳本:
  
    
  
  
   
   
            
   
   
@echo off
D:
cd D:\test
start "正在使用雷電模擬器跑腳本" airtest run newsLogin.air --device Android://127.0.0.1:5037/emulator-5554
start "正在使用mumu模擬器跑腳本" airtest run newsLogin.air --device Android://127.0.0.1:5037/127.0.0.1:7555
exit
上述命令能夠實如今1臺雷電模擬器和1臺mumu模擬器上跑同一個腳本,效果以下:
固然,咱們還能夠給每一臺設備單獨配置1個 .bat 文件,最後再寫1個總的 .bat 文件來調度前面用於在特定設備上運行腳本的 .bat 。若是你們感興趣的話,也能夠自行實現任務調度、多線程運行的方案來批量運行腳本。







小結


在一些狀況下,使用  .bat  文件能夠幫助咱們簡化代碼,並減小不少重複性的操做,童鞋們能夠根據本身的實際狀況靈活使用~

(嘿同窗,若是推文對你有幫助的話,幫忙點個贊或者在看唄~)
用airtest作滑動解鎖怎麼搞?其實很簡單!
2行代碼幫你搞定自動化測試的文字識別
Airtest測試Windows窗口翻車?仍是想跟大家聊聊測試win窗口的一些問題


本文分享自微信公衆號 - AirtestProject(AirtestProject)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。編輯器

相關文章
相關標籤/搜索