我在使用unittest框架时,运行脚本会提示:‘A session is either terminated or not started’,请问该如何解决呢?
直接运行,会发现appium提示:
[W3C (d322f1f1)] Encountered internal error running command: NoSuchDriverError: A session is either terminated or not started
[W3C (d322f1f1)] at asyncHandler (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\appium-base-driver\lib\protocol\protocol.js:298:15)
[W3C (d322f1f1)] at app.(anonymous function) (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\appium-base-driver\lib\protocol\protocol.js:492:15)
[W3C (d322f1f1)] at Layer.handle [as handle_request] (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\layer.js:95:5)
[W3C (d322f1f1)] at next (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\route.js:137:13)
[W3C (d322f1f1)] at Route.dispatch (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\route.js:112:3)
[W3C (d322f1f1)] at Layer.handle [as handle_request] (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\layer.js:95:5)
[W3C (d322f1f1)] at C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:281:22
[W3C (d322f1f1)] at param (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:354:14)
[W3C (d322f1f1)] at param (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:365:14)
[W3C (d322f1f1)] at Function.process_params (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:410:3)
[W3C (d322f1f1)] at next (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:275:10)
[W3C (d322f1f1)] at logger (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\morgan\index.js:144:5)
[W3C (d322f1f1)] at Layer.handle [as handle_request] (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\layer.js:95:5)
[W3C (d322f1f1)] at trim_prefix (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:317:13)
[W3C (d322f1f1)] at C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:284:7
[W3C (d322f1f1)] at Function.process_params (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:335:12)
[W3C (d322f1f1)] at next (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:275:10)
[W3C (d322f1f1)] at jsonParser (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\body-parser\lib\types\json.js:110:7)
[W3C (d322f1f1)] at Layer.handle [as handle_request] (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\layer.js:95:5)
[W3C (d322f1f1)] at trim_prefix (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:317:13)
[W3C (d322f1f1)] at C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:284:7
[W3C (d322f1f1)] at Function.process_params (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:335:12)
[W3C (d322f1f1)] at next (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:275:10)
[W3C (d322f1f1)] at Layer.handle [as handle_request] (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\layer.js:91:12)
[W3C (d322f1f1)] at trim_prefix (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:317:13)
[W3C (d322f1f1)] at C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:284:7
[W3C (d322f1f1)] at Function.process_params (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:335:12)
[W3C (d322f1f1)] at next (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:275:10)
[W3C (d322f1f1)] at Layer.handle [as handle_request] (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\layer.js:91:12)
[W3C (d322f1f1)] at trim_prefix (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:317:13)
[W3C (d322f1f1)] at C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:284:7
[W3C (d322f1f1)] at Function.process_params (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:335:12)
[W3C (d322f1f1)] at next (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\express\lib\router\index.js:275:10)
[W3C (d322f1f1)] at methodOverride (C:\Users\dell\AppData\Local\Programs\Appium\resources\app\node_modules\method-override\index.js:65:14)
[HTTP] <-- DELETE /wd/hub/session/d322f1f1-b12e-465d-9b1f-5924575f2aca 404 3 ms - 5044
pycharm提示:
File “C:\Users\dell\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 698, in quit
self.execute(Command.QUIT)
File “C:\Users\dell\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 321, in execute
self.error_handler.check_response(response)
File “C:\Users\dell\AppData\Local\Programs\Python\Python35\lib\site-packages\appium\webdriver\errorhandler.py”, line 29, in check_response
raise wde
File “C:\Users\dell\AppData\Local\Programs\Python\Python35\lib\site-packages\appium\webdriver\errorhandler.py”, line 24, in check_response
super(MobileErrorHandler, self).check_response(response)
File “C:\Users\dell\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\errorhandler.py”, line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSessionIdException: Message: A session is either terminated or not started
我发现,如果删除tear down中self.driver.close_app(),则不会报错;
该问题如何解决呢?