airtestproject / my-testflow Goto Github PK
View Code? Open in Web Editor NEWTest automation standard engineering project template
Test automation standard engineering project template
为什么在运行multitests_together 这个脚本时候,计算器界面打开后会闪一下
然后toast "poco service is running"
是需要用hunter库的AppRuntimeLogging才可以吗?可是hunter库安装不了额。。。
导入AppRuntimeLogging时会报错
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pocounit/addons/hunter/runtime_logging.py", line 5, in
from hunter_cli.device_output import trace
ModuleNotFoundError: No module named 'hunter_cli'
目前测试报告是视频形式,不知道是否支持生成类似airtestide那样的网页版本的测试报告!
@yimelia
如图所示,运行脚本前必须先在android_app.py设置连接参数,但是这样只能连接一台设备
如果要连接多台设备同时运行是不是创建多个类android_app.py文件,分别设置不同的连接参数
然后在scripts目录中创建不同的测试用例脚本分别继承不同的AndroidAppCase类。这样的话同一份用例脚本只是因为设备的不同就要创建好多份,请问如何进行优化(期望结果是不同设备可以同时只跑一份用例)
截图如下:
跑example.py時報錯了,不曉得原因是什麼
[05:41:49][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb devices
E
======================================================================
ERROR: setUpClass (__main__.CalculatorPlus)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/Admin/my-testflow/testflow/lib/case/android_app.py", line 16, in setUpClass
connect_device('Android:///')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/api.py", line 46, in connect_device
dev = cls(uuid, **params)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/android.py", line 29, in __init__
self.serialno = serialno or ADB().devices(state="device")[0][0]
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/adb.py", line 196, in devices
output = self.cmd("devices", device=False)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/adb.py", line 167, in cmd
proc = self.start_cmd(cmds, device)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/adb.py", line 146, in start_cmd
stderr=subprocess.PIPE
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb'
何解?
Hi 我在執行範例時,目前已經可以進入計算機畫面。
但是在比對數字鍵盤時,好像遇到與/res/img圖片不符,導致測試會fail
不曉得是否我需要自己截屏並置換掉該範例的img檔案 ?
使用手機為Nexus6 aos:7.1.1
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'PID: 31758'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: Using projection 1440x2560@1440x2560/0'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:241) Creating SurfaceComposerClient'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:244) Performing SurfaceComposerClient init check'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:251) Creating virtual display'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:257) Creating buffer queue'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:262) Creating CPU consumer'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:266) Creating frame waiter'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:270) Publishing virtual display'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (external/MY_minicap/src/minicap_25.cpp:287) Found 7.1 Developer Preview SurfaceComposerClient::setDisplaySurface'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (jni/minicap/JpgEncoder.cpp:64) Allocating 11061252 bytes for JPG encoder'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (/home/lxn3032/minicap_for_ide/jni/minicap/minicap.cpp:473) Server start'
[11:18:46][DEBUG]<airtest.utils.nbsp> [minicap_server]b'INFO: (/home/lxn3032/minicap_for_ide/jni/minicap/minicap.cpp:475) New client connection'
[11:18:46][DEBUG]<airtest.core.android.minicap> (1, 24, 31758, 1440, 2560, 1440, 2560, 0, 2)
[11:18:46][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -i
[11:18:46][INFO]<airtest.core.android.rotation> update orientation None->0.0
[11:18:46][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -i
[11:18:46][DEBUG]<airtest.core.api> try match with _find_template
[11:18:46][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell dumpsys display
[11:18:46][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell dumpsys SurfaceFlinger
[11:18:46][DEBUG]<airtest.aircv.template> threshold=0.6, result={'result': (1277, 1639), 'rectangle': ((1167, 1513), (1167, 1765), (1387, 1765), (1387, 1513)), 'confidence': 0.16041605174541473}
[11:18:46][DEBUG]<airtest.core.api> try match with _find_sift_in_predict_area
[11:18:46][DEBUG]<airtest.core.api> try match with _find_sift
[11:18:46][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell getevent -p
[11:18:47][DEBUG]<airtest.core.android.minicap> update_rotation: 0.0
[aircv][sift] threshold=0.6, result={'result': (489, 1456), 'rectangle': [(126, 1037), (126, 1875), (853, 1875), (853, 1037)], 'confidence': 0.5567480102181435}
[11:18:48][DEBUG]<airtest.core.api> match result: None
[11:18:48][DEBUG]<airtest.utils.logwraper> error: {'name': 'loop_find', 'args': (Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits.png),), 'kwargs': {'timeout': 3}, 'traceback': 'Traceback (most recent call last):\n File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/utils/logwraper.py", line 73, in wrapper\n res = f(*args, **kwargs)\n File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/cv.py", line 58, in loop_find\n raise TargetNotFoundError(\'Picture %s not found in screen\' % query)\nairtest.core.error.TargetNotFoundError: \'Picture Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits.png) not found in screen\'\n', 'time_used': 3.649176836013794, 'error_str': "'Picture Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits.png) not found in screen'", 'cv': None}
[11:18:48][DEBUG]<airtest.utils.logwraper> >exists Time used: 3.651462s
[11:18:48][DEBUG]<airtest.utils.logwraper> function: {'name': 'exists', 'args': (Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits.png),), 'kwargs': {}, 'time_used': 3.6514620780944824, 'ret': False}
[11:18:48][INFO]<airtest.core.api> Try finding:
Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits-landscape.png)
[11:18:48][DEBUG]<airtest.core.api> try match with _find_template
[11:18:48][DEBUG]<airtest.aircv.template> threshold=0.6, result={'result': (332, 1262), 'rectangle': ((158, 1137), (158, 1388), (506, 1388), (506, 1137)), 'confidence': 0.13793258368968964}
[11:18:48][DEBUG]<airtest.core.api> try match with _find_sift_in_predict_area
[11:18:48][DEBUG]<airtest.core.api> try match with _find_sift
[aircv][sift] threshold=0.6, result={'result': (518, 1512), 'rectangle': [(153, 1068), (153, 1956), (883, 1956), (883, 1068)], 'confidence': 0.5707018300890923}
[11:18:49][DEBUG]<airtest.core.api> match result: None
[11:18:50][DEBUG]<airtest.core.api> try match with _find_template
[11:18:50][DEBUG]<airtest.aircv.template> threshold=0.6, result={'result': (332, 1262), 'rectangle': ((158, 1137), (158, 1388), (506, 1388), (506, 1137)), 'confidence': 0.13793258368968964}
[11:18:50][DEBUG]<airtest.core.api> try match with _find_sift_in_predict_area
[11:18:50][DEBUG]<airtest.core.api> try match with _find_sift
[aircv][sift] threshold=0.6, result={'result': (518, 1512), 'rectangle': [(153, 1068), (153, 1956), (883, 1956), (883, 1068)], 'confidence': 0.5707018300890923}
[11:18:51][DEBUG]<airtest.core.api> match result: None
[11:18:51][DEBUG]<airtest.utils.logwraper> error: {'name': 'loop_find', 'args': (Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits-landscape.png),), 'kwargs': {'timeout': 3}, 'traceback': 'Traceback (most recent call last):\n File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/utils/logwraper.py", line 73, in wrapper\n res = f(*args, **kwargs)\n File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/cv.py", line 58, in loop_find\n raise TargetNotFoundError(\'Picture %s not found in screen\' % query)\nairtest.core.error.TargetNotFoundError: \'Picture Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits-landscape.png) not found in screen\'\n', 'time_used': 3.7516286373138428, 'error_str': "'Picture Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits-landscape.png) not found in screen'", 'cv': None}
[11:18:51][DEBUG]<airtest.utils.logwraper> >exists Time used: 3.755259s
[11:18:51][DEBUG]<airtest.utils.logwraper> function: {'name': 'exists', 'args': (Template(/Users/cm-nb-01007/my-testflow/res/img/keyboard-digits-landscape.png),), 'kwargs': {}, 'time_used': 3.7552590370178223, 'ret': False}
[11:18:51][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell am force-stop com.google.android.calculator
[11:18:52][DEBUG]<airtest.utils.logwraper> >stop_app Time used: 1.059311s
[11:18:52][DEBUG]<airtest.utils.logwraper> function: {'name': 'stop_app', 'args': ('com.google.android.calculator',), 'kwargs': {}, 'time_used': 1.0593111515045166, 'ret': None}
F[11:18:52][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell pm path com.netease.nie.yosemite
[11:18:54][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 shell CLASSPATH=/data/app/com.netease.nie.yosemite-1/base.apk exec app_process /system/bin com.netease.nie.yosemite.Recorder --stop-record
[11:18:56][DEBUG]<airtest.core.android.adb> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb -s ZX1G22V493 pull mnt/sdcard/test.mp4 /Users/cm-nb-01007/my-testflow/pocounit-results/testflow/scripts/example/CalculatorPlus/screen.mp4
EndOfStream: 4726785976
======================================================================
FAIL: runTest (__main__.CalculatorPlus)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pocounit/case.py", line 202, in fail
return super(PocoTestCase, self).fail(msg)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 670, in fail
raise self.failureException(msg)
AssertionError: False is not true : App started.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "example.py", line 22, in runTest
self.assertTrue(exists(keyboard) or exists(keyboard_landscape), 'App started.')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pocounit/case.py", line 215, in assertTrue
self.fail(msg)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pocounit/case.py", line 206, in fail
six.reraise(exc_type, exc_type(msg), exc_tb)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/six.py", line 692, in reraise
raise value.with_traceback(tb)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pocounit/case.py", line 202, in fail
return super(PocoTestCase, self).fail(msg)
AssertionError: False is not true : App started.
[05:02:23][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 127.0.0.1:7555 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -i ; echo ---$?--- C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\case.py:197: UserWarning: Fail to start result emitter: "ScreenRecorder". You can report this error to the developers or just ignore it. Error message: "Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\case.py", line 193, in run emitter.start() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\result\record.py", line 37, in start self.started[udid] = self.start_device_recorder(udid, dev) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\result\record.py", line 65, in start_device_recorder display_info = device.display_info File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\android.py", line 527, in display_info self._display_info = self.get_display_info() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\android.py", line 546, in get_display_info display_info = self.minicap.get_display_info() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\utils\snippet.py", line 106, in ready_func return func(inst, *args, **kwargs) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\minicap.py", line 149, in get_display_info display_info = json.loads(display_info) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\json\__init__.py", line 354, in loads return _default_decoder.decode(s) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) " .format(emitter.__class__.__name__, traceback.format_exc())) [05:02:25][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 127.0.0.1:7555 shell dumpsys package com.yongshi.p08 ; echo ---$?--- installed version is 1, installer version is 1. force_reinstall=False [05:02:25][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 127.0.0.1:7555 shell monkey -p com.yongshi.p08 -c android.intent.category.LAUNCHER 1 ; echo ---$?--- waiting for start app 0s C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\pocofw.py:103: UserWarning: Wildcard selector may cause performance trouble. Please give at least one condition to shrink range of results warnings.warn("Wildcard selector may cause performance trouble. Please give at least one condition to " [05:02:26][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 127.0.0.1:7555 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -i ; echo ---$?--- EC:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\case.py:211: UserWarning: Fail to stop result emitter: "SiteSnapshot". You can report this error to the developers or just ignore it. Error message: "Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\case.py", line 207, in run emitter.stop() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\result\site_snapshot.py", line 32, in stop self.snapshot('caseEnd') File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\result\site_snapshot.py", line 38, in snapshot self.snapshot_screen(site_id) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\result\site_snapshot.py", line 60, in snapshot_screen b64img, fmt = self.poco.snapshot() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\pocofw.py", line 433, in snapshot return self.agent.screen.getScreen(width) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\drivers\std\screen.py", line 20, in getScreen b64, fmt = self._getScreen(width) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\utils\simplerpc\utils.py", line 13, in new_func ret, err = cb.wait(timeout=30) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\utils\simplerpc\simplerpc.py", line 78, in wait raise RpcTimeoutError(self) poco.utils.simplerpc.simplerpc.RpcTimeoutError: (rid=7107ee4e-c9ab-4328-ad1e-8d3b48bafa0b) (connection="tcp://127.0.0.1:18888") " .format(emitter.__class__.__name__, traceback.format_exc())) ====================================================================== ERROR: runTest (__main__.GoddnessLevelUp) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\utils\outcome.py", line 30, in testPartExecutor yield File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pocounit\case.py", line 258, in _super_run_modified self.setUp() File "testflow/scripts/levelup.py", line 33, in setUp self.poco().click(pos) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 23, in wrapped return func(proxy, *args, **kwargs) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 334, in click ret = self.poco.click(pos_in_percentage) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\pocofw.py", line 252, in click ret = self.agent.input.click(pos[0], pos[1]) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\utils\airtest\input.py", line 63, in click pw, ph = self._get_touch_resolution() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\utils\airtest\input.py", line 54, in _get_touch_resolution return current_device().get_current_resolution() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\android.py", line 560, in get_current_resolution w, h = self.display_info["width"], self.display_info["height"] File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\android.py", line 527, in display_info self._display_info = self.get_display_info() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\android.py", line 546, in get_display_info display_info = self.minicap.get_display_info() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\utils\snippet.py", line 106, in ready_func return func(inst, *args, **kwargs) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\minicap.py", line 149, in get_display_info display_info = json.loads(display_info) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\json\__init__.py", line 354, in loads return _default_decoder.decode(s) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/helpers/pycharm/_jb_unittest_runner.py", line 35, in
main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/main.py", line 94, in init
self.parseArgs(argv)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/main.py", line 113, in parseArgs
self._do_discovery(argv[2:])
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/main.py", line 214, in _do_discovery
self.test = loader.discover(start_dir, pattern, top_level_dir)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 206, in discover
tests = list(self._find_tests(start_dir, pattern))
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 268, in _find_tests
yield self.loadTestsFromModule(module)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 65, in loadTestsFromModule
tests.append(self.loadTestsFromTestCase(obj))
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 56, in loadTestsFromTestCase
loaded_suite = self.suiteClass(map(testCaseClass, testCaseNames))
TypeError: init() takes exactly 1 argument (2 given)
Process finished with exit code 1
这个标准工程目前没有新的特性要增加了么?
test setup failed
cls = <class 'testflow.lib.case.android_app.AndroidAppCase'>
@classmethod
def setUpClass(cls):
super(AndroidAppCase, cls).setUpClass()
if not current_device():
connect_device('Android:///')
dev = current_device()
> meta_info_emitter = cls.get_result_emitter('metaInfo')
E AttributeError: type object 'AndroidAppCase' has no attribute 'get_result_emitter'
../lib/case/android_app.py:20: AttributeError
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.