移動端上傳分測平臺
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 移動雲測平臺探索 - 毛鴻鶴
- [推薦]移動相容性測試平臺
- 移動自動化測試平臺,瞄準金融行業行業
- 移動 App 雲測試平臺的對比與分析APP
- 移動端上滑實現翻頁功能
- fastlane實現自動化打包上傳測試平臺AST
- 移動端上傳圖片進行平移放大縮小操作後生成海報
- 自動化測試平臺
- 移動跨平臺開發深度解析
- hybird跨平臺移動app開發APP
- 移動平臺的技術演變
- C#移動跨平臺開發(2)Xamarin移動跨平臺解決方案是如何工作的?C#
- 手自一體化的移動雲測試平臺建設方案
- 獵豹移動要做全球TOP3的移動廣告平臺
- [zt]跨平臺表空間傳輸 (DB遷移)
- UI 自動化測試平臺UI
- 阿里雲移動研發平臺EMAS是什麼?移動研發平臺EMAS有什麼特色?阿里
- 如何前端上傳檔案前端
- 移動廣告聚合平臺選擇的考量
- 移動跨平臺技術方案總結
- 移動平臺各種路勁總結
- 移動App僅需幾分鐘 五大雲開發平臺推薦APP
- 用傳輸表空間跨平臺遷移資料
- 跨平臺表空間遷移(傳輸表空間)
- [opendx] 基於 appium 的移動端 UI 自動化測試平臺-介紹篇APPUI
- 移動端上拉和下拉重新整理程式碼例項
- Django 介面自動化測試平臺Django
- 紙質文件管理平臺 打造雲端上的文件儲藏室
- 紙質文件管理平臺打造雲端上的文件儲藏室
- 移動端跨平臺開發的深度解析
- 陌陌躋身移動廣告平臺四強
- Baird Equity Research:移動開發平臺前景展望AIUI移動開發
- Visionmobile:移動平臺墓園啟示錄
- 使用Termux打造你的移動開發平臺UX移動開發
- 移動全平臺效能測試工具PerfDog常見問題與解決方案
- 【騰訊 TMQ】從 0 到 1:打造移動端 H5 效能測試平臺MQH5
- gm版傳奇手遊平臺 最大的傳奇手遊平臺