1a69a01cdSopenharmony_ci/* 2a69a01cdSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3a69a01cdSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4a69a01cdSopenharmony_ci * you may not use this file except in compliance with the License. 5a69a01cdSopenharmony_ci * You may obtain a copy of the License at 6a69a01cdSopenharmony_ci * 7a69a01cdSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8a69a01cdSopenharmony_ci * 9a69a01cdSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10a69a01cdSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11a69a01cdSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12a69a01cdSopenharmony_ci * See the License for the specific language governing permissions and 13a69a01cdSopenharmony_ci * limitations under the License. 14a69a01cdSopenharmony_ci */ 15a69a01cdSopenharmony_ci 16a69a01cdSopenharmony_ci#ifndef TEST_WUKONG_INPUT_ACTION_H 17a69a01cdSopenharmony_ci#define TEST_WUKONG_INPUT_ACTION_H 18a69a01cdSopenharmony_ci 19a69a01cdSopenharmony_ci#include <string> 20a69a01cdSopenharmony_ci#include <unistd.h> 21a69a01cdSopenharmony_ci 22a69a01cdSopenharmony_ci#include "app_manager.h" 23a69a01cdSopenharmony_ci#include "input_manager.h" 24a69a01cdSopenharmony_ci#include "special_test_object.h" 25a69a01cdSopenharmony_ci#include "wukong_define.h" 26a69a01cdSopenharmony_ci#include "wukong_util.h" 27a69a01cdSopenharmony_ci 28a69a01cdSopenharmony_cinamespace OHOS { 29a69a01cdSopenharmony_cinamespace WuKong { 30a69a01cdSopenharmony_cienum InputType { 31a69a01cdSopenharmony_ci INPUTTYPE_TOUCHINPUT, // input touch event 32a69a01cdSopenharmony_ci INPUTTYPE_SWAPINPUT, // input swap event 33a69a01cdSopenharmony_ci INPUTTYPE_MOUSEINPUT, // input mouse event 34a69a01cdSopenharmony_ci INPUTTYPE_KEYBOARDINPUT, // input keyboard event 35a69a01cdSopenharmony_ci INPUTTYPE_ELEMENTINPUT, // input element event 36a69a01cdSopenharmony_ci INPUTTYPE_APPSWITCHINPUT, // input appswitch event 37a69a01cdSopenharmony_ci INPUTTYPE_HARDKEYINPUT, // input power event 38a69a01cdSopenharmony_ci INPUTTYPE_ROTATEINPUT, // input rotate event 39a69a01cdSopenharmony_ci INPUTTYPE_INVALIDINPUT, // input invaild event 40a69a01cdSopenharmony_ci INPUTTYPE_RECORDINPUT, // input record event 41a69a01cdSopenharmony_ci INPUTTYPE_REPPLAYINPUT // input replay event 42a69a01cdSopenharmony_ci}; 43a69a01cdSopenharmony_ci 44a69a01cdSopenharmony_ci/** 45a69a01cdSopenharmony_ci * @brief Input base class, provide the "Random, Next, Report" function for input action. 46a69a01cdSopenharmony_ci */ 47a69a01cdSopenharmony_ciclass InputAction { 48a69a01cdSopenharmony_cipublic: 49a69a01cdSopenharmony_ci InputAction() 50a69a01cdSopenharmony_ci { 51a69a01cdSopenharmony_ci } 52a69a01cdSopenharmony_ci virtual ~InputAction() 53a69a01cdSopenharmony_ci { 54a69a01cdSopenharmony_ci } 55a69a01cdSopenharmony_ci virtual ErrCode OrderInput(const std::shared_ptr<SpcialTestObject>& specialTestObject) 56a69a01cdSopenharmony_ci { 57a69a01cdSopenharmony_ci return OHOS::ERR_INVALID_VALUE; 58a69a01cdSopenharmony_ci } 59a69a01cdSopenharmony_ci /** 60a69a01cdSopenharmony_ci * @brief input a touch event in random test. 61a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 62a69a01cdSopenharmony_ci */ 63a69a01cdSopenharmony_ci virtual ErrCode RandomInput() 64a69a01cdSopenharmony_ci { 65a69a01cdSopenharmony_ci return OHOS::ERR_INVALID_VALUE; 66a69a01cdSopenharmony_ci } 67a69a01cdSopenharmony_ci /** 68a69a01cdSopenharmony_ci * @brief input a touch event in random test for uri and uriType. 69a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 70a69a01cdSopenharmony_ci */ 71a69a01cdSopenharmony_ci virtual ErrCode RandomInput(const std::string &uri, const std::string &uriType) 72a69a01cdSopenharmony_ci { 73a69a01cdSopenharmony_ci return OHOS::ERR_INVALID_VALUE; 74a69a01cdSopenharmony_ci } 75a69a01cdSopenharmony_ci /** 76a69a01cdSopenharmony_ci * @brief input a touch event in random test for uri and abilityname. 77a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 78a69a01cdSopenharmony_ci */ 79a69a01cdSopenharmony_ci virtual ErrCode RandomInput(const std::string &uri, const std::vector<std::string> &abilityName) 80a69a01cdSopenharmony_ci { 81a69a01cdSopenharmony_ci return OHOS::ERR_INVALID_VALUE; 82a69a01cdSopenharmony_ci } 83a69a01cdSopenharmony_ci 84a69a01cdSopenharmony_ci /** 85a69a01cdSopenharmony_ci * @brief input a touch event in focus test for a certain times. 86a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 87a69a01cdSopenharmony_ci */ 88a69a01cdSopenharmony_ci virtual ErrCode FocusInput(bool shouldScreenCap) 89a69a01cdSopenharmony_ci { 90a69a01cdSopenharmony_ci return OHOS::ERR_INVALID_VALUE; 91a69a01cdSopenharmony_ci } 92a69a01cdSopenharmony_ci 93a69a01cdSopenharmony_ci virtual InputType GetInputInfo() 94a69a01cdSopenharmony_ci { 95a69a01cdSopenharmony_ci return INPUTTYPE_INVALIDINPUT; 96a69a01cdSopenharmony_ci } 97a69a01cdSopenharmony_ci}; 98a69a01cdSopenharmony_ci} // namespace WuKong 99a69a01cdSopenharmony_ci} // namespace OHOS 100a69a01cdSopenharmony_ci#endif // TEST_WUKONG_INPUT_ACTION_H 101