运行时报错

来源:5-14 多进程、unittest、HTMLTestRunner、启动服务流程梳理代码重构

慕先生809202

2019-04-24

Android 7.0
代码

coding=utf-8

import unittest
import HTMLTestRunner
import threading
import multiprocessing
from appium import webdriver
import time
from base.base_driver import BaseDriver
from bussiness.login_bussiness import LoginBussniess
from util.server import Server
from util.write_user_command import WriteUserCommand

class ParameTestCsse(unittest.TestCase):
def init(self,methodName=‘runTest’,parame=None):
super(ParameTestCsse,self).init(methodName)
global parames
parames=parame

class CaseTest(ParameTestCsse):

@classmethod
def setUpClass(cls):
    print "setUpClass---->",parames
    cls.login_bussiness = LoginBussniess(parames)

    print 'this is class'

def setUp(self):
    print 'this is setup\n'

def test_01(self):
   print "test case 里面的参数",parames
   self.login_bussiness.login_pass()
    # flag=False
    # print 'this is case01'
    # self.assertEqual(1,2,"数据错误")
    # self.assertNotEqual(1,1)
    # # self.assertTrue(flag)
    # self.assertFalse(flag)
# @unittest.skip('CaseTest')
def test_02(self):

    print 'this is case02'
    self.login_bussiness.login_user_error()

def tearDown(self):
    print 'this is teardown'

@classmethod
def tearDownClass(cls):
    print 'this is teardownclass'

def appium_init():
server=Server()
server.main()

def get_suite(i):
print “get_suite里面的”,i
# unittest.main()
suite = unittest.TestSuite()
# suite.addTest(CaseTest(‘test_02’, parame=i))
suite.addTest(CaseTest(‘test_01’,parame=i))

# suite.addTest(CaseTest('test_01'))

unittest.TextTestRunner().run(suite)
# html_file = "E:/Appium/report/report"+str(i)+".html"
# fp = file(html_file, 'wb')

# HTMLTestRunner.HTMLTestRunner(fp).run(suite)

def get_count():
write_user_file = WriteUserCommand()
count = write_user_file.get_file_lines()
return count

if name==‘main’:
appium_init()

threads = []
for i in range(get_count()):
    # print i
    t = multiprocessing.Process(target=get_suite,args=(i,))
    threads.append(t)
for j in threads:
    j.start()

错误

C:UsersMtimeenvAppiumScriptspython.exe E:/Appium/case/test_case.py

[‘appium -p4710-bp4910-U61cdc297–no-reset --session-override’]

[‘appium -p4713-bp4911-UPBV0216719000685–no-reset --session-override’]

[Appium] Welcome to Appium v1.12.1

[Appium] Non-default server args:

[Appium] port: 4710

[Appium] sessionOverride: true

[Appium] Appium REST http interface listener started on 0.0.0.0:4710

[Appium] Welcome to Appium v1.12.1

[Appium] Non-default server args:

[Appium] port: 4713

[Appium] sessionOverride: true

[Appium] Appium REST http interface listener started on 0.0.0.0:4713

get_suite里面的 0

setUpClass----> 0

get_suite里面的 1

setUpClass----> 1

[HTTP] --> POST /wd/hub/session

[HTTP] {“capabilities”:{“firstMatch”:[{“appium:appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appium:noReset”:“true”,“appium:automationName”:“UiAutomator2”,“appium:app”:“D:\apk\imooc7.1.110102001android.apk”,“appium:deviceName”:“61cdc297”,“appium:appPackage”:“cn.com.open.mooc”,“platformName”:“Android”}]},“desiredCapabilities”:{“deviceName”:“61cdc297”,“app”:“D:\apk\imooc7.1.110102001android.apk”,“noReset”:“true”,“appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appPackage”:“cn.com.open.mooc”,“platformName”:“Android”,“automationName”:“UiAutomator2”}}

[debug] [W3C] Calling AppiumDriver.createSession() with args: [{“deviceName”:“61cdc297”,“app”:“D:\apk\imooc7.1.110102001android.apk”,“noReset”:“true”,“appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appPackage”:“cn.com.open.mooc”,“platformName”:“Android”,“automationName”:“UiAutomator2”},null,{“firstMatch”:[{“appium:appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appium:noReset”:“true”,“appium:automationName”:“UiAutomator2”,“appium:app”:“D:\apk\imooc7.1.110102001android.apk”,“appium:deviceName”:“61cdc297”,“appium:appPackage”:“cn.com.open.mooc”,“platformName”:“Android”}]}]

[debug] [BaseDriver] Event ‘newSessionRequested’ logged at 1556109198104 (20:33:18 GMT+0800 (中国标准时间))

[HTTP] --> POST /wd/hub/session

[HTTP] {“capabilities”:{“firstMatch”:[{“appium:appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appium:noReset”:“true”,“appium:automationName”:“UiAutomator2”,“appium:app”:“D:\apk\imooc7.1.110102001android.apk”,“appium:deviceName”:“PBV0216719000685”,“appium:appPackage”:“cn.com.open.mooc”,“platformName”:“Android”}]},“desiredCapabilities”:{“deviceName”:“PBV0216719000685”,“app”:“D:\apk\imooc7.1.110102001android.apk”,“noReset”:“true”,“appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appPackage”:“cn.com.open.mooc”,“platformName”:“Android”,“automationName”:“UiAutomator2”}}

[debug] [W3C] Calling AppiumDriver.createSession() with args: [{“deviceName”:“PBV0216719000685”,“app”:“D:\apk\imooc7.1.110102001android.apk”,“noReset”:“true”,“appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appPackage”:“cn.com.open.mooc”,“platformName”:“Android”,“automationName”:“UiAutomator2”},null,{“firstMatch”:[{“appium:appActivity”:“com.imooc.component.imoocmain.splash.MCSplashActivity”,“appium:noReset”:“true”,“appium:automationName”:“UiAutomator2”,“appium:app”:“D:\apk\imooc7.1.110102001android.apk”,“appium:deviceName”:“PBV0216719000685”,“appium:appPackage”:“cn.com.open.mooc”,“platformName”:“Android”}]}]

[debug] [BaseDriver] Event ‘newSessionRequested’ logged at 1556109198154 (20:33:18 GMT+0800 (中国标准时间))

[Appium] Appium v1.12.1 creating new AndroidUiautomator2Driver (v1.33.0) session

[Appium] Capabilities:

[Appium] platformName: Android

[Appium] appActivity: com.imooc.component.imoocmain.splash.MCSplashActivity

[Appium] noReset: true

[Appium] automationName: UiAutomator2

[Appium] app: D:apkimooc7.1.110102001android.apk

[Appium] deviceName: 61cdc297

[Appium] appPackage: cn.com.open.mooc

[debug] [BaseDriver] W3C capabilities {“alwaysMatch”:{"platformNa… and MJSONWP desired capabilities {“deviceName”:“61cdc297”,"a… were provided

[debug] [BaseDriver] Creating session with W3C capabilities: {“alwaysMatch”:{"platformNa…
[BaseDriver] Capability ‘noReset’ changed from string to boolean. This may cause unexpected behavior
[BaseDriver] Session created with session id: 8cac050c-5197-45a1-8713-7308ede874a2

[Appium] Appium v1.12.1 creating new AndroidUiautomator2Driver (v1.33.0) session

[Appium] Capabilities:

[Appium] platformName: Android

[Appium] appActivity: com.imooc.component.imoocmain.splash.MCSplashActivity

[Appium] noReset: true

[Appium] automationName: UiAutomator2

[Appium] app: D:apkimooc7.1.110102001android.apk

[Appium] deviceName: PBV0216719000685

[Appium] appPackage: cn.com.open.mooc

[debug] [BaseDriver] W3C capabilities {“alwaysMatch”:{"platformNa… and MJSONWP desired capabilities {“deviceName”:"PBV021671900… were provided

[debug] [BaseDriver] Creating session with W3C capabilities: {“alwaysMatch”:{"platformNa…

[BaseDriver] Capability ‘noReset’ changed from string to boolean. This may cause unexpected behavior

[BaseDriver] Session created with session id: 8da17d1d-875c-4fa2-9170-4ffd2c246240

[BaseDriver] Using local app ‘D:apkimooc7.1.110102001android.apk’

[debug] [UiAutomator2] Checking whether app is actually present

[BaseDriver] Using local app ‘D:apkimooc7.1.110102001android.apk’

[debug] [UiAutomator2] Checking whether app is actually present

[ADB] Checking whether adb is present

[ADB] Found 10 ‘build-tools’ folders under ‘C:UsersMtimeAppDataLocalAndroidandroid-sdk’ (newest first):

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/29.0.0-preview

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.3

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.2

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.1

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.0

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.0-preview

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.3

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.2

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.1

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.0

[ADB] Using adb.exe from C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe

[AndroidDriver] Retrieving device list

[debug] [ADB] Trying to find a connected android device

[debug] [ADB] Getting connected devices…

[ADB] Checking whether adb is present

[ADB] Found 10 ‘build-tools’ folders under ‘C:UsersMtimeAppDataLocalAndroidandroid-sdk’ (newest first):

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/29.0.0-preview

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.3

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.2

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.1

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.0

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/28.0.0-preview

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.3

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.2

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.1

[ADB] C:/Users/Mtime/AppData/Local/Android/android-sdk/build-tools/27.0.0

[ADB] Using adb.exe from C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe

[AndroidDriver] Retrieving device list

[debug] [ADB] Trying to find a connected android device

[debug] [ADB] Getting connected devices…

[debug] [ADB] 2 device(s) connected

[AndroidDriver] Using device: 61cdc297

[debug] [ADB] Setting device id to 61cdc297

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell getprop ro.build.version.sdk’

[debug] [ADB] 2 device(s) connected

[AndroidDriver] Using device: 61cdc297

[debug] [ADB] Setting device id to 61cdc297

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell getprop ro.build.version.sdk’

[debug] [ADB] Current device property ‘ro.build.version.sdk’: 23

[debug] [ADB] Device API level: 23

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 wait-for-device’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell echo ping’

[debug] [ADB] Current device property ‘ro.build.version.sdk’: 23

[debug] [ADB] Device API level: 23

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 wait-for-device’

[debug] [AndroidDriver] Pushing settings apk to device…

[debug] [ADB] Getting install status for io.appium.settings

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.settings’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell echo ping’

[debug] [AndroidDriver] Pushing settings apk to device…

[debug] [ADB] Getting install status for io.appium.settings

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.settings’

[debug] [ADB] ‘io.appium.settings’ is installed

[debug] [ADB] Getting package info for ‘io.appium.settings’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.settings’

[debug] [ADB] ‘io.appium.settings’ is installed

[debug] [ADB] Getting package info for ‘io.appium.settings’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.settings’

[ADB] Checking whether aapt is present

[ADB] Using aapt.exe from C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewaapt.exe

[debug] [ADB] The version name of the installed ‘io.appium.settings’ is greater or equal to the application version name (‘2.14.0’ >= ‘2.14.0’)

[debug] [ADB] There is no need to install/upgrade ‘C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_io.appium.settings@2.14.0@io.appium.settingsapkssettings_apk-debug.apk’

[debug] [ADB] Getting IDs of all ‘io.appium.settings’ processes

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell ‘pgrep --help; echo $?’’

[ADB] Checking whether aapt is present

[ADB] Using aapt.exe from C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewaapt.exe

[debug] [ADB] The version name of the installed ‘io.appium.settings’ is greater or equal to the application version name (‘2.14.0’ >= ‘2.14.0’)

[debug] [ADB] There is no need to install/upgrade ‘C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_io.appium.settings@2.14.0@io.appium.settingsapkssettings_apk-debug.apk’

[debug] [ADB] Getting IDs of all ‘io.appium.settings’ processes

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell ‘pgrep --help; echo $?’’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell pgrep -f io.appium.settings’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell pgrep -f io.appium.settings’

[debug] [AndroidDriver] io.appium.settings is already running. There is no need to reset its permissions.

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell appops set io.appium.settings android:mock_location allow’

[debug] [AndroidDriver] io.appium.settings is already running. There is no need to reset its permissions.

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell appops set io.appium.settings android:mock_location allow’

[debug] [Logcat] Starting logcat capture

[debug] [ADB] Getting install status for io.appium.uiautomator2.server

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.uiautomator2.server’

[debug] [Logcat] Starting logcat capture

[debug] [ADB] ‘io.appium.uiautomator2.server’ is installed

[debug] [ADB] Getting package info for ‘io.appium.uiautomator2.server’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.uiautomator2.server’

[debug] [ADB] Getting install status for io.appium.uiautomator2.server

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.uiautomator2.server’

[debug] [ADB] ‘io.appium.uiautomator2.server’ is installed

[debug] [ADB] Getting package info for ‘io.appium.uiautomator2.server’

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.uiautomator2.server’

[debug] [ADB] The version name of the installed ‘io.appium.uiautomator2.server’ is greater or equal to the application version name (‘3.4.0’ >= ‘3.4.0’)

[debug] [UiAutomator2] io.appium.uiautomator2.server installation state: sameVersionInstalled

[debug] [ADB] Checking app cert for C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-v3.4.0.apk

[ADB] Using apksigner.bat from C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat

[debug] [ADB] Starting ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat’ with args ‘[“verify”,"–print-certs",“C:\Users\Mtime\AppData\Roaming\npm\node_modules\appium\node_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-server\apks\appium-uiautomator2-server-v3.4.0.apk”]’

[debug] [ADB] The version name of the installed ‘io.appium.uiautomator2.server’ is greater or equal to the application version name (‘3.4.0’ >= ‘3.4.0’)

[debug] [UiAutomator2] io.appium.uiautomator2.server installation state: sameVersionInstalled

[debug] [ADB] Checking app cert for C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-v3.4.0.apk

[ADB] Using apksigner.bat from C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat

[debug] [ADB] Starting ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat’ with args ‘[“verify”,"–print-certs",“C:\Users\Mtime\AppData\Roaming\npm\node_modules\appium\node_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-server\apks\appium-uiautomator2-server-v3.4.0.apk”]’

[debug] [ADB] apksigner stdout: Signer #1 certificate DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US

[debug] [ADB] Signer #1 certificate SHA-256 digest: a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc

[debug] [ADB] Signer #1 certificate SHA-1 digest: 61ed377e85d386a8dfee6b864bd85b0bfaa5af81

[debug] [ADB] Signer #1 certificate MD5 digest: e89b158e4bcf988ebd09eb83f5378e87

[debug] [ADB]

[debug] [ADB] ‘C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-v3.4.0.apk’ is already signed.

[debug] [ADB] Getting install status for io.appium.uiautomator2.server.test

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.uiautomator2.server.test’

[debug] [ADB] ‘io.appium.uiautomator2.server.test’ is installed

[debug] [ADB] Checking app cert for C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-debug-androidTest.apk

[debug] [ADB] Starting ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat’ with args ‘[“verify”,"–print-certs",“C:\Users\Mtime\AppData\Roaming\npm\node_modules\appium\node_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk”]’

[debug] [ADB] apksigner stdout: Signer #1 certificate DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US

[debug] [ADB] Signer #1 certificate SHA-256 digest: a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc

[debug] [ADB] Signer #1 certificate SHA-1 digest: 61ed377e85d386a8dfee6b864bd85b0bfaa5af81

[debug] [ADB] Signer #1 certificate MD5 digest: e89b158e4bcf988ebd09eb83f5378e87

[debug] [ADB]

[debug] [ADB] ‘C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-v3.4.0.apk’ is already signed.

[debug] [ADB] Getting install status for io.appium.uiautomator2.server.test

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell dumpsys package io.appium.uiautomator2.server.test’

[debug] [ADB] ‘io.appium.uiautomator2.server.test’ is installed

[debug] [ADB] Checking app cert for C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-debug-androidTest.apk

[debug] [ADB] Starting ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat’ with args ‘[“verify”,"–print-certs",“C:\Users\Mtime\AppData\Roaming\npm\node_modules\appium\node_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk”]’

[debug] [ADB] apksigner stdout: Signer #1 certificate DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US

[debug] [ADB] Signer #1 certificate SHA-256 digest: a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc

[debug] [ADB] Signer #1 certificate SHA-1 digest: 61ed377e85d386a8dfee6b864bd85b0bfaa5af81

[debug] [ADB] Signer #1 certificate MD5 digest: e89b158e4bcf988ebd09eb83f5378e87

[debug] [ADB]

[debug] [ADB] ‘C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-debug-androidTest.apk’ is already signed.

[UiAutomator2] Server packages are not going to be (re)installed

[debug] [UiAutomator2] Waiting up to 30000ms for services to be available

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell pm list instrumentation’

[debug] [ADB] apksigner stdout: Signer #1 certificate DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US

[debug] [ADB] Signer #1 certificate SHA-256 digest: a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc

[debug] [ADB] Signer #1 certificate SHA-1 digest: 61ed377e85d386a8dfee6b864bd85b0bfaa5af81

[debug] [ADB] Signer #1 certificate MD5 digest: e89b158e4bcf988ebd09eb83f5378e87

[debug] [ADB]

[debug] [ADB] ‘C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-uiautomator2-server@3.4.0@appium-uiautomator2-serverapksappium-uiautomator2-server-debug-androidTest.apk’ is already signed.

[UiAutomator2] Server packages are not going to be (re)installed

[debug] [UiAutomator2] Waiting up to 30000ms for services to be available

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell pm list instrumentation’

[debug] [UiAutomator2] Instrumentation target ‘io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJUnitRunner’ is available

[debug] [UiAutomator2] Forwarding UiAutomator2 Server port 6790 to 8200

[debug] [ADB] Forwarding system: 8200 to device: 6790

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 forward tcp:8200 tcp:6790’

[debug] [ADB] Checking app cert for D:apkimooc7.1.110102001android.apk

[debug] [ADB] Starting ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat’ with args ‘[“verify”,"–print-certs",“D:\apk\imooc7.1.110102001android.apk”]’

[debug] [UiAutomator2] Instrumentation target ‘io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJUnitRunner’ is available

[debug] [UiAutomator2] Forwarding UiAutomator2 Server port 6790 to 8200

[debug] [ADB] Forwarding system: 8200 to device: 6790

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 forward tcp:8200 tcp:6790’

[debug] [ADB] Checking app cert for D:apkimooc7.1.110102001android.apk

[debug] [ADB] Starting ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewapksigner.bat’ with args ‘[“verify”,"–print-certs",“D:\apk\imooc7.1.110102001android.apk”]’

[ADB] Got an error during apksigner execution: Command ‘apksigner.bat verify --print-certs D:\apk\imooc7.1.110102001android.apk’ exited with code 1

[ADB] apksigner stderr: Exception in thread “main” com.android.apksig.apk.ApkFormatException: Malformed ZIP Central Directory record #1 at file offset 27317207

[ADB] at com.android.apksig.internal.apk.v1.V1SchemeVerifier.parseZipCentralDirectory(V1SchemeVerifier.java:1782)

[ADB] at com.android.apksig.ApkVerifier.getAndroidManifestFromApk(ApkVerifier.java:429)

[ADB] at com.android.apksig.ApkVerifier.verify(ApkVerifier.java:176)

[ADB] at com.android.apksig.ApkVerifier.verify(ApkVerifier.java:125)

[ADB] at com.android.apksigner.ApkSignerTool.verify(ApkSignerTool.java:466)

[ADB] at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:112)

[ADB] Caused by: com.android.apksig.zip.ZipFormatException: Not a Central Directory record. Signature: 0xec9c6726

[ADB] at com.android.apksig.internal.zip.CentralDirectoryRecord.getRecord(CentralDirectoryRecord.java:143)

[ADB] at com.android.apksig.internal.apk.v1.V1SchemeVerifier.parseZipCentralDirectory(V1SchemeVerifier.java:1780)

[ADB] … 5 more

[ADB]

[ADB] Cannot use apksigner tool for signature verification. Original error: Command ‘apksigner.bat verify --print-certs D:\apk\imooc7.1.110102001android.apk’ exited with code 1

[debug] [ADB] Defaulting to verify.jar

[ADB] Got an error during apksigner execution: Command ‘apksigner.bat verify --print-certs D:\apk\imooc7.1.110102001android.apk’ exited with code 1

[ADB] apksigner stderr: Exception in thread “main” com.android.apksig.apk.ApkFormatException: Malformed ZIP Central Directory record #1 at file offset 27317207

[ADB] at com.android.apksig.internal.apk.v1.V1SchemeVerifier.parseZipCentralDirectory(V1SchemeVerifier.java:1782)

[ADB] at com.android.apksig.ApkVerifier.getAndroidManifestFromApk(ApkVerifier.java:429)

[ADB] at com.android.apksig.ApkVerifier.verify(ApkVerifier.java:176)

[ADB] at com.android.apksig.ApkVerifier.verify(ApkVerifier.java:125)

[ADB] at com.android.apksigner.ApkSignerTool.verify(ApkSignerTool.java:466)

[ADB] at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:112)

[ADB] Caused by: com.android.apksig.zip.ZipFormatException: Not a Central Directory record. Signature: 0xec9c6726

[ADB] at com.android.apksig.internal.zip.CentralDirectoryRecord.getRecord(CentralDirectoryRecord.java:143)

[ADB] at com.android.apksig.internal.apk.v1.V1SchemeVerifier.parseZipCentralDirectory(V1SchemeVerifier.java:1780)

[ADB] … 5 more

[ADB]

[ADB] Cannot use apksigner tool for signature verification. Original error: Command ‘apksigner.bat verify --print-certs D:\apk\imooc7.1.110102001android.apk’ exited with code 1

[debug] [ADB] Defaulting to verify.jar

[debug] [ADB] ‘D:apkimooc7.1.110102001android.apk’ is not signed with debug cert: Exception in thread “main” java.util.zip.ZipException: invalid LOC header (bad signature)

[debug] [ADB] at java.util.zip.ZipFile.read(Native Method)

[debug] [ADB] at java.util.zip.ZipFile.access$1400(ZipFile.java:60)

[debug] [ADB] at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)

[debug] [ADB] at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)

[debug] [ADB] at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)

[debug] [ADB] at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:478)

[debug] [ADB] at java.io.InputStream.read(InputStream.java:101)

[debug] [ADB] at v.Verify.verify(Verify.java:39)

[debug] [ADB] at v.Verify.main(Verify.java:72)

[debug] [ADB]

[ADB] Checking whether zipalign is present

[ADB] Using zipalign.exe from C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewzipalign.exe

[debug] [ADB] ‘D:apkimooc7.1.110102001android.apk’ is not signed with debug cert: Exception in thread “main” java.util.zip.ZipException: invalid LOC header (bad signature)

[debug] [ADB] at java.util.zip.ZipFile.read(Native Method)

[debug] [ADB] at java.util.zip.ZipFile.access$1400(ZipFile.java:60)

[debug] [ADB] at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)

[debug] [ADB] at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)

[debug] [ADB] at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)

[debug] [ADB] at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:478)

[debug] [ADB] at java.io.InputStream.read(InputStream.java:101)

[debug] [ADB] at v.Verify.verify(Verify.java:39)

[debug] [ADB] at v.Verify.main(Verify.java:72)

[debug] [ADB]

[ADB] Checking whether zipalign is present

[ADB] Using zipalign.exe from C:UsersMtimeAppDataLocalAndroidandroid-sdkuild-tools9.0.0-previewzipalign.exe

[debug] [ADB] ‘D:apkimooc7.1.110102001android.apk’ is not zip-aligned. Aligning

[debug] [ADB] ‘D:apkimooc7.1.110102001android.apk’ is not zip-aligned. Aligning

[debug] [UiAutomator2] Deleting UiAutomator2 session

[debug] [UiAutomator2] Deleting UiAutomator2 server session

[debug] [WD Proxy] Matched ‘/’ to command name ‘deleteSession’

[UiAutomator2] Did not get confirmation UiAutomator2 deleteSession worked; Error was: UnknownError: An unknown server-side error occurred while processing the command. Original error: Trying to proxy a session command without session id

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell am force-stop cn.com.open.mooc’

[debug] [UiAutomator2] Deleting UiAutomator2 session

[debug] [UiAutomator2] Deleting UiAutomator2 server session

[debug] [WD Proxy] Matched ‘/’ to command name ‘deleteSession’

[UiAutomator2] Did not get confirmation UiAutomator2 deleteSession worked; Error was: UnknownError: An unknown server-side error occurred while processing the command. Original error: Trying to proxy a session command without session id

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 shell am force-stop cn.com.open.mooc’

[debug] [Logcat] Stopping logcat capture

[debug] [ADB] Removing forwarded port socket connection: 8200

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 forward --remove tcp:8200’

[debug] [BaseDriver] Event ‘newSessionStarted’ logged at 1556109225152 (20:33:45 GMT+0800 (中国标准时间))

[debug] [W3C] Encountered internal error running command: Error: zipAlignApk failed. Original error: Command ‘C:\Users\Mtime\AppData\Local\Android\android-sdk\build-tools\29.0.0-preview\zipalign.exe -f 4 D:\apk\imooc7.1.110102001android.apk C:\Users\Mtime\AppData\Local\Temp\2019324-20544-atrblc.h36pn\appium.tmp’ exited with code 1. Stdout: ‘’; Stderr: 'Unable to open ‘D:apkimooc7.1.110102001android.apk’ as zip archive

[debug] [W3C] ’

[debug] [W3C] at ADB.zipAlignApk (C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-adb@7.6.3@appium-adblib oolsapk-signing.js:251:11)

[debug] [W3C] at

[debug] [Logcat] Stopping logcat capture

[HTTP] <-- POST /wd/hub/session 500 27098 ms - 1485

[HTTP]

E

======================================================================

ERROR: setUpClass (main.CaseTest)


Traceback (most recent call last):

File “E:Appiumcase est_case.py”, line 25, in setUpClass

cls.login_bussiness = LoginBussniess(parames)

File “E:Appiumussinesslogin_bussiness.py”, line 8, in init

self.login_handle = LoginHandle(i)

File “E:Appiumhandlelogin_handle.py”, line 8, in init

self.login_page = LoginPage(i)

File “E:Appiumpagelogin_page.py”, line 14, in init

self.driver = base_driver.android_driver(i)

File “E:Appiumasease_driver.py”, line 24, in android_driver

driver = webdriver.Remote('http://127.0.0.1:'+port+'/wd/hub', capabilities)

File “C:UsersMtimeenvAppiumlibsite-packagesappiumwebdriverwebdriver.py”, line 129, in init

proxy

File “C:UsersMtimeenvAppiumlibsite-packagesseleniumwebdriver
emotewebdriver.py”, line 157, in init

self.start_session(capabilities, browser_profile)

File “C:UsersMtimeenvAppiumlibsite-packagesappiumwebdriverwebdriver.py”, line 204, in start_session

response = self.execute(RemoteCommand.NEW_SESSION, parameters)

File “C:UsersMtimeenvAppiumlibsite-packagesseleniumwebdriver
emotewebdriver.py”, line 321, in execute

self.error_handler.check_response(response)

File “C:UsersMtimeenvAppiumlibsite-packagesseleniumwebdriver
emoteerrorhandler.py”, line 242, in check_response

raise exception_class(message, screen, stacktrace)

WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: zipAlignApk failed. Original error: Command ‘C:\Users\Mtime\AppData\Local\Android\android-sdk\build-tools\29.0.0-preview\zipalign.exe -f 4 D:\apk\imooc7.1.110102001android.apk C:\Users\Mtime\AppData\Local\Temp\2019324-20544-atrblc.h36pn\appium.tmp’ exited with code 1. Stdout: ‘’; Stderr: 'Unable to open ‘D:apkimooc7.1.110102001android.apk’ as zip archive

'----------------------------------------------------------------------

Ran 0 tests in 27.218s

FAILED (errors=1)

[debug] [ADB] Removing forwarded port socket connection: 8200

[debug] [ADB] Running ‘C:UsersMtimeAppDataLocalAndroidandroid-sdkplatform-toolsadb.exe -P 5037 -s 61cdc297 forward --remove tcp:8200’

[UiAutomator2] Unable to remove port forward ‘Error executing adbExec. Original error: ‘Command ‘C:\Users\Mtime\AppData\Local\Android\android-sdk\platform-tools\adb.exe -P 5037 -s 61cdc297 forward --remove tcp:8200’ exited with code 1’; Stderr: ‘adb.exe: error: listener ‘tcp:8200’ not found’; Code: ‘1’’

[debug] [BaseDriver] Event ‘newSessionStarted’ logged at 1556109226127 (20:33:46 GMT+0800 (中国标准时间))

[debug] [W3C] Encountered internal error running command: Error: zipAlignApk failed. Original error: Command ‘C:\Users\Mtime\AppData\Local\Android\android-sdk\build-tools\29.0.0-preview\zipalign.exe -f 4 D:\apk\imooc7.1.110102001android.apk C:\Users\Mtime\AppData\Local\Temp\2019324-32644-15y2lk3.xdai\appium.tmp’ exited with code 1. Stdout: ‘’; Stderr: 'Unable to open ‘D:apkimooc7.1.110102001android.apk’ as zip archive

[debug] [W3C] ’

[debug] [W3C] at ADB.zipAlignApk (C:UsersMtimeAppDataRoaming
pm
ode_modulesappium
ode_modules_appium-adb@7.6.3@appium-adblib oolsapk-signing.js:251:11)

[debug] [W3C] at

E

======================================================================

ERROR: setUpClass (main.CaseTest)


Traceback (most recent call last):

File “E:Appiumcase est_case.py”, line 25, in setUpClass

cls.login_bussiness = LoginBussniess(parames)

File “E:Appiumussinesslogin_bussiness.py”, line 8, in init

self.login_handle = LoginHandle(i)

File “E:Appiumhandlelogin_handle.py”, line 8, in init

self.login_page = LoginPage(i)

File “E:Appiumpagelogin_page.py”, line 14, in init

self.driver = base_driver.android_driver(i)

File “E:Appiumasease_driver.py”, line 24, in android_driver

driver = webdriver.Remote('http://127.0.0.1:'+port+'/wd/hub', capabilities)

File “C:UsersMtimeenvAppiumlibsite-packagesappiumwebdriverwebdriver.py”, line 129, in init

proxy

File “C:UsersMtimeenvAppiumlibsite-packagesseleniumwebdriver
emotewebdriver.py”, line 157, in init

self.start_session(capabilities, browser_profile)

File “C:UsersMtimeenvAppiumlibsite-packagesappiumwebdriverwebdriver.py”, line 204, in start_session

response = self.execute(RemoteCommand.NEW_SESSION, parameters)

File “C:UsersMtimeenvAppiumlibsite-packagesseleniumwebdriver
emotewebdriver.py”, line 321, in execute

self.error_handler.check_response(response)

File “C:UsersMtimeenvAppiumlibsite-packagesseleniumwebdriver
emoteerrorhandler.py”, line 242, in check_response

raise exception_class(message, screen, stacktrace)

WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: zipAlignApk failed. Original error: Command ‘C:\Users\Mtime\AppData\Local\Android\android-sdk\build-tools\29.0.0-preview\zipalign.exe -f 4 D:\apk\imooc7.1.110102001android.apk C:\Users\Mtime\AppData\Local\Temp\2019324-32644-15y2lk3.xdai\appium.tmp’ exited with code 1. Stdout: ‘’; Stderr: 'Unable to open ‘D:apkimooc7.1.110102001android.apk’ as zip archive

'---------------------------------------------------------------------

Ran 0 tests in 28.143s

FAILED (errors=1)

[HTTP] <-- POST /wd/hub/session 500 28032 ms - 1485

[HTTP]

写回答

5回答

Mushishi

2019-04-27

这个看了一下appium官网的更新,他们已经更新解决这个问题了,可以看一下这个https://github.com/appium/appium/issues/11655

0
0

Mushishi

2019-04-27

你把你driver的配置参数发一下。还有你手机的系统版本是多少?

0
0

慕先生809202

提问者

2019-04-26

还有为什么签名证书会有问题呢,一直都是正常的,相同的环境,相同的软件版本,一般apk的签名证书都是不变的吧?
不太懂了

0
0

Mushishi

2019-04-25

你把你appium升级一下然后就ok了,这个因为签名证书出了问题。

0
3
慕先生809202
还有为什么签名证书会有问题呢,一直都是正常的,相同的环境,相同的软件版本,一般apk的签名证书都是不变的吧? 不太懂了
2019-04-26
共3条回复

Mushishi

2019-04-24

你好,你这个不用多进程是不是也是错误的,你换一个低版本的apk去试一试,看你日志说的是签名出了问题,如果你换低版本不行,你把你代码和apk发我一下。

0
0

Python主讲移动端自动化测试框架Appium

APP自动化基础知识、po模型、关键字模型、服务自动化、持续集成

1508 学习 · 1333 问题

查看课程