<strike id="gcwsi"></strike>
  • <ul id="gcwsi"></ul>

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:哈爾濱千鋒IT培訓  >  技術干貨  >  使用Python自動化測試iOS項目

    使用Python自動化測試iOS項目

    來源:千鋒教育
    發布人:xqq
    時間:2023-11-12 00:10:25

    作為一個開發人員,為了保證自己的代碼的健壯,寫單元測試是必不可少的環節,然而最痛快的是每天去手動跑一遍所有的case。那么什么能幫我們解決這些繁瑣的操作呢,大家應該會想到自動化測試腳本了,是的,我們可以借助腳本來完成全自動化測試,下面是我列的每天腳本自動執行流程:

    1、pullgit倉庫里面的最新代碼到本地。

    2、然后打包成App。

    3、安裝到模擬器上。

    4、運行App,執行單元測試,生成測試數據并保存到本地。

    5、腳本讀取測試數據,郵件發送給相關人員。

    當這些全自動化后,可以大大減少開發人員的維護成本,即使每次項目里面有新增模塊后,增加測試case就行了,下面會介紹自動測試這5步具體怎么去執行,整個腳本是使用Python寫的,代碼很少功能也很簡單,但這已經可以幫我們完成基本的自動化測試了,這就是腳本的強大之處,選擇Pyhton純屬個人喜好,最近也在學習Python,當然了最終使用什么語言看你自己。

    python執行shell命令完成測試

    首先確認本機上安裝了git和python。

    腳本判斷本地是否存在項目,不存在則使用命令gitclone...,存在則使用命令gitpull...。

    這些在Linux的命令都可以使用腳本來完成的,python的os.popen()方法就是可以在Linux上執行shell命令。

    例如:把下面這段代碼添加到一個test.py的文件里,然后在終端上執行pythontest.py命令你就會看到,你的當前目錄下正在下載我的博客了。

    importos

    os.popen('gitclonehttps://github.com/leopardpan/leopardpan.github.io.git')

    gitpull。。。更新代碼也是一樣的。

    接下來的打包、安裝、運行都是使用python執行shell命令

    把iOS項目打包成App,下面的Demo是項目的名字

    os.popen(‘xcodebuild-projectDemo.xcodeproj-targetDemo-configurationDebug-sdkiphonesimulator’)

    這行腳本運行完成后,你就會發現同會生成一個build的文件夾。

    Debug參數表示現在是Debug模式,如果Xcode里面改成Release了,這里需要改成Release。

    xcodebuild命令是XcodeCommandLineTools的一部分。通過調用這個命令,可以完成iOS工程的編譯,打包和簽名過程。可以使用xcodebuild–help來看看具體有哪些功能。

    打開iOS模擬器,這里運行的是iPhone6Plus你也可以換成其它型號的模擬器

    os.popen(‘xcruninstruments-w“iPhone6Plus”’)

    把剛才打包生成的App安裝到模擬器上在安裝之前要先卸載App,不然你運行的永遠是最初安裝的那個,后來安裝的不會覆蓋之前的,卸載App

    os.popen(‘xcrunsimctluninstallbootedcom.test.Demo’)

    booted后面接的是BundleIdentifier,我的是com.test.Demo,然后再安裝App

    os.popen(‘xcrunsimctlinstallbootedbuild/Debug-iphonesimulator/Demo.app‘)

    booted后面接的是.app的路徑,我打包的時候的是Debug,所以這個的文件夾名稱是Debug-iphonesimulator。

    在模擬器里運行App

    os.popen(‘xcrunsimctllaunchbootedcom.test.Demo’)

    booted后面接的是BundleIdentifier,我的是com.test.Demo。

    到目前為止,你就會發現你的項目已經運行起來了,你可以在項目是Debug模式下一啟動就執行單元測試,然后把對應的測試數據保存到本地為data.json。然后在使用python腳本讀取測試文件的數據,最終使用郵件發送給相關人員,pyhton讀取數據很簡單,一行代碼就行

    data=open(‘data.json’).read()

    data里面就是json字符串,為了腳本操作簡單,我在存儲的時候直接把json格式的轉成了字符串類型。

    python發送郵件

    我使用的是SMTP進行郵件發送的,SMTP是發送郵件的協議,Python內置對SMTP的支持,可以發送純文本郵件、HTML郵件以及帶附件的郵件。

    Python對SMTP支持有smtplib和email兩個模塊,email負責構造郵件,smtplib負責發送郵件,具體代碼如下:

    fromemailimportencoders

    fromemail.headerimportHeader

    fromemail.mime.textimportMIMEText

    fromemail.utilsimportparseaddr,formataddr

    importsmtplib

    defformat_addr(self,s):

    name,addr=parseaddr(s)

    returnformataddr((\

    Header(name,'utf-8').encode(),\

    addr.encode('utf-8')ifisinstance(addr,unicode)elseaddr))

    defsend_mail(self,mail,message,title):

    from_addr='leopardpan@163.com'

    password=''

    to_addr=mail

    smtp_server='smtp.163.com'

    msg=MIMEText(message,'plain','utf-8')

    msg['From']=self.format_addr(u'自動化測試郵件

    以上內容為大家介紹了使用Python自動化測試iOS項目,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.mobiletrain.org/

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    猜你喜歡LIKE

    python函數中的參數有哪些?

    2023-11-14

    python中pygal模塊如何使用?

    2023-11-14

    Python描述符中有哪三種方法?

    2023-11-14

    最新文章NEW

    如何使用python any()判斷多元素?

    2023-11-14

    python中doctest庫是什么?

    2023-11-14

    python模塊引入的三種方式

    2023-11-14

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>