AirtestProject / AirtestProject/AirtestIDE

调用“ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)”报错

Abierto
#1,015 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Sin datos de lenguaje
Estrellas
236
Forks
40
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。**否则直接关闭。**)

**(重要!根据问题类型选择分类)**
* 测试开发环境AirtestIDE使用问题(本软件) -> 本页面

**详细描述问题bug:**
调用“ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)”,会再出现一个黑窗口,AirtestIDE会从这个新黑窗口输出,导致运行程序容易报错。

**复现步骤:**
#关键程序片断
from __future__ import print_function
import ctypes, sys

def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
if is_admin():
# 将要运行的代码加到这里
else:
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)

**python 版本:** `python3.x`

**操作系统:** `Windows7 64bit`

**手机设备信息:**
MUMU模拟器2.5.19(X64)

**其他相关信息补充**
- AirtestIDE版本号:1.2.12

**截屏**
强烈建议带上截图,包括IDE本身的截图和后面的黑窗口的报错信息的截图(尽量完整)。

**IDE本身的信息:**
[Start running..]
save log in 'C:\Users\USER\AppData\Local\Temp\AirtestIDE\scripts\4521d4426c6577c7d6f72da2115a8d62'
[09:59:31][WARNING] Device:127.0.0.1:7555 updated ->
D:\AirtestIDE\poco\drivers\android\uiautomation.py:283: UserWarning: [pocoservice.apk] instrumentation test server process is no longer alive
warnings.warn("[pocoservice.apk] instrumentation test server process is no longer alive")
[pocoservice.apk] stdout: b'\r\r\ncom.netease.open.pocoservice.InstrumentedTestAsLauncher:INSTRUMENTATION_RESULT: shortMsg=Process crashed.\r\r\nINSTRUMENTATION_CODE: 0\r\r\n'
[pocoservice.apk] stderr: b''
still waiting for uiautomation ready.
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
still waiting for uiautomation ready.
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[10:00:54][INFO] Try finding: Template(G:\重要文件\天翼云盘同步盘\study\社员之家.air\tpl1633855615098.png)
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[10:01:02][INFO] install rotationwacher finished
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[10:01:05][INFO] update orientation None->0
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[10:01:19][INFO] install_minitouch finished
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[10:01:20][INFO] Try finding: Template(G:\重要文件\天翼云盘同步盘\study\社员之家.air\tpl1633852663678.png)
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[10:01:41][ERROR] Traceback (most recent call last):
File "airtest\cli\runner.py", line 70, in runTest
File "G:\重要文件\天翼云盘同步盘\study\社员之家.air\社员之家.py", line 143, in
touch(wait(Template(r"tpl1633852663678.png", record_pos=(-0.369, 0.298), resolution=(810, 1440))))
File "airtest\utils\logwraper.py", line 90, in wrapper
File "airtest\core\api.py", line 591, in wait
File "airtest\utils\logwraper.py", line 90, in wrapper
File "airtest\core\cv.py", line 80, in loop_find
airtest.core.error.TargetNotFoundError: 'Picture Template(G:\\重要文件\\天翼云盘同步盘\\study\\社员之家.air\\tpl1633852663678.png) not found in screen'

======================================================================
ERROR: runTest (app.widgets.code_runner.ide_launcher.AirtestIDECase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "airtest\cli\runner.py", line 73, in runTest
File "site-packages\six.py", line 703, in reraise
File "airtest\cli\runner.py", line 70, in runTest
File "G:\重要文件\天翼云盘同步盘\study\社员之家.air\社员之家.py", line 143, in
touch(wait(Template(r"tpl1633852663678.png", record_pos=(-0.369, 0.298), resolution=(810, 1440))))
File "airtest\utils\logwraper.py", line 90, in wrapper
File "airtest\core\api.py", line 591, in wait
File "airtest\utils\logwraper.py", line 90, in wrapper
File "airtest\core\cv.py", line 80, in loop_find
airtest.core.error.TargetNotFoundError: 'Picture Template(G:\\重要文件\\天翼云盘同步盘\\study\\社员之家.air\\tpl1633852663678.png) not found in screen'

----------------------------------------------------------------------
Ran 1 test in 134.507s

FAILED (errors=1)
[pocoservice.apk] stdout: b''
[pocoservice.apk] stderr: b''
[Finished]

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

若PocoService启动失败,请检查手机设置,将PocoService设为允许后台启动。
若使用Python环境运行脚本,请确认已将pocoui升级到1.0.84以上版本
帮助文档:https://airtest.doc.io.netease.com/IDEdocs/poco_framework/poco_restart/

**黑窗口的报错信息:**

Info: filter not set, use raven.filter.FullPassFilter instead.
loading config from : C:\Users\USER\AppData\Local\AirtestIDE\AirtestIDE\user.json
try loading plugin: firebase_plugin
plugin loaded: firebase_plugin
try loading plugin: headspin_plugin
plugin loaded: headspin_plugin
try loading plugin: selenium_plugin
plugin loaded: selenium_plugin
删除过时包失败
[09:54:27][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe devices
[09:54:46][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe connect 127.0.0.1:7555
[09:54:47][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe devices
[09:54:51][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 get-state
[09:54:52][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 wait-for-device
[09:54:53][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell getprop ro.build.version.sdk
[09:54:54][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell ls -l /data/local/tmp/rotationwatcher.jar ; echo ---$?---
[09:54:55][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 push D:\AirtestIDE\airtest\core\android\static\apks\rotationwatcher.jar /data/local/tmp/rotationwatcher.jar
[09:54:56][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell chmod 755 /data/local/tmp/rotationwatcher.jar ; echo ---$?---
[09:54:57][INFO] install rotationwacher finished
[09:54:57][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell app_process -Djava.class.path=/data/local/tmp/rotationwatcher.jar /data/local/tmp com.example.rotationwatcher.Main
[09:54:59][DEBUG] [rotation_server]b'0'
[09:54:59][INFO] update orientation None->0
[09:54:59][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell wm size
[09:55:00][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell getprop ro.sf.lcd_density
[09:55:01][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell dumpsys SurfaceFlinger ; echo ---$?---
[09:55:02][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell getevent -p ; echo ---$?---
[09:55:03][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell ls /data/local/tmp/minicap ; echo ---$?---
[09:55:04][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell ls /data/local/tmp/minicap.so ; echo ---$?---
[09:55:05][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -v 2>&1
[09:55:06][DEBUG] version:5
[09:55:06][DEBUG] skip install minicap
[09:55:06][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -n 'airtest_minicap' -P 810x1440@810x1440/0 -s
[09:55:07][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 forward --no-rebind tcp:14869 localabstract:minicap_14869
[touch init] begin
[09:55:08][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -n 'minicap_14869' -P 810x1440@450x800/0 -l 2>&1
[09:55:09][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell getprop ro.product.cpu.abi
[09:55:10][DEBUG] [minicap_server]b'PID: 13441'
[09:55:10][DEBUG] [minicap_server]b'INFO: Using projection 810x1440@450x800/0'
[09:55:10][DEBUG] [minicap_server]b'INFO: (external/MY_minicap/src/minicap_23.cpp:240) Creating SurfaceComposerClient'
[09:55:10][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell getprop ro.build.version.sdk
[09:55:10][DEBUG] [minicap_server]b'INFO: (external/MY_minicap/src/minicap_23.cpp:243) Performing SurfaceComposerClient init check'
[09:55:10][DEBUG] [minicap_server]b'INFO: (external/MY_minicap/src/minicap_23.cpp:250) Creating virtual display'
[09:55:10][DEBUG] [minicap_server]b'INFO: (external/MY_minicap/src/minicap_23.cpp:256) Creating buffer queue'
[09:55:10][DEBUG] [minicap_server]b'INFO: (external/MY_minicap/src/minicap_23.cpp:261) Creating CPU consumer'
[09:55:10][DEBUG] [minicap_server]b'INFO: (external/MY_minicap/src/minicap_23.cpp:265) Creating frame waiter'
[09:55:10][DEBUG] [minicap_server]b'INFO: (external/MY_minicap/src/minicap_23.cpp:269) Publishing virtual display'
[09:55:10][DEBUG] [minicap_server]b'INFO: (jni/minicap/JpgEncoder.cpp:64) Allocating 3527172 bytes for JPG encoder'
[09:55:10][DEBUG] [minicap_server]b'INFO: (jni/minicap/minicap.cpp:489) Server start'
[09:55:10][DEBUG] [minicap_server]b'INFO: (jni/minicap/minicap.cpp:492) New client connection'
[09:55:10][DEBUG] (1, 24, 13441, 810, 1440, 450, 800, 0, 2)
[09:55:11][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell ls -l /data/local/tmp/minitouch ; echo ---$?---
[09:55:12][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 push D:\\AirtestIDE\\airtest\\core\\android\\static\\stf_libs\\x86_64\\minitouch /data/local/tmp/minitouch
[09:55:13][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell chmod 755 /data/local/tmp/minitouch ; echo ---$?---
[09:55:13][INFO] install_minitouch finished
[09:55:13][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 forward --no-rebind tcp:19430 localabstract:minitouch_19430
[09:55:14][DEBUG] D:\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:7555 shell /data/local/tmp/minitouch -n 'minitouch_19430' 2>&1
[09:55:15][DEBUG] [minitouch_server]b'Note: device /dev/input/mouse1 is not supported by libevdev'
[09:55:15][DEBUG] [minitouch_server]b'Note: device /dev/input/mice is not supported by libevdev'
[09:55:15][DEBUG] [minitouch_server]b'Note: device /dev/input/mouse0 is not supported by libevdev'
[09:55:15][DEBUG] [minitouch_server]b'Type B touch device nemuVM Virtual Input (810x1440 with 32 contacts) detected on /dev/input/event5 (score 22111)'
[09:55:15][DEBUG] [minitouch_server]b'Note: hard-limiting maximum number of contacts to 10'
[09:55:15][DEBUG] [minitouch_server]b'Connection established'
[09:55:15][DEBUG] minitouch header:b'v 1\n^ 10 810 1440 0\n$ 13458\n'
[touch init] finished
[enable_operation]True
[enable_operation]True

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.