1 /* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef TEST_WUKONG_APPSWITCH_INPUT_H 17 #define TEST_WUKONG_APPSWITCH_INPUT_H 18 19 #include <string> 20 21 #include "input_action.h" 22 #include "special_test_object.h" 23 #include "input_msg_object.h" 24 namespace OHOS { 25 namespace WuKong { 26 class AppswitchInput : public InputAction { 27 public: 28 AppswitchInput(); 29 ~AppswitchInput(); 30 31 ErrCode OrderInput(const std::shared_ptr<SpcialTestObject>& specialTestObject); 32 33 /** 34 * @brief started up a app by ability. 35 * @return Return ERR_OK on success, others on failure. 36 */ 37 ErrCode RandomInput(); 38 39 /** 40 * @brief started up a app by uri and uritype. 41 * @return Return ERR_OK on success, others on failure. 42 */ 43 ErrCode RandomInput(const std::string &uri, const std::string &uriType); 44 45 /** 46 * @brief started up a app by uri and ability. 47 * @return Return ERR_OK on success, others on failure. 48 */ 49 ErrCode RandomInput(const std::string &uri, const std::vector<std::string> &abilityName); 50 51 /** 52 * @brief started up a app by ability. 53 * @return Return ERR_OK on success, others on failure. 54 */ 55 ErrCode FocusInput(bool shouldScreenCap); 56 57 /** 58 * @brief get information of inputted event. 59 * @return Return ERR_OK on success, others on failure. 60 */ 61 InputType GetInputInfo(); 62 63 /** 64 * @brief output the information: if the app has started up successfully. 65 * @param result 66 * @param index bundlelist's index. 67 * @return Return ERR_OK on success, others on failure. 68 */ 69 ErrCode PrintResultOfStartAbility(const ErrCode result, uint32_t index); 70 71 private: 72 /** 73 * @brief get ability name index through bundle name index 74 * @param bundleList the list of all bundle name 75 * @param index index of ability name in ability name list. 76 * @return Return ERR_OK on success,others on failure. 77 */ 78 uint32_t GetAbilityIndex(std::vector<std::string> &bundleList); 79 80 std::shared_ptr<InputedMsgObject> inputedMsgObject_; 81 }; 82 } // namespace WuKong 83 } // namespace OHOS 84 #endif // TEST_WUKONG_APPSWITCH_INPUT_H 85