1/**
2 * Copyright (c) 2024 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 */
15import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium"
16import router from '@ohos.router';
17import {UiComponent, Driver, Component, UiWindow, ON, BY, MatchPattern, DisplayRotation, ResizeDirection, WindowMode, PointerMatrix} from '@ohos.UiTest';
18import CommonFunc from '../MainAbility/utils/Common';
19import {MessageManager,Callback} from '../MainAbility/utils/MessageManager';
20export default function RunMetricsTest() {
21  describe('RunMetricsTest', ()=> {
22    beforeEach(async (done:Function)=> {
23      console.info("RunMetricsTest beforeEach start");
24      let options :router.RouterOptions = {
25        url: 'MainAbility/pages/RunMetrics',
26      }
27      try {
28        router.clear();
29        let pages = router.getState();
30        console.info("get RunMetricsTest state pages: " + JSON.stringify(pages));
31        if (!("RunMetrics" == pages.name)) {
32          console.info("get RunMetricsTest state pages.name: " + JSON.stringify(pages.name));
33          let result = await router.push(options);
34          await CommonFunc.sleep(5000);
35          console.info("push RunMetricsTest success: " + JSON.stringify(result));
36        }
37      } catch (err) {
38        console.error("push RunMetricsTest page error: " + err);
39        expect().assertFail();
40      }
41      done();
42    });
43    /**
44     * @tc.number    RunMetrics
45     * @tc.name      RunMetricsTest_0100
46     * @tc.desc      api
47     * @tc.level:    Level 2
48     * @tc.type :
49     * @tc.size :
50     */
51    it('RunMetricsTest_0100', 0, async (done:Function)=> {
52      console.info('RunMetricsTest_0100 START');
53      let driver = await Driver.create()
54      await CommonFunc.sleep(1000);
55      let button = await driver.findComponent(ON.id('runMetrics_11'));
56      await button.click();
57      await CommonFunc.sleep(1000);
58      let strJson1 = getInspectorByKey('runMetrics_1');
59      let strJson2 = getInspectorByKey('runMetrics_2');
60      let strJson3 = getInspectorByKey('runMetrics_3');
61      let strJson4 = getInspectorByKey('runMetrics_4');
62      let strJson5 = getInspectorByKey('runMetrics_5');
63      let strJson6 = getInspectorByKey('runMetrics_6');
64      let strJson7 = getInspectorByKey('runMetrics_7');
65      let strJson8 = getInspectorByKey('runMetrics_8');
66      let strJson9 = getInspectorByKey('runMetrics_9');
67      let strJson10 = getInspectorByKey('runMetrics_10');
68      let obj1:ESObject = JSON.parse(strJson1);
69      let obj2:ESObject = JSON.parse(strJson2);
70      let obj3:ESObject = JSON.parse(strJson3);
71      let obj4:ESObject = JSON.parse(strJson4);
72      let obj5:ESObject = JSON.parse(strJson5);
73      let obj6:ESObject = JSON.parse(strJson6);
74      let obj7:ESObject = JSON.parse(strJson7);
75      let obj8:ESObject = JSON.parse(strJson8);
76      let obj9:ESObject = JSON.parse(strJson9);
77      let obj10:ESObject = JSON.parse(strJson10);
78      expect(obj1.$attrs.content).assertEqual('10');
79      expect(obj2.$attrs.content).assertEqual('59');
80      expect(obj3.$attrs.content).assertEqual('-10');
81      expect(obj4.$attrs.content).assertEqual('50');
82      expect(obj5.$attrs.content).assertEqual('10');
83      expect(obj6.$attrs.content).assertEqual('15');
84      expect(obj7.$attrs.content).assertEqual('1');
85      expect(obj8.$attrs.content).assertEqual('5');
86      expect(obj9.$attrs.content).assertEqual('1');
87      expect(obj10.$attrs.content).assertEqual('-5');
88      console.info('[RunMetricsTest_0100] END');
89      done();
90    });
91  })
92}
93
94