appium + 파이썬 APP UI 자동화 - APP 패키지를 시작합니다

lib 디렉토리 :

lib 디렉토리 / GetDriver.py (APP 시작)

# - * - 코딩 : UTF-8 - * - 
'' ' 
2019년 11월 6일에 만든 

@author : 01372445 
' '' 

에서 appium의 수입 webdriver
 에서 시간을 가져 수면
 수입 ReadConfig
 수입 GetDeviceInfo를 

데프 getdriver () : 
    readcf = ReadConfig. ReadConfig () 
    URL = readcf.getitemvalue ( " 장치 " , " URL " ) 
    platformName = readcf.getitemvalue ( " 장치 " , "platformName" ) 
    automationName = readcf.getitemvalue ( " 장치 " , " automationName " ) 
    appPackage = readcf.getitemvalue ( " 장치 " , " appPackage " ) 
    appActivity = readcf.getitemvalue ( " 장치 " , " appActivity " ) 

    디바이스 = GetDeviceInfo.GetDeviceInfo ( ) 
    장치 이름 = device.GetDeviceName () 

    U " 启动앱接口"
    desired_caps = {} 
    [desired_caps ' platformName ' = platformName 
    desired_caps [ ' 장치 이름 ' = DeviceName에 
    desired_caps [ ' automationName ' = automationName 
    desired_caps [ ' appPackage ' = appPackage 
    desired_caps [ ' appActivity ' = appActivity 
    desired_caps [ ' resetKeyboard를 ' ] = ' 진정한 '
    desired_caps [ ' unicodeKeyboard ' ] = ' true로 ' 
    [desired_caps ' NoReset는 ' ] 진정한 = #의 appium1.6은 이후 버전이 설정은 응용 프로그램의 로그인 상태 절약 할 수 있습니다 필요 
    드라이버 = webdriver.Remote (command_executor = URL, desired_capabilities = desired_caps)
     반환 드라이버 


IF  __name__ == ' __main__ ' : = getDriver ()

 

lib 디렉토리 / ReadConfig.py (관련 구성을 읽을 수)

# - * - 코딩 : UTF-8 - * - 
'' ' 
2019년 11월 6일에 만든 

' '' 
수입   configparser
 수입 운영 체제의 

클래스 ReadConfig () :
     데프  __init__ (자동) : 
        self.currentdir = os.getcwd () 
        자기 .configfilepath = STR (self.currentdir) + " \ config.ini를 " 
        self.cf = configparser.ConfigParser () 
        self.cf.read (self.configfilepath) 

    DEF getitemvalue (자기, 항목, 항목) 
        itemvalue = self.cf 갔지 (섹션 항목)
         반환 itemvalue를


경우  __name__ == ' __main__ ' : = ReadConfig () 
    B = a.getitemvalue ( " 이메일 " , " 이름 " )
     인쇄 (B)

LIB / config.ini를 (연관된 구성)

[장치] 
platformName = 로이드 
automationName = uiautomator2 
appPackage = XXX 
appActivity = XXX 
URL = http://127.0.0.1:4723/wd/ 허브 


[메일] 
SMTPSERVER = XXX 
자명 = XXX 
암호 = XXX 
송신자 = XXX 
수신기 = XXX 

[cmd를 ] 
openAppium = 노드 /Applications/Appium.app/Contents/Resources/node_modules/appium/bin/ appium.js 
stopAppium =  pkill에 노드
startserver에 = ADB statr- 서버 
closeServer = ADB kill- 서버 
checkPhone = GET-ADB 상태 
장치 이름 = ADB 장치 
devicevesion는 ADB 쉘 getprop의 ro.build.version.release를 =

공개 / GetDeviceInfo.py (정보 취득 장치)

# - * - 코딩 : UTF-8 - * - 
'' ' 
2019년 11월 6일에 만든 

@author : 01372445 
' '' 

수입 ReadConfig
 수입 운영 체제
 수입 

클래스 GetDeviceInfo를 () :
     데프  __init__ (자동) : 
        self.readcf = ReadConfig.ReadConfig () 
        self.namecmd = self.readcf.getitemvalue ( " cmd를 " , " 장치 이름 " ) 
        self.vesioncmd = self.readcf.getitemvalue ( " cmd를 " , " devicevesion ")

    DEF GetDeviceName (자기) : 
        R & LT = 일은 os.popen (self.namecmd) 
        텍스트 = r.readlines ()
         경우 . (텍스트) 렌 == 3 : 
            장치 이름 [. 1 = 텍스트 ] .split () [0]
             인쇄  " 장치 이름은 IS " , 장치 이름의
             반환 장치 이름
         의 elif LEN (텍스트)> 3. :
             인쇄  " 컴퓨터가 장치에 연결, 하나 개 이상의 장치에 연결되어 " 

        다른 :
             인쇄  " 어떤 장치가 연결되어 있지, 연결 장치 " 



    DEF GetDevicePlatformVersion (자기) :
        R = 일은 os.popen (self.vesioncmd) 
        텍스트 = r.read () 
        버전 = STR (텍스트)
         인쇄  " 设备的版本号: " 버전의
         반환 버전의 

경우  __name__ == ' __main__ ' : = GetDeviceInfo를 () 
    가. GetDeviceName () 
    a.GetDevicePlatformVersion ()

 

추천

출처www.cnblogs.com/dmtz/p/11807480.html