appium python ios 自動化


  mac下搭建appium python selenium來針對ios應用進行自動化測試,並不是官網上的例子,自己程序調試成功。

  前言:因為appium的安裝前要先確定nodejs的安裝、python的安裝、npm、selenium的安裝 這些不想洗說。直接appium  

  一:安裝appium,簽完不能用sudo進行安裝

      1、npm install appium  等待。這樣成功后接着下一步

      2、npm install wd(為什么安裝,真的不知道,貌似沒安裝也行)

      3、去下載appium 的dum文件進行安裝。官網下載就好,直接安裝

      4、sudo pip install Appium-Python-Client   安裝,我不知道這個和上面的有什么區別,只是安裝上面那個報錯了

到這里貌似appium安裝好了,接下來就是ios打包的問題:

      問題:

        在開始的時候我直接是用xcode打的app包,然后手機里面也是把這個包安裝好了的,結果無論怎么的,都是報錯,報錯,報錯。

      辦法:

        在網上找的所有教程,都是說的官網上下載那個教程,然后使用xcodebuild進行打包,然后怎么怎么的,可是我不是要例子,我只能用自己的包,所以問題來了:

        1、xcode里面打包的方式好幾種,而且簽名好幾種,那么你需要進行選擇,這個找開發幫忙,不細說,糾結。

        2、build的時候因為大多數用了pod這個第三方的插件,所以打包基本都會報錯,那么找開發解決吧。打包的時候涉及到一個參數問題,指定工程名進行打包

        3、打包的時候直接在xcode里面選擇project,選擇build,不要選擇其他的,這個時候build出來的包就在工程下面會多一個buld文件,這里面找到.app文件,拷貝出來,放在根目錄下。

        4、把包弄好了之后,啟動appium客戶端,然后選擇蘋果那個小圖標進行選擇,在基本設置里面把剛.app文件的路徑加進去,下面buildid的id在ccode里面找到輸入進去,還有就是uuid,輸入進去,其他的沒了。

        5、腳本:

#-*- coding: UTF-8 -*-
import unittest
from appium import webdriver
import time

class SimpleIOSTests(unittest.TestCase):

    def setUp(self):
        # setup appium
        app = '/Users/Easter/Desktop/AutoTestIOS/StudyAndProgress.app'  #和小圖標里面的路徑必須一樣,下面的id和小圖標里面的id必須一樣
        self.driver = webdriver.Remote(
            command_executor='http://127.0.0.1:4723/wd/hub',
            desired_capabilities={
                'app': app,
                'platformName': 'iOS',
                'platformVersion': '7.1',
                'deviceName': '5422c4433ce7ab54545de64f39627a80b8b65en'
            })

    def tearDown(self):
        self.driver.quit()


    def test_ui_computation(self):
        time.sleep(5)
        # populate text fields with values
#最新版本的appium使用name定位的時候會有問題。看了一下資料說的是appium的bug。 el = self.driver.find_element_by_xpath("//UIAApplication[1]/UIAWindow[1]/UIATabBar[1]/UIAButton[2]") el.click() time.sleep(5) if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromTestCase(SimpleIOSTests) unittest.TextTestRunner(verbosity=2).run(suite)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM