运行时报错
来源: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
00 -
Mushishi
2019-04-27
你把你driver的配置参数发一下。还有你手机的系统版本是多少?
00 -
慕先生809202
提问者
2019-04-26
还有为什么签名证书会有问题呢,一直都是正常的,相同的环境,相同的软件版本,一般apk的签名证书都是不变的吧?
不太懂了00 -
Mushishi
2019-04-25
你把你appium升级一下然后就ok了,这个因为签名证书出了问题。
032019-04-26 -
Mushishi
2019-04-24
你好,你这个不用多进程是不是也是错误的,你换一个低版本的apk去试一试,看你日志说的是签名出了问题,如果你换低版本不行,你把你代码和apk发我一下。
00
相似问题