176e6818aSopenharmony_ci#!/usr/bin/env python3 276e6818aSopenharmony_ci# coding=utf-8 376e6818aSopenharmony_ci 476e6818aSopenharmony_ci# 576e6818aSopenharmony_ci# Copyright (c) 2020-2024 Huawei Device Co., Ltd. 676e6818aSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 776e6818aSopenharmony_ci# you may not use this file except in compliance with the License. 876e6818aSopenharmony_ci# You may obtain a copy of the License at 976e6818aSopenharmony_ci# 1076e6818aSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 1176e6818aSopenharmony_ci# 1276e6818aSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 1376e6818aSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1476e6818aSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1576e6818aSopenharmony_ci# See the License for the specific language governing permissions and 1676e6818aSopenharmony_ci# limitations under the License. 1776e6818aSopenharmony_ci# 1876e6818aSopenharmony_ci 1976e6818aSopenharmony_cifrom xdevice import Error, ErrorCategory 2076e6818aSopenharmony_ci 2176e6818aSopenharmony_ci 2276e6818aSopenharmony_ciclass _CommonErr: 2376e6818aSopenharmony_ci """Code_0201xxx,汇总常见的、未归类的问题""" 2476e6818aSopenharmony_ci Code_0201001 = Error(**{"error": "File path does not exist, path: {}", 2576e6818aSopenharmony_ci "category": "{}", 2676e6818aSopenharmony_ci "code": "0201001"}) 2776e6818aSopenharmony_ci Code_0201002 = Error(**{"error": "Json file does not exist, file: {}", 2876e6818aSopenharmony_ci "category": ErrorCategory.Environment, 2976e6818aSopenharmony_ci "code": "0201002"}) 3076e6818aSopenharmony_ci Code_0201003 = Error(**{"error": "generate test report failed", 3176e6818aSopenharmony_ci "code": "0201003"}) 3276e6818aSopenharmony_ci Code_0201004 = Error(**{"error": "The test task is terminated abnormally", 3376e6818aSopenharmony_ci "code": "0201004", 3476e6818aSopenharmony_ci "suggestions": "测试任务被异常终止"}) 3576e6818aSopenharmony_ci Code_0201005 = Error(**{"error": "Failed to obtain the idle port", 3676e6818aSopenharmony_ci "category": ErrorCategory.Environment, 3776e6818aSopenharmony_ci "code": "0201005"}) 3876e6818aSopenharmony_ci Code_0201006 = Error(**{"error": "The source image for image comparison does not exist, source: {}", 3976e6818aSopenharmony_ci "category": ErrorCategory.Script, 4076e6818aSopenharmony_ci "code": "0201006"}) 4176e6818aSopenharmony_ci Code_0201007 = Error(**{"error": "The target image for image comparison does not exist, target: {}", 4276e6818aSopenharmony_ci "category": ErrorCategory.Script, 4376e6818aSopenharmony_ci "code": "0201007"}) 4476e6818aSopenharmony_ci Code_0201008 = Error(**{"error": "Resource file does not exist, file: {}", 4576e6818aSopenharmony_ci "category": ErrorCategory.Environment, 4676e6818aSopenharmony_ci "code": "0201008", 4776e6818aSopenharmony_ci "suggestions": "测试资源文件不存在"}) 4876e6818aSopenharmony_ci Code_0201009 = Error(**{"error": "Failed to write content to the file", 4976e6818aSopenharmony_ci "category": ErrorCategory.Environment, 5076e6818aSopenharmony_ci "code": "0201009"}) 5176e6818aSopenharmony_ci Code_0201010 = Error(**{"error": "Failed to read content from the file", 5276e6818aSopenharmony_ci "category": ErrorCategory.Environment, 5376e6818aSopenharmony_ci "code": "0201010"}) 5476e6818aSopenharmony_ci Code_0201011 = Error(**{"error": "Unsupported system environment", 5576e6818aSopenharmony_ci "category": ErrorCategory.Environment, 5676e6818aSopenharmony_ci "code": "0201011"}) 5776e6818aSopenharmony_ci Code_0201012 = Error(**{"error": "Syntax error in test specifier '{}'", 5876e6818aSopenharmony_ci "category": ErrorCategory.Environment, 5976e6818aSopenharmony_ci "code": "0201012"}) 6076e6818aSopenharmony_ci Code_0201013 = Error(**{"error": "Invalid test case name '{}'", 6176e6818aSopenharmony_ci "category": ErrorCategory.Environment, 6276e6818aSopenharmony_ci "code": "0201013"}) 6376e6818aSopenharmony_ci Code_0201014 = Error(**{"error": "Can't find prepare script '{}'", 6476e6818aSopenharmony_ci "category": ErrorCategory.Environment, 6576e6818aSopenharmony_ci "code": "0201014"}) 6676e6818aSopenharmony_ci Code_0201015 = Error(**{"error": "prepare script's setup step execution may be error", 6776e6818aSopenharmony_ci "category": ErrorCategory.Script, 6876e6818aSopenharmony_ci "code": "0201015"}) 6976e6818aSopenharmony_ci Code_0201016 = Error(**{"error": "prepare script's teardown step execution may be error", 7076e6818aSopenharmony_ci "category": ErrorCategory.Script, 7176e6818aSopenharmony_ci "code": "0201016"}) 7276e6818aSopenharmony_ci Code_0201017 = Error(**{"error": "Failed to instantiate the test runner", 7376e6818aSopenharmony_ci "code": "0201017"}) 7476e6818aSopenharmony_ci 7576e6818aSopenharmony_ci 7676e6818aSopenharmony_ciclass _DeviceErr: 7776e6818aSopenharmony_ci """Code_0202xxx,归类rpc、uitest、测试设备等问题""" 7876e6818aSopenharmony_ci Code_0202001 = Error(**{"error": "[{}] Reconnect to device rpc service is more than {} times, raise", 7976e6818aSopenharmony_ci "category": ErrorCategory.Environment, 8076e6818aSopenharmony_ci "code": "0202001"}) 8176e6818aSopenharmony_ci Code_0202002 = Error(**{"error": "Receive 0 byte, harmony abc rpc server is disconnected!", 8276e6818aSopenharmony_ci "category": ErrorCategory.Environment, 8376e6818aSopenharmony_ci "code": "0202002"}) 8476e6818aSopenharmony_ci Code_0202003 = Error(**{"error": "Receive 0 byte, harmony rpc server is disconnected!", 8576e6818aSopenharmony_ci "category": ErrorCategory.Environment, 8676e6818aSopenharmony_ci "code": "0202003"}) 8776e6818aSopenharmony_ci Code_0202004 = Error(**{"error": "Receive 0 byte, rpc server is disconnected!", 8876e6818aSopenharmony_ci "category": ErrorCategory.Environment, 8976e6818aSopenharmony_ci "code": "0202004"}) 9076e6818aSopenharmony_ci Code_0202005 = Error(**{"error": "install harmony {} rpc failed, reason: {}", 9176e6818aSopenharmony_ci "code": "0202005"}) 9276e6818aSopenharmony_ci Code_0202006 = Error(**{"error": "accessibility pid is not found", 9376e6818aSopenharmony_ci "category": ErrorCategory.Environment, 9476e6818aSopenharmony_ci "code": "0202006"}) 9576e6818aSopenharmony_ci Code_0202007 = Error(**{"error": "Fail to create inner UiDriver", 9676e6818aSopenharmony_ci "code": "0202007"}) 9776e6818aSopenharmony_ci Code_0202008 = Error(**{"error": "Fail to create UiDriver", 9876e6818aSopenharmony_ci "code": "0202008"}) 9976e6818aSopenharmony_ci Code_0202009 = Error(**{"error": "Fail to connect AAMS", 10076e6818aSopenharmony_ci "code": "0202009"}) 10176e6818aSopenharmony_ci 10276e6818aSopenharmony_ci # Code_02023xx,测试设备 10376e6818aSopenharmony_ci Code_0202301 = Error(**{"error": "webview init failed", 10476e6818aSopenharmony_ci "code": "0202301"}) 10576e6818aSopenharmony_ci Code_0202302 = Error(**{"error": "Fail to connect to device, error: {}", 10676e6818aSopenharmony_ci "category": ErrorCategory.Environment, 10776e6818aSopenharmony_ci "code": "0202302", 10876e6818aSopenharmony_ci "suggestions": "无法连接设备或向设备发送指令,设备可能已断开连接"}) 10976e6818aSopenharmony_ci Code_0202303 = Error(**{"error": "Connector command execution timeout, error: {}", 11076e6818aSopenharmony_ci "category": ErrorCategory.Environment, 11176e6818aSopenharmony_ci "code": "0202303", 11276e6818aSopenharmony_ci "suggestions": "设备调试命令运行超时"}) 11376e6818aSopenharmony_ci Code_0202304 = Error(**{"error": "Connector command execution timeout, error: {}", 11476e6818aSopenharmony_ci "category": ErrorCategory.Environment, 11576e6818aSopenharmony_ci "code": "0202304", 11676e6818aSopenharmony_ci "suggestions": "设备调试命令运行超时"}) 11776e6818aSopenharmony_ci Code_0202305 = Error(**{"error": "device rpc process is not found", 11876e6818aSopenharmony_ci "category": ErrorCategory.Environment, 11976e6818aSopenharmony_ci "code": "0202305"}) 12076e6818aSopenharmony_ci Code_0202306 = Error(**{"error": "device cannot be found or is offline", 12176e6818aSopenharmony_ci "category": ErrorCategory.Environment, 12276e6818aSopenharmony_ci "code": "0202306"}) 12376e6818aSopenharmony_ci Code_0202307 = Error(**{"error": "Failed to install test app, error: {}", 12476e6818aSopenharmony_ci "category": ErrorCategory.Environment, 12576e6818aSopenharmony_ci "code": "0202307"}) 12676e6818aSopenharmony_ci 12776e6818aSopenharmony_ci 12876e6818aSopenharmony_ciclass _TestCaseErr: 12976e6818aSopenharmony_ci """Code_0203xxx,归类用例、用例执行等问题""" 13076e6818aSopenharmony_ci Code_0203001 = Error(**{"error": "Can't load file {}, error: {}", 13176e6818aSopenharmony_ci "category": ErrorCategory.Script, 13276e6818aSopenharmony_ci "code": "0203001", 13376e6818aSopenharmony_ci "suggestions": "1、测试用例导入模块失败;2、若导入的模块没有被使用,则删除对应的代码行"}) 13476e6818aSopenharmony_ci Code_0203002 = Error(**{"error": "{}", 13576e6818aSopenharmony_ci "category": ErrorCategory.Script, 13676e6818aSopenharmony_ci "code": "0203002"}) 13776e6818aSopenharmony_ci Code_0203003 = Error(**{"error": "Step {} result TestError!", 13876e6818aSopenharmony_ci "category": ErrorCategory.Script, 13976e6818aSopenharmony_ci "code": "0203003"}) 14076e6818aSopenharmony_ci Code_0203004 = Error(**{"error": "The self.tests variable of the test case is incorrectly assigned, " 14176e6818aSopenharmony_ci "current assigned: {}", 14276e6818aSopenharmony_ci "category": ErrorCategory.Script, 14376e6818aSopenharmony_ci "code": "0203004", 14476e6818aSopenharmony_ci "suggestions": "测试用例的self.tests变量赋值异常,需将它赋值为用例文件里定义的测试方法"}) 14576e6818aSopenharmony_ci Code_0203005 = Error(**{"error": "传参错误!请用list列表传递待重试运行的用例信息", 14676e6818aSopenharmony_ci "code": "0203005"}) 14776e6818aSopenharmony_ci Code_0203006 = Error(**{"error": "ImportError occurred, error: {}", 14876e6818aSopenharmony_ci "category": ErrorCategory.Script, 14976e6818aSopenharmony_ci "code": "0203006", 15076e6818aSopenharmony_ci "suggestions": "Python三方库、AW接口等载入异常,导致用例执行失败"}) 15176e6818aSopenharmony_ci Code_0203007 = Error(**{"error": "Failed to initialize the device object in the TestCase", 15276e6818aSopenharmony_ci "code": "0203007"}) 15376e6818aSopenharmony_ci Code_0203008 = Error(**{"error": "The parameter type is incorrect, error: {}", 15476e6818aSopenharmony_ci "code": "0203008", 15576e6818aSopenharmony_ci "suggestions": "参数类型错误"}) 15676e6818aSopenharmony_ci Code_0203009 = Error(**{"error": "No device has assigned for test source", 15776e6818aSopenharmony_ci "code": "0203009", 15876e6818aSopenharmony_ci "suggestions": "测试用例未分配到设备资源"}) 15976e6818aSopenharmony_ci Code_0203010 = Error(**{"error": "No config file for test source '{}'", 16076e6818aSopenharmony_ci "category": ErrorCategory.Script, 16176e6818aSopenharmony_ci "code": "0203010"}) 16276e6818aSopenharmony_ci Code_0203011 = Error(**{"error": "No test list to run", 16376e6818aSopenharmony_ci "category": ErrorCategory.Script, 16476e6818aSopenharmony_ci "code": "0203011"}) 16576e6818aSopenharmony_ci Code_0203012 = Error(**{"error": "No test list found", 16676e6818aSopenharmony_ci "category": ErrorCategory.Script, 16776e6818aSopenharmony_ci "code": "0203012"}) 16876e6818aSopenharmony_ci Code_0203013 = Error(**{"error": "The field of [py_file] in file {}.json only support one item, now is {}", 16976e6818aSopenharmony_ci "category": ErrorCategory.Script, 17076e6818aSopenharmony_ci "code": "0203013", 17176e6818aSopenharmony_ci "suggestions": "测试用例json的py_file字段只能配置一个用例py"}) 17276e6818aSopenharmony_ci Code_0203014 = Error(**{"error": "The field of [testsuite] in file testsuite json is not set", 17376e6818aSopenharmony_ci "category": ErrorCategory.Script, 17476e6818aSopenharmony_ci "code": "0203014", 17576e6818aSopenharmony_ci "suggestions": "测试套json的testsuite字段未配置测试套py"}) 17676e6818aSopenharmony_ci Code_0203015 = Error(**{"error": "You can only use the loop decorator in a test case", 17776e6818aSopenharmony_ci "category": ErrorCategory.Script, 17876e6818aSopenharmony_ci "code": "0203015", 17976e6818aSopenharmony_ci "suggestions": "只能在测试用例里使用loop装饰器"}) 18076e6818aSopenharmony_ci Code_0203016 = Error(**{"error": "The file name of the test case must be the same as the class name", 18176e6818aSopenharmony_ci "category": ErrorCategory.Script, 18276e6818aSopenharmony_ci "code": "0203016", 18376e6818aSopenharmony_ci "suggestions": "测试用例的文件名与类名必须保持一致"}) 18476e6818aSopenharmony_ci Code_0203017 = Error(**{"error": "Failed to run the test suite, error: {}", 18576e6818aSopenharmony_ci "category": ErrorCategory.Script, 18676e6818aSopenharmony_ci "code": "0203017", 18776e6818aSopenharmony_ci "suggestions": "测试套运行失败"}) 18876e6818aSopenharmony_ci 18976e6818aSopenharmony_ci 19076e6818aSopenharmony_ciclass _AssertionErr: 19176e6818aSopenharmony_ci """Code_0204xxx,断言错误提示""" 19276e6818aSopenharmony_ci Code_0204001 = Error(**{"error": "{}", 19376e6818aSopenharmony_ci "category": ErrorCategory.Script, 19476e6818aSopenharmony_ci "code": "0204001", 19576e6818aSopenharmony_ci "suggestions": "自定义断言错误提示语"}) 19676e6818aSopenharmony_ci Code_0204002 = Error(**{"error": "断言错误:由'=='条件确定的两个对象的值不相等", 19776e6818aSopenharmony_ci "category": ErrorCategory.Script, 19876e6818aSopenharmony_ci "code": "0204002"}) 19976e6818aSopenharmony_ci Code_0204003 = Error(**{"error": "断言错误:由'!='条件确定的两个对象的值相等", 20076e6818aSopenharmony_ci "category": ErrorCategory.Script, 20176e6818aSopenharmony_ci "code": "0204003"}) 20276e6818aSopenharmony_ci Code_0204004 = Error(**{"error": "断言错误:检查对象不为false", 20376e6818aSopenharmony_ci "category": ErrorCategory.Script, 20476e6818aSopenharmony_ci "code": "0204004"}) 20576e6818aSopenharmony_ci Code_0204005 = Error(**{"error": "断言错误:检查对象不为true", 20676e6818aSopenharmony_ci "category": ErrorCategory.Script, 20776e6818aSopenharmony_ci "code": "0204005"}) 20876e6818aSopenharmony_ci Code_0204006 = Error(**{"error": "断言错误:两个对象的id不相同", 20976e6818aSopenharmony_ci "category": ErrorCategory.Script, 21076e6818aSopenharmony_ci "code": "0204006"}) 21176e6818aSopenharmony_ci Code_0204007 = Error(**{"error": "断言错误:两个对象的id相同", 21276e6818aSopenharmony_ci "category": ErrorCategory.Script, 21376e6818aSopenharmony_ci "code": "0204007"}) 21476e6818aSopenharmony_ci Code_0204008 = Error(**{"error": "断言错误:检查对象不为None", 21576e6818aSopenharmony_ci "category": ErrorCategory.Script, 21676e6818aSopenharmony_ci "code": "0204008"}) 21776e6818aSopenharmony_ci Code_0204009 = Error(**{"error": "断言错误:检查对象为None", 21876e6818aSopenharmony_ci "category": ErrorCategory.Script, 21976e6818aSopenharmony_ci "code": "0204009"}) 22076e6818aSopenharmony_ci Code_0204010 = Error(**{"error": "断言错误:检查对象不在对象容器中", 22176e6818aSopenharmony_ci "category": ErrorCategory.Script, 22276e6818aSopenharmony_ci "code": "0204010"}) 22376e6818aSopenharmony_ci Code_0204011 = Error(**{"error": "断言错误:检查对象在对象容器中", 22476e6818aSopenharmony_ci "category": ErrorCategory.Script, 22576e6818aSopenharmony_ci "code": "0204011"}) 22676e6818aSopenharmony_ci Code_0204012 = Error(**{"error": "断言错误:检查对象不是另一对象的实例", 22776e6818aSopenharmony_ci "category": ErrorCategory.Script, 22876e6818aSopenharmony_ci "code": "0204012"}) 22976e6818aSopenharmony_ci Code_0204013 = Error(**{"error": "断言错误:检查对象是另一对象的实例", 23076e6818aSopenharmony_ci "category": ErrorCategory.Script, 23176e6818aSopenharmony_ci "code": "0204013"}) 23276e6818aSopenharmony_ci Code_0204014 = Error(**{"error": "断言错误:", 23376e6818aSopenharmony_ci "category": ErrorCategory.Script, 23476e6818aSopenharmony_ci "code": "0204014"}) 23576e6818aSopenharmony_ci Code_0204015 = Error(**{"error": "断言错误:检查对象的值(四舍五入比较)几乎不等于另一对象的值", 23676e6818aSopenharmony_ci "category": ErrorCategory.Script, 23776e6818aSopenharmony_ci "code": "0204015"}) 23876e6818aSopenharmony_ci Code_0204016 = Error(**{"error": "断言错误:检查对象的值(四舍五入比较)几乎等于另一对象的值", 23976e6818aSopenharmony_ci "category": ErrorCategory.Script, 24076e6818aSopenharmony_ci "code": "0204016"}) 24176e6818aSopenharmony_ci Code_0204017 = Error(**{"error": "断言错误:检查对象的值小于另一对象的值", 24276e6818aSopenharmony_ci "category": ErrorCategory.Script, 24376e6818aSopenharmony_ci "code": "0204017"}) 24476e6818aSopenharmony_ci Code_0204018 = Error(**{"error": "断言错误:检查对象的值大于等于另一对象的值", 24576e6818aSopenharmony_ci "category": ErrorCategory.Script, 24676e6818aSopenharmony_ci "code": "0204018"}) 24776e6818aSopenharmony_ci Code_0204019 = Error(**{"error": "断言错误:检查对象的值大于另一对象的值", 24876e6818aSopenharmony_ci "category": ErrorCategory.Script, 24976e6818aSopenharmony_ci "code": "0204019"}) 25076e6818aSopenharmony_ci Code_0204020 = Error(**{"error": "断言错误:两个字典对象不相等", 25176e6818aSopenharmony_ci "category": ErrorCategory.Script, 25276e6818aSopenharmony_ci "code": "0204020"}) 25376e6818aSopenharmony_ci Code_0204021 = Error(**{"error": "断言错误:两个集合对象不相等", 25476e6818aSopenharmony_ci "category": ErrorCategory.Script, 25576e6818aSopenharmony_ci "code": "0204021"}) 25676e6818aSopenharmony_ci Code_0204022 = Error(**{"error": "断言错误:两个元组对象不相等", 25776e6818aSopenharmony_ci "category": ErrorCategory.Script, 25876e6818aSopenharmony_ci "code": "0204022"}) 25976e6818aSopenharmony_ci Code_0204023 = Error(**{"error": "断言错误:两个列表对象不相等", 26076e6818aSopenharmony_ci "category": ErrorCategory.Script, 26176e6818aSopenharmony_ci "code": "0204023"}) 26276e6818aSopenharmony_ci Code_0204024 = Error(**{"error": "断言错误:两个序列对象不相等", 26376e6818aSopenharmony_ci "category": ErrorCategory.Script, 26476e6818aSopenharmony_ci "code": "0204024"}) 26576e6818aSopenharmony_ci Code_0204025 = Error(**{"error": "断言错误:两个多行字符串不相等", 26676e6818aSopenharmony_ci "category": ErrorCategory.Script, 26776e6818aSopenharmony_ci "code": "0204025"}) 26876e6818aSopenharmony_ci Code_0204026 = Error(**{"error": "断言错误:Expect: {}, Actual: {}", 26976e6818aSopenharmony_ci "category": ErrorCategory.Script, 27076e6818aSopenharmony_ci "code": "0204026"}) 27176e6818aSopenharmony_ci 27276e6818aSopenharmony_ci 27376e6818aSopenharmony_ciclass ErrorMessage: 27476e6818aSopenharmony_ci Common: _CommonErr = _CommonErr() 27576e6818aSopenharmony_ci Device: _DeviceErr = _DeviceErr() 27676e6818aSopenharmony_ci TestCase: _TestCaseErr = _TestCaseErr() 27776e6818aSopenharmony_ci Assertion: _AssertionErr = _AssertionErr() 278