移動端上傳分測平臺
app 上傳分測平臺:
0.fir
1.svn
2.pgy
3.testflight
class Upload():
def __init__(self, job_id,file, upload_type):
'''
:param file:上傳檔案
:param upload_type:上傳型別,FIR=0,SVN=1,PGY=2,TESTFLIGHT=3,字串型別
'''
self.app_path = file
self.upload_type = upload_type
self.log_path = path.join(os.path.expandvars('$HOME'), 'app_manage/log',
Utils.get_current_time1()+ '.log')
def svn_upload(self, svn_path, commit_msg):
"""
:param file_path:上傳檔案路徑
:param svn_path:svn存放路徑
:param commit_msg:svn提交資訊
:return:提交結果,是否成功
"""
if os.path.exists(self.app_path):
svn_shell = 'svn import -m\"' + commit_msg + '\" ' + self.app_path + ' ' + svn_path
if 'Committed revision ' in utils.Utils.cmd_result_msg(svn_shell, log_path=self.log_path):
return True
else:
return False
return
def fir_upload(self, platform_name, fir_token, change_log_file):
# gem install fir-cli
if fir_token and os.path.exists(self.app_path):
fir_login_shell = 'fir login ' + fir_token
if 'Login succeed' in utils.Utils.cmd_result_msg(fir_login_shell, log_path=self.log_path):
fir_upload_shell = 'fir publish ' + self.app_path
if change_log_file and os.path.exists(change_log_file):
fir_upload_shell = fir_upload_shell + ' --changelog=' + change_log_file
if 'Published succeed' in utils.Utils.cmd_result_msg(fir_upload_shell, log_path=self.log_path):
return True
return
def pgy_upload(self, platform_name, api_key, ukey):
begin = Utils.get_current_time()
if os.path.exists(self.app_path) and ukey and api_key:
pgy_upload_shell = 'curl -F file=@' + self.app_path + ' -F uKey=' + ukey + ' -F _api_key=' + api_key + ' http://www.pgyer.com/apiv1/app/upload'
pgy_upload_result = utils.Utils.cmd_result_msg(pgy_upload_shell, log_path=self.log_path)
result = json.loads(pgy_upload_result, strict=False)
if result['code'] == 0:
upload_path = result['data']['appQRCodeURL']
return True
else:
return False
return
def testflight_upload(self, username, password_token):
if os.path.exists(self.app_path):
ipa_validate_shell = "xcrun altool --validate-app -f " + self.app_path + " -t iOS -u " + username + " -p " + password_token + " --output-format xml"
ipa_upload_shell = "xcrun altool --upload-app -f " + self.app_path + " -t iOS -u " + username + " -p " + password_token + " --output-format xml"
if "No errors validating archive at" in utils.Utils.cmd_result_msg(ipa_validate_shell,log_path=self.log_path):
if "No errors uploading" in utils.Utils.cmd_result_msg(ipa_upload_shell, log_path=self.log_path):
return True
return
def run(self, platform_name, fir_token, svn_path, commit_msg, ukey, api_key, username, password_token,
change_log_file=None):
"""
:param fir_token:fir分測平臺賬戶token
:param change_log_file:fir分測提交日誌
:param svn_path:svn目錄
:param commit_msg:svn提交日誌
:param ukey:蒲公英分測賬號ukey
:param api_key:蒲公英分測賬號api key
:param username:appstore使用的apple id賬號
:param password_token:appstore使用的apple id動態碼
:return:
"""
try:
if self.upload_type == '0' and fir_token:
return self.fir_upload(platform_name, fir_token, change_log_file)
elif self.upload_type == '1' and svn_path and commit_msg:
return self.svn_upload(svn_path, commit_msg)
elif self.upload_type == '2' and ukey and api_key:
return self.pgy_upload(platform_name, ukey, api_key)
elif self.upload_type == '3' and username and password_token:
return self.testflight_upload(username, password_token)
except Exception:
return False
相關文章
- 雲上的移動效能測試平臺
- UC 移動雲測平臺探索 - 毛鴻鶴
- 移動自動化測試平臺,瞄準金融行業行業
- 移動端上上(transform-translateZ註冊)ORM
- 移動端上傳圖片進行平移放大縮小操作後生成海報
- 移動端測試分類
- 移動平臺大地圖+水效果地圖
- 移動跨平臺開發深度解析
- 自動化測試平臺
- 阿里雲移動研發平臺EMAS是什麼?移動研發平臺EMAS有什麼特色?阿里
- 手自一體化的移動雲測試平臺建設方案
- [opendx] 基於 appium 的移動端 UI 自動化測試平臺-介紹篇APPUI
- 如何前端上傳檔案前端
- 移動跨平臺技術方案總結
- 用傳輸表空間跨平臺遷移資料
- UI 自動化測試平臺UI
- 動視暴雪遊戲主要收入來自移動平臺遊戲
- 移動端跨平臺開發的深度解析
- 移動廣告聚合平臺選擇的考量
- 使用Termux打造你的移動開發平臺UX移動開發
- Switchquery:移動端秒級配置觸達平臺
- 移動全平臺效能測試工具PerfDog常見問題與解決方案
- 紙質文件管理平臺 打造雲端上的文件儲藏室
- 紙質文件管理平臺打造雲端上的文件儲藏室
- Django 介面自動化測試平臺Django
- 【資料遷移】XTTS跨平臺傳輸表空間(1.傳統方式)TTS
- 平臺宣傳片
- 短影片一鍵分發平臺,3分鐘分發全平臺
- 淺談 2018 移動端跨平臺開發方案
- Flutter嚐鮮:跨平臺移動應用開發Flutter
- 在移動平臺,“戰錘”IP能否催生爆款?
- Flutter:移動端跨平臺技術演進之路Flutter
- 移動開發的跨平臺技術演進移動開發
- 5大移動應用開發平臺推薦
- 移動端上拉載入和下拉重新整理的vue外掛Vue
- 浙江移動容器雲基於 Dragonfly 的統一檔案分發平臺生產實踐Go
- 阿里雲移動研發平臺EMAS:2月產品動態阿里
- gm版傳奇手遊平臺 最大的傳奇手遊平臺