#!/usr/bin/env python3 # coding=utf-8 # # Copyright (c) 2020-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # from xdevice import Error, ErrorCategory class _CommonErr: """Code_0201xxx,汇总常见的、未归类的问题""" Code_0201001 = Error(**{"error": "File path does not exist, path: {}", "category": "{}", "code": "0201001"}) Code_0201002 = Error(**{"error": "Json file does not exist, file: {}", "category": ErrorCategory.Environment, "code": "0201002"}) Code_0201003 = Error(**{"error": "generate test report failed", "code": "0201003"}) Code_0201004 = Error(**{"error": "The test task is terminated abnormally", "code": "0201004", "suggestions": "测试任务被异常终止"}) Code_0201005 = Error(**{"error": "Failed to obtain the idle port", "category": ErrorCategory.Environment, "code": "0201005"}) Code_0201006 = Error(**{"error": "The source image for image comparison does not exist, source: {}", "category": ErrorCategory.Script, "code": "0201006"}) Code_0201007 = Error(**{"error": "The target image for image comparison does not exist, target: {}", "category": ErrorCategory.Script, "code": "0201007"}) Code_0201008 = Error(**{"error": "Resource file does not exist, file: {}", "category": ErrorCategory.Environment, "code": "0201008", "suggestions": "测试资源文件不存在"}) Code_0201009 = Error(**{"error": "Failed to write content to the file", "category": ErrorCategory.Environment, "code": "0201009"}) Code_0201010 = Error(**{"error": "Failed to read content from the file", "category": ErrorCategory.Environment, "code": "0201010"}) Code_0201011 = Error(**{"error": "Unsupported system environment", "category": ErrorCategory.Environment, "code": "0201011"}) Code_0201012 = Error(**{"error": "Syntax error in test specifier '{}'", "category": ErrorCategory.Environment, "code": "0201012"}) Code_0201013 = Error(**{"error": "Invalid test case name '{}'", "category": ErrorCategory.Environment, "code": "0201013"}) Code_0201014 = Error(**{"error": "Can't find prepare script '{}'", "category": ErrorCategory.Environment, "code": "0201014"}) Code_0201015 = Error(**{"error": "prepare script's setup step execution may be error", "category": ErrorCategory.Script, "code": "0201015"}) Code_0201016 = Error(**{"error": "prepare script's teardown step execution may be error", "category": ErrorCategory.Script, "code": "0201016"}) Code_0201017 = Error(**{"error": "Failed to instantiate the test runner", "code": "0201017"}) class _DeviceErr: """Code_0202xxx,归类rpc、uitest、测试设备等问题""" Code_0202001 = Error(**{"error": "[{}] Reconnect to device rpc service is more than {} times, raise", "category": ErrorCategory.Environment, "code": "0202001"}) Code_0202002 = Error(**{"error": "Receive 0 byte, harmony abc rpc server is disconnected!", "category": ErrorCategory.Environment, "code": "0202002"}) Code_0202003 = Error(**{"error": "Receive 0 byte, harmony rpc server is disconnected!", "category": ErrorCategory.Environment, "code": "0202003"}) Code_0202004 = Error(**{"error": "Receive 0 byte, rpc server is disconnected!", "category": ErrorCategory.Environment, "code": "0202004"}) Code_0202005 = Error(**{"error": "install harmony {} rpc failed, reason: {}", "code": "0202005"}) Code_0202006 = Error(**{"error": "accessibility pid is not found", "category": ErrorCategory.Environment, "code": "0202006"}) Code_0202007 = Error(**{"error": "Fail to create inner UiDriver", "code": "0202007"}) Code_0202008 = Error(**{"error": "Fail to create UiDriver", "code": "0202008"}) Code_0202009 = Error(**{"error": "Fail to connect AAMS", "code": "0202009"}) # Code_02023xx,测试设备 Code_0202301 = Error(**{"error": "webview init failed", "code": "0202301"}) Code_0202302 = Error(**{"error": "Fail to connect to device, error: {}", "category": ErrorCategory.Environment, "code": "0202302", "suggestions": "无法连接设备或向设备发送指令,设备可能已断开连接"}) Code_0202303 = Error(**{"error": "Connector command execution timeout, error: {}", "category": ErrorCategory.Environment, "code": "0202303", "suggestions": "设备调试命令运行超时"}) Code_0202304 = Error(**{"error": "Connector command execution timeout, error: {}", "category": ErrorCategory.Environment, "code": "0202304", "suggestions": "设备调试命令运行超时"}) Code_0202305 = Error(**{"error": "device rpc process is not found", "category": ErrorCategory.Environment, "code": "0202305"}) Code_0202306 = Error(**{"error": "device cannot be found or is offline", "category": ErrorCategory.Environment, "code": "0202306"}) Code_0202307 = Error(**{"error": "Failed to install test app, error: {}", "category": ErrorCategory.Environment, "code": "0202307"}) class _TestCaseErr: """Code_0203xxx,归类用例、用例执行等问题""" Code_0203001 = Error(**{"error": "Can't load file {}, error: {}", "category": ErrorCategory.Script, "code": "0203001", "suggestions": "1、测试用例导入模块失败;2、若导入的模块没有被使用,则删除对应的代码行"}) Code_0203002 = Error(**{"error": "{}", "category": ErrorCategory.Script, "code": "0203002"}) Code_0203003 = Error(**{"error": "Step {} result TestError!", "category": ErrorCategory.Script, "code": "0203003"}) Code_0203004 = Error(**{"error": "The self.tests variable of the test case is incorrectly assigned, " "current assigned: {}", "category": ErrorCategory.Script, "code": "0203004", "suggestions": "测试用例的self.tests变量赋值异常,需将它赋值为用例文件里定义的测试方法"}) Code_0203005 = Error(**{"error": "传参错误!请用list列表传递待重试运行的用例信息", "code": "0203005"}) Code_0203006 = Error(**{"error": "ImportError occurred, error: {}", "category": ErrorCategory.Script, "code": "0203006", "suggestions": "Python三方库、AW接口等载入异常,导致用例执行失败"}) Code_0203007 = Error(**{"error": "Failed to initialize the device object in the TestCase", "code": "0203007"}) Code_0203008 = Error(**{"error": "The parameter type is incorrect, error: {}", "code": "0203008", "suggestions": "参数类型错误"}) Code_0203009 = Error(**{"error": "No device has assigned for test source", "code": "0203009", "suggestions": "测试用例未分配到设备资源"}) Code_0203010 = Error(**{"error": "No config file for test source '{}'", "category": ErrorCategory.Script, "code": "0203010"}) Code_0203011 = Error(**{"error": "No test list to run", "category": ErrorCategory.Script, "code": "0203011"}) Code_0203012 = Error(**{"error": "No test list found", "category": ErrorCategory.Script, "code": "0203012"}) Code_0203013 = Error(**{"error": "The field of [py_file] in file {}.json only support one item, now is {}", "category": ErrorCategory.Script, "code": "0203013", "suggestions": "测试用例json的py_file字段只能配置一个用例py"}) Code_0203014 = Error(**{"error": "The field of [testsuite] in file testsuite json is not set", "category": ErrorCategory.Script, "code": "0203014", "suggestions": "测试套json的testsuite字段未配置测试套py"}) Code_0203015 = Error(**{"error": "You can only use the loop decorator in a test case", "category": ErrorCategory.Script, "code": "0203015", "suggestions": "只能在测试用例里使用loop装饰器"}) Code_0203016 = Error(**{"error": "The file name of the test case must be the same as the class name", "category": ErrorCategory.Script, "code": "0203016", "suggestions": "测试用例的文件名与类名必须保持一致"}) Code_0203017 = Error(**{"error": "Failed to run the test suite, error: {}", "category": ErrorCategory.Script, "code": "0203017", "suggestions": "测试套运行失败"}) class _AssertionErr: """Code_0204xxx,断言错误提示""" Code_0204001 = Error(**{"error": "{}", "category": ErrorCategory.Script, "code": "0204001", "suggestions": "自定义断言错误提示语"}) Code_0204002 = Error(**{"error": "断言错误:由'=='条件确定的两个对象的值不相等", "category": ErrorCategory.Script, "code": "0204002"}) Code_0204003 = Error(**{"error": "断言错误:由'!='条件确定的两个对象的值相等", "category": ErrorCategory.Script, "code": "0204003"}) Code_0204004 = Error(**{"error": "断言错误:检查对象不为false", "category": ErrorCategory.Script, "code": "0204004"}) Code_0204005 = Error(**{"error": "断言错误:检查对象不为true", "category": ErrorCategory.Script, "code": "0204005"}) Code_0204006 = Error(**{"error": "断言错误:两个对象的id不相同", "category": ErrorCategory.Script, "code": "0204006"}) Code_0204007 = Error(**{"error": "断言错误:两个对象的id相同", "category": ErrorCategory.Script, "code": "0204007"}) Code_0204008 = Error(**{"error": "断言错误:检查对象不为None", "category": ErrorCategory.Script, "code": "0204008"}) Code_0204009 = Error(**{"error": "断言错误:检查对象为None", "category": ErrorCategory.Script, "code": "0204009"}) Code_0204010 = Error(**{"error": "断言错误:检查对象不在对象容器中", "category": ErrorCategory.Script, "code": "0204010"}) Code_0204011 = Error(**{"error": "断言错误:检查对象在对象容器中", "category": ErrorCategory.Script, "code": "0204011"}) Code_0204012 = Error(**{"error": "断言错误:检查对象不是另一对象的实例", "category": ErrorCategory.Script, "code": "0204012"}) Code_0204013 = Error(**{"error": "断言错误:检查对象是另一对象的实例", "category": ErrorCategory.Script, "code": "0204013"}) Code_0204014 = Error(**{"error": "断言错误:", "category": ErrorCategory.Script, "code": "0204014"}) Code_0204015 = Error(**{"error": "断言错误:检查对象的值(四舍五入比较)几乎不等于另一对象的值", "category": ErrorCategory.Script, "code": "0204015"}) Code_0204016 = Error(**{"error": "断言错误:检查对象的值(四舍五入比较)几乎等于另一对象的值", "category": ErrorCategory.Script, "code": "0204016"}) Code_0204017 = Error(**{"error": "断言错误:检查对象的值小于另一对象的值", "category": ErrorCategory.Script, "code": "0204017"}) Code_0204018 = Error(**{"error": "断言错误:检查对象的值大于等于另一对象的值", "category": ErrorCategory.Script, "code": "0204018"}) Code_0204019 = Error(**{"error": "断言错误:检查对象的值大于另一对象的值", "category": ErrorCategory.Script, "code": "0204019"}) Code_0204020 = Error(**{"error": "断言错误:两个字典对象不相等", "category": ErrorCategory.Script, "code": "0204020"}) Code_0204021 = Error(**{"error": "断言错误:两个集合对象不相等", "category": ErrorCategory.Script, "code": "0204021"}) Code_0204022 = Error(**{"error": "断言错误:两个元组对象不相等", "category": ErrorCategory.Script, "code": "0204022"}) Code_0204023 = Error(**{"error": "断言错误:两个列表对象不相等", "category": ErrorCategory.Script, "code": "0204023"}) Code_0204024 = Error(**{"error": "断言错误:两个序列对象不相等", "category": ErrorCategory.Script, "code": "0204024"}) Code_0204025 = Error(**{"error": "断言错误:两个多行字符串不相等", "category": ErrorCategory.Script, "code": "0204025"}) Code_0204026 = Error(**{"error": "断言错误:Expect: {}, Actual: {}", "category": ErrorCategory.Script, "code": "0204026"}) class ErrorMessage: Common: _CommonErr = _CommonErr() Device: _DeviceErr = _DeviceErr() TestCase: _TestCaseErr = _TestCaseErr() Assertion: _AssertionErr = _AssertionErr()