• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
15import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from '@ohos/hypium';
16import accessibility from '@ohos.accessibility';
17import GesturePath from '@ohos.accessibility.GesturePath';
18import GesturePoint from '@ohos.accessibility.GesturePoint';
19import AccessibilityExtensionAbility  from '@ohos.application.AccessibilityExtensionAbility';
20import {ElementAttributeKeys} from '@ohos.application.AccessibilityExtensionAbility';
21
22const bundleName = 'com.sample.testfora11y';
23const triggerAction = 'accessibilityFocus';
24const eventType = 'accessibilityFocus';
25
26export default function abilityTest() {
27  describe('AccessibilityErrCode', function () {
28    let axContext = null;
29    let object = null;
30    beforeEach(async function (done) {
31      console.info(`AccessibilityErrCode: beforeEach starts`);
32      done();
33    })
34
35    afterEach(async function (done) {
36      console.info(`AccessibilityErrCode: afterEach starts`);
37      done();
38    })
39
40    /* Cases for namespace accessibility */
41    /*
42    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0200
43    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0200
44    * @tc.desc    The parameters input are 'audible' and 'install', test the getAccessibilityExtensionList()
45    *             function, and the output is the list of AccessibilityAbilityInfo
46    * @tc.size    SmallTest
47    * @tc.type    User
48    * @tc.level   Level 1
49    */
50    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0200', 0, async function (done) {
51      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0200');
52      accessibility.getAccessibilityExtensionList('audible', 'install', (err, data) => {
53        if (err && err.code != 0) {
54          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0200 has error: ${err.code}`);
55          expect(null).assertFail();
56          done();
57        }
58        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0200 result ${data.length}`);
59        expect(Array.isArray(data)).assertEqual(true);
60        done();
61      });
62    })
63
64    /*
65    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0201
66    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0201
67    * @tc.desc    The parameters input are 'audible' and 'install', test the getAccessibilityExtensionList() function,
68    *             and the output is the list of AccessibilityAbilityInfo
69    * @tc.size    SmallTest
70    * @tc.type    User
71    * @tc.level   Level 1
72    */
73    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0201', 0, async function (done) {
74      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0201');
75      accessibility.getAccessibilityExtensionList('audible', 'install').then((result) => {
76        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0201 result ${result.length}`);
77        expect(Array.isArray(result)).assertEqual(true);
78        done();
79      }).catch((err) => {
80        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0201 has error: ${err}`);
81        expect(null).assertFail();
82        done();
83      });
84    })
85
86    /*
87    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0202
88    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0202
89    * @tc.desc    The parameters input are 'generic' and 'install', test the getAccessibilityExtensionList()
90    *             function, and the output is the list of AccessibilityAbilityInfo
91    * @tc.size    SmallTest
92    * @tc.type    User
93    * @tc.level   Level 1
94    */
95    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0202', 0, async function (done) {
96      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0202');
97      accessibility.getAccessibilityExtensionList('generic', 'install', (err, data) => {
98        if (err && err.code != 0) {
99          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0202 has error: ${err.code}`);
100          expect(null).assertFail();
101          done();
102        }
103        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0202 result ${data.length}`);
104        expect(Array.isArray(data)).assertEqual(true);
105        done();
106      });
107    })
108
109    /*
110    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0203
111    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0203
112    * @tc.desc    The parameters input are 'generic' and 'install', test the getAccessibilityExtensionList() function,
113    *             and the output is the list of AccessibilityAbilityInfo
114    * @tc.size    SmallTest
115    * @tc.type    User
116    * @tc.level   Level 1
117    */
118    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0203', 0, async function (done) {
119      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0203');
120      accessibility.getAccessibilityExtensionList('generic', 'install').then((result) => {
121        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0203 result ${result.length}`);
122        expect(Array.isArray(result)).assertEqual(true);
123        done();
124      }).catch((err) => {
125        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0203 has error: ${err}`);
126        expect(null).assertFail();
127        done();
128      });
129    })
130
131    /*
132    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0204
133    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0204
134    * @tc.desc    The parameters input are 'generic' and 'install', test the getAccessibilityExtensionList()
135    *             function, and the output is the list of AccessibilityAbilityInfo
136    * @tc.size    SmallTest
137    * @tc.type    User
138    * @tc.level   Level 1
139    */
140    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0204', 0, async function (done) {
141      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0204');
142      accessibility.getAccessibilityExtensionList('generic', 'install', (err, data) => {
143        if (err && err.code != 0) {
144          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0204 has error: ${err.code}`);
145          expect(null).assertFail();
146          done();
147        }
148        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0204 result ${data.length}`);
149        expect(Array.isArray(data)).assertEqual(true);
150        done();
151      });
152    })
153
154    /*
155    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0205
156    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0205
157    * @tc.desc    The parameters input are 'generic' and 'install', test the getAccessibilityExtensionList() function,
158    *             and the output is the list of AccessibilityAbilityInfo
159    * @tc.size    SmallTest
160    * @tc.type    User
161    * @tc.level   Level 1
162    */
163    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0205', 0, async function (done) {
164      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0205');
165      accessibility.getAccessibilityExtensionList('generic', 'install').then((result) => {
166        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0205 result ${result.length}`);
167        expect(Array.isArray(result)).assertEqual(true);
168        done();
169      }).catch((err) => {
170        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0205 has error: ${err}`);
171        expect(null).assertFail();
172        done();
173      });
174    })
175
176    /*
177    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0206
178    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0206
179    * @tc.desc    The parameters input are 'haptic' and 'install', test the getAccessibilityExtensionList()
180    *             function, and the output is the list of AccessibilityAbilityInfo
181    * @tc.size    SmallTest
182    * @tc.type    User
183    * @tc.level   Level 1
184    */
185    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0206', 0, async function (done) {
186      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0206');
187      accessibility.getAccessibilityExtensionList('haptic', 'install', (err, data) => {
188        if (err && err.code != 0) {
189          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0206 has error: ${err.code}`);
190          expect(null).assertFail();
191          done();
192        }
193        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0206 result ${data.length}`);
194        expect(Array.isArray(data)).assertEqual(true);
195        done();
196      });
197    })
198
199    /*
200    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0207
201    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0207
202    * @tc.desc    The parameters input are 'haptic' and 'install', test the getAccessibilityExtensionList() function,
203    *             and the output is the list of AccessibilityAbilityInfo
204    * @tc.size    SmallTest
205    * @tc.type    User
206    * @tc.level   Level 1
207    */
208    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0207', 0, async function (done) {
209      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0207');
210      accessibility.getAccessibilityExtensionList('haptic', 'install').then((result) => {
211        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0207 result ${result.length}`);
212        expect(Array.isArray(result)).assertEqual(true);
213        done();
214      }).catch((err) => {
215        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0207 has error: ${err}`);
216        expect(null).assertFail();
217        done();
218      });
219    })
220
221    /*
222    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0208
223    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0208
224    * @tc.desc    The parameters input are 'spoken' and 'install', test the getAccessibilityExtensionList()
225    *             function, and the output is the list of AccessibilityAbilityInfo
226    * @tc.size    SmallTest
227    * @tc.type    User
228    * @tc.level   Level 1
229    */
230    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0208', 0, async function (done) {
231      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0208');
232      accessibility.getAccessibilityExtensionList('spoken', 'install', (err, data) => {
233        if (err && err.code != 0) {
234          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0208 has error: ${err.code}`);
235          expect(null).assertFail();
236          done();
237        }
238        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0208 result ${data.length}`);
239        expect(Array.isArray(data)).assertEqual(true);
240        done();
241      });
242    })
243
244    /*
245    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0209
246    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0209
247    * @tc.desc    The parameters input are 'spoken' and 'install', test the getAccessibilityExtensionList() function,
248    *             and the output is the list of AccessibilityAbilityInfo
249    * @tc.size    SmallTest
250    * @tc.type    User
251    * @tc.level   Level 1
252    */
253    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0209', 0, async function (done) {
254      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0209');
255      accessibility.getAccessibilityExtensionList('spoken', 'install').then((result) => {
256        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0209 result ${result.length}`);
257        expect(Array.isArray(result)).assertEqual(true);
258        done();
259      }).catch((err) => {
260        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0209 has error: ${err}`);
261        expect(null).assertFail();
262        done();
263      });
264    })
265
266    /*
267    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0210
268    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0210
269    * @tc.desc    The parameters input are 'visual' and 'install', test the getAccessibilityExtensionList()
270    *             function, and the output is the list of AccessibilityAbilityInfo
271    * @tc.size    SmallTest
272    * @tc.type    User
273    * @tc.level   Level 1
274    */
275    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0210', 0, async function (done) {
276      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0210');
277      accessibility.getAccessibilityExtensionList('visual', 'install', (err, data) => {
278        if (err && err.code != 0) {
279          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0210 has error: ${err.code}`);
280          expect(null).assertFail();
281          done();
282        }
283        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0210 result ${data.length}`);
284        expect(Array.isArray(data)).assertEqual(true);
285        done();
286      });
287    })
288
289    /*
290    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0211
291    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0211
292    * @tc.desc    The parameters input are 'visual' and 'install', test the getAccessibilityExtensionList() function,
293    *             and the output is the list of AccessibilityAbilityInfo
294    * @tc.size    SmallTest
295    * @tc.type    User
296    * @tc.level   Level 1
297    */
298    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0211', 0, async function (done) {
299      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0211');
300      accessibility.getAccessibilityExtensionList('visual', 'install').then((result) => {
301        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0211 result ${result.length}`);
302        expect(Array.isArray(result)).assertEqual(true);
303        done();
304      }).catch((err) => {
305        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0211 has error: ${err}`);
306        expect(null).assertFail();
307        done();
308      });
309    })
310
311    /*
312    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0212
313    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0212
314    * @tc.desc    The parameters input are 'all' and 'enable', test the getAccessibilityExtensionList()
315    *             function, and the output is the list of AccessibilityAbilityInfo
316    * @tc.size    SmallTest
317    * @tc.type    User
318    * @tc.level   Level 1
319    */
320    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0212', 0, async function (done) {
321      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0212');
322      accessibility.getAccessibilityExtensionList('all', 'enable', (err, data) => {
323        if (err && err.code != 0) {
324          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0212 has error: ${err.code}`);
325          expect(null).assertFail();
326          done();
327        }
328        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0212 result ${data.length}`);
329        expect(Array.isArray(data)).assertEqual(true);
330        done();
331      });
332    })
333
334    /*
335    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0213
336    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0213
337    * @tc.desc    The parameters input are 'all' and 'enable', test the getAccessibilityExtensionList() function,
338    *             and the output is the list of AccessibilityAbilityInfo
339    * @tc.size    SmallTest
340    * @tc.type    User
341    * @tc.level   Level 1
342    */
343    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0213', 0, async function (done) {
344      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0213');
345      accessibility.getAccessibilityExtensionList('all', 'enable').then((result) => {
346        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0213 result ${result.length}`);
347        expect(Array.isArray(result)).assertEqual(true);
348        done();
349      }).catch((err) => {
350        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0213 has error: ${err}`);
351        expect(null).assertFail();
352        done();
353      });
354    })
355
356    /*
357    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0214
358    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0214
359    * @tc.desc    The parameters input are 'all' and 'disable', test the getAccessibilityExtensionList()
360    *             function, and the output is the list of AccessibilityAbilityInfo
361    * @tc.size    SmallTest
362    * @tc.type    User
363    * @tc.level   Level 1
364    */
365    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0214', 0, async function (done) {
366      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0214');
367      accessibility.getAccessibilityExtensionList('all', 'disable', (err, data) => {
368        if (err && err.code != 0) {
369          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0214 has error: ${err.code}`);
370          expect(null).assertFail();
371          done();
372        }
373        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0214 result ${data.length}`);
374        expect(Array.isArray(data)).assertEqual(true);
375        done();
376      });
377    })
378
379    /*
380    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0215
381    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0215
382    * @tc.desc    The parameters input are 'all' and 'disable', test the getAccessibilityExtensionList() function,
383    *             and the output is the list of AccessibilityAbilityInfo
384    * @tc.size    SmallTest
385    * @tc.type    User
386    * @tc.level   Level 1
387    */
388    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0215', 0, async function (done) {
389      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0215');
390      accessibility.getAccessibilityExtensionList('all', 'disable').then((result) => {
391        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0215 result ${result.length}`);
392        expect(Array.isArray(result)).assertEqual(true);
393        done();
394      }).catch((err) => {
395        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0215 has error: ${err}`);
396        expect(null).assertFail();
397        done();
398      });
399    })
400
401    /*
402    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0216
403    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0216
404    * @tc.desc    The parameters input are 'all' and 'install', test the getAccessibilityExtensionList()
405    *             function, and the output is the list of AccessibilityAbilityInfo
406    * @tc.size    SmallTest
407    * @tc.type    User
408    * @tc.level   Level 1
409    */
410    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0216', 0, async function (done) {
411      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0216');
412      accessibility.getAccessibilityExtensionList('all', 'install', (err, data) => {
413        if (err && err.code != 0) {
414          console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0216 has error: ${err.code}`);
415          expect(null).assertFail();
416          done();
417        }
418        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0216 result ${data.length}`);
419        expect(Array.isArray(data)).assertEqual(true);
420        done();
421      });
422    })
423
424    /*
425    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0217
426    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0217
427    * @tc.desc    The parameters input are 'all' and 'install', test the getAccessibilityExtensionList() function,
428    *             and the output is the list of AccessibilityAbilityInfo
429    * @tc.size    SmallTest
430    * @tc.type    User
431    * @tc.level   Level 1
432    */
433    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0217', 0, async function (done) {
434      console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0217');
435      accessibility.getAccessibilityExtensionList('all', 'install').then((result) => {
436        console.info(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0217 result ${result.length}`);
437        expect(Array.isArray(result)).assertEqual(true);
438        done();
439      }).catch((err) => {
440        console.error(`AccessibilityErrCodeTest: SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0217 has error: ${err}`);
441        expect(null).assertFail();
442        done();
443      });
444    })
445
446    /*
447    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0300
448    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0300
449    * @tc.desc    test Accessibility EventInfo
450    * @tc.size    SmallTest
451    * @tc.type    User
452    * @tc.level   Level 1
453    */
454    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0300', 0, async function (done) {
455      let eventInfo = new accessibility.EventInfo({
456        'type': 'click',
457        'bundleName': 'com.example.MyApplication',
458        'triggerAction': 'click'
459      });
460      expect(eventInfo != null).assertTrue();
461      done();
462    })
463
464
465    /*
466    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0800
467    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0800
468    * @tc.desc    test Accessibility SendEvent CallBack
469    * @tc.size    SmallTest
470    * @tc.type    User
471    * @tc.level   Level 1
472    */
473    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0800', 0, async function (done) {
474      let event = null;
475      accessibility.sendEvent(event, (err, data) => {
476        if (err) {
477          console.error('failed to sendEvent because ' + JSON.stringify(err));
478          done();
479          return;
480        }
481        console.info('success data:sendEvent : ' + JSON.stringify(data))
482        expect(null).assertFail();
483        done();
484      })
485    })
486    /*
487    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0100
488    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0100
489    * @tc.desc    test Ability Capability
490    * @tc.size    SmallTest
491    * @tc.type    User
492    * @tc.level   Level 1
493    */
494    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0100', 0, async function (done) {
495      accessibility.getAbilityLists('audible', 'enable', (err, data) => {
496        if (err) {
497          console.error('failed to get accessibility extension list because ' + JSON.stringify(err));
498          done();
499          return;
500        }
501        for (let accessibilityAbilityInfo of data) {
502          expect(accessibilityAbilityInfo.capabilities.length >= 0).assertTrue();
503          expect(accessibilityAbilityInfo.abilityTypes.length >= 0).assertTrue();
504          expect(accessibilityAbilityInfo.eventTypes.length >= 0).assertTrue();
505          expect(accessibilityAbilityInfo.targetBundleNames.length >= 0).assertTrue();
506          expect(accessibilityAbilityInfo.bundleName != null).assertTrue();
507          expect(accessibilityAbilityInfo.description != null).assertTrue();
508          expect(accessibilityAbilityInfo.id != null).assertTrue();
509          expect(accessibilityAbilityInfo.name != null).assertTrue();
510          for (let capability of accessibilityAbilityInfo.capabilities) {
511            let cap = capability.toString();
512            expect(cap == 'retrieve' ||
513            cap == 'touchGuide' ||
514            cap == 'keyEventObserver' ||
515            cap == 'zoom' ||
516            cap == 'gesture')
517              .assertTrue();
518          }
519        }
520        console.info('get accessibility extension list success');
521        done();
522      })
523    })
524
525    /*
526    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0101
527    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0101
528    * @tc.desc    test Ability Captions Manager
529    * @tc.size    SmallTest
530    * @tc.type    User
531    * @tc.level   Level 1
532    */
533    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0101', 0, async function (done) {
534      let captionsManager = accessibility.getCaptionsManager();
535      expect(captionsManager.enabled == true || captionsManager.enabled == false).assertTrue();
536      expect(captionsManager.style != null).assertTrue();
537      expect(captionsManager.style.backgroundColor != null).assertTrue();
538      expect(captionsManager.style.fontColor != null).assertTrue();
539      expect(captionsManager.style.fontEdgeType != null).assertTrue();
540      expect(captionsManager.style.fontFamily != null).assertTrue();
541      expect(captionsManager.style.fontScale != null).assertTrue();
542      expect(captionsManager.style.windowColor != null).assertTrue();
543      done();
544    })
545
546    /*
547    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_1000
548    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_1000
549    * @tc.desc    test GesturePath And GesturePoint
550    * @tc.size    SmallTest
551    * @tc.type    User
552    * @tc.level   Level 1
553    */
554    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_1000', 0, async function (done) {
555      let gesturePath = new GesturePath.GesturePath(20);
556      let gesturePoint = new GesturePoint.GesturePoint(1, 2);
557      gesturePath.points.push(gesturePoint);
558      expect(gesturePath.points.length != 0).assertTrue();
559      expect(gesturePath.durationTime == 20).assertTrue();
560      expect(gesturePoint.positionX == 1).assertTrue();
561      expect(gesturePoint.positionY == 2).assertTrue();
562      done();
563    })
564
565    function init() {
566      class MainAbility extends AccessibilityExtensionAbility {
567        onConnect(): void {
568          console.log('AxExtensionAbility onConnect');
569          axContext = this.context;
570        }
571
572        onDisconnect() {
573          console.log('AxExtensionAbility onDisconnect');
574        }
575
576        onAccessibilityEvent(event) {
577          console.log('AxExtensionAbility onAccessibilityEvent');
578          expect(event.eventType != null).assertTrue();
579          expect(event.target != null).assertTrue();
580          expect(event.timeStamp != null).assertTrue();
581        }
582
583        onKeyEvent(keyEvent) {
584          console.log('AxExtensionAbility onKeyEvent');
585          if (keyEvent.keyCode == 22) {
586            console.log('AxExtensionAbility onKeyEvent: intercept 22');
587            return true;
588          }
589          return false;
590        }
591      }
592
593      object = new MainAbility();
594      object.onConnect();
595    }
596
597    /*
598    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0900
599    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0900
600    * @tc.desc    test AccessibilitySetTargetBundleName
601    * @tc.size    SmallTest
602    * @tc.type    User
603    * @tc.level   Level 1
604    */
605    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0900', 0, async function (done) {
606      init();
607      if (axContext != null) {
608        let targetNames = ['com.ohos.xyz'];
609        try {
610          axContext.setTargetBundleName(targetNames).then(() => {
611            done();
612          }).catch((err) => {
613            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0900 err:' + JSON.stringify(err));
614            done();
615          });
616        } catch (exception) {
617          console.error('failed to set target bundle names, because ' + JSON.stringify(exception));
618          expect(false).assertTrue();
619          done();
620        }
621      } else {
622        console.log('axContext null');
623        done();
624      }
625    })
626
627    /*
628    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0901
629    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0901
630    * @tc.desc    test AccessibilitySetTargetBundleName
631    * @tc.size    SmallTest
632    * @tc.type    User
633    * @tc.level   Level 1
634    */
635    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0901', 0, async function (done) {
636      if (axContext != null) {
637        let targetNames = ['com.ohos.xyz'];
638        try {
639          axContext.setTargetBundleName(targetNames, (err, data) => {
640            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0901 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
641            done();
642          });
643        } catch (exception) {
644          console.error('failed to set target bundle names, because ' + JSON.stringify(exception));
645          expect(false).assertTrue();
646          done();
647        }
648      } else {
649        console.log('axContext null');
650        done();
651      }
652    })
653
654    /*
655    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0400
656    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0400
657    * @tc.desc    test AccessibilityGetFocusElement
658    * @tc.size    SmallTest
659    * @tc.type    User
660    * @tc.level   Level 1
661    */
662    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0400', 0, async function (done) {
663      if (axContext != null) {
664        try {
665          axContext.getFocusElement().then((rootElement) => {
666            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0400 rootElement:' + JSON.stringify(rootElement));
667            rootElement.attributeNames().then((data) => {
668              console.log('get attribute names success');
669
670            }).catch((err) => {
671              console.log('failed to get attribute names, because ' + JSON.stringify(err));
672            });
673            rootElement.attributeValue('name').then((data) => {
674              console.log('get attribute value by name success');
675            }).catch((err) => {
676              console.log('failed to get attribute value, because ' + JSON.stringify(err));
677            });
678            rootElement.actionNames().then((data) => {
679              console.log('get action names success');
680            }).catch((err) => {
681              console.log('failed to get action names because ' + JSON.stringify(err));
682            });
683            rootElement.performAction('action').then((data) => {
684              console.info('perform action success');
685            }).catch((err) => {
686              console.log('failed to perform action, because ' + JSON.stringify(err));
687            });
688            done();
689          }).catch((err) => {
690            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0400 err:' + JSON.stringify(err));
691            done();
692          });
693        } catch (exception) {
694          console.error('failed to get focus element, because ' + JSON.stringify(exception));
695          expect(false).assertTrue();
696          done();
697        }
698      } else {
699        console.log('axContext null');
700        done();
701      }
702    })
703    /*
704    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401
705    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401
706    * @tc.desc    test AccessibilityGetFocusElement
707    * @tc.size    SmallTest
708    * @tc.type    User
709    * @tc.level   Level 1
710    */
711    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401', 0, async function (done) {
712      if (axContext != null) {
713        try {
714          axContext.getFocusElement((err, rootElement) => {
715            if (err) {
716              console.error('failed to get focus element, because ' + JSON.stringify(err));
717              done();
718              return;
719            }
720            rootElement.attributeNames((err, ElementAttributeValue: ElementAttributeKeys[]) => {
721              if (err) {
722                console.error('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401 failed to get element attributeNames, because ' + JSON.stringify(err));
723                done();
724                return;
725              }
726              console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401 data:' + JSON.stringify(ElementAttributeValue));
727              expect(ElementAttributeValue.indexOf("accessibilityFocused") != -1).assertTrue();
728              expect(ElementAttributeValue.indexOf("bundleName") != -1).assertTrue();
729              expect(ElementAttributeValue.indexOf("checkable") != -1).assertTrue();
730              expect(ElementAttributeValue.indexOf("checked") != -1).assertTrue();
731              expect(ElementAttributeValue.indexOf("children") != -1).assertTrue();
732              expect(ElementAttributeValue.indexOf("clickable") != -1).assertTrue();
733              expect(ElementAttributeValue.indexOf("componentId") != -1).assertTrue();
734              expect(ElementAttributeValue.indexOf("componentType") != -1).assertTrue();
735              expect(ElementAttributeValue.indexOf("contents") != -1).assertTrue();
736              expect(ElementAttributeValue.indexOf("currentIndex") != -1).assertTrue();
737              expect(ElementAttributeValue.indexOf("description") != -1).assertTrue();
738              expect(ElementAttributeValue.indexOf("editable") != -1).assertTrue();
739              expect(ElementAttributeValue.indexOf("endIndex") != -1).assertTrue();
740              expect(ElementAttributeValue.indexOf("error") != -1).assertTrue();
741              expect(ElementAttributeValue.indexOf("focusable") != -1).assertTrue();
742              expect(ElementAttributeValue.indexOf("hintText") != -1).assertTrue();
743              expect(ElementAttributeValue.indexOf("inputType") != -1).assertTrue();
744              expect(ElementAttributeValue.indexOf("inspectorKey") != -1).assertTrue();
745              expect(ElementAttributeValue.indexOf("isEnable") != -1).assertTrue();
746              expect(ElementAttributeValue.indexOf("isHint") != -1).assertTrue();
747              expect(ElementAttributeValue.indexOf("isFocused") != -1).assertTrue();
748              expect(ElementAttributeValue.indexOf("isPassword") != -1).assertTrue();
749              expect(ElementAttributeValue.indexOf("isVisible") != -1).assertTrue();
750              expect(ElementAttributeValue.indexOf("itemCount") != -1).assertTrue();
751              expect(ElementAttributeValue.indexOf("lastContent") != -1).assertTrue();
752              expect(ElementAttributeValue.indexOf("longClickable") != -1).assertTrue();
753              expect(ElementAttributeValue.indexOf("pageId") != -1).assertTrue();
754              expect(ElementAttributeValue.indexOf("parent") != -1).assertTrue();
755              expect(ElementAttributeValue.indexOf("pluralLineSupported") != -1).assertTrue();
756              expect(ElementAttributeValue.indexOf("rect") != -1).assertTrue();
757              expect(ElementAttributeValue.indexOf("resourceName") != -1).assertTrue();
758              expect(ElementAttributeValue.indexOf("scrollable") != -1).assertTrue();
759              expect(ElementAttributeValue.indexOf("selected") != -1).assertTrue();
760              expect(ElementAttributeValue.indexOf("startIndex") != -1).assertTrue();
761              expect(ElementAttributeValue.indexOf("text") != -1).assertTrue();
762              expect(ElementAttributeValue.indexOf("textLengthLimit") != -1).assertTrue();
763              expect(ElementAttributeValue.indexOf("textMoveUnit") != -1).assertTrue();
764              expect(ElementAttributeValue.indexOf("triggerAction") != -1).assertTrue();
765              expect(ElementAttributeValue.indexOf("valueMax") != -1).assertTrue();
766              expect(ElementAttributeValue.indexOf("valueMin") != -1).assertTrue();
767              expect(ElementAttributeValue.indexOf("valueNow") != -1).assertTrue();
768              expect(ElementAttributeValue.indexOf("windowId") != -1).assertTrue();
769            });
770            rootElement.actionNames((err, data) => {
771              console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
772            });
773            rootElement.performAction('action', (err, data) => {
774              console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
775            });
776            let actionName = 'action';
777            let parameters = {
778              'setText': 'test text'
779            };
780            rootElement.performAction(actionName, parameters, (err, data) => {
781              console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0401 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
782            });
783            done();
784          });
785        } catch (exception) {
786          console.error('failed to get focus element, because ' + JSON.stringify(exception));
787          expect(false).assertTrue();
788          done();
789        }
790      } else {
791        console.log('axContext null');
792        done();
793      }
794    })
795    /*
796    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0402
797    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0402
798    * @tc.desc    test AccessibilityGetFocusElement
799    * @tc.size    SmallTest
800    * @tc.type    User
801    * @tc.level   Level 1
802    */
803    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0402', 0, async function (done) {
804      if (axContext != null) {
805        let isAccessibilityFocus = true;
806        try {
807          axContext.getFocusElement(isAccessibilityFocus, (err, rootElement) => {
808            if (err) {
809              console.error('failed to get focus element, because ' + JSON.stringify(err));
810              done();
811              return;
812            }
813            rootElement.findElement('content', 'keyword').then((data) => {
814              console.log('data' + JSON.stringify(data));
815            }).catch((err) => {
816              console.log('failed to find element, because ' + JSON.stringify(err));
817            });
818            rootElement.findElement('content', 'keyword', (err, data) => {
819              console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0402 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
820            });
821            rootElement.findElement('focusType', 'normal').then((data) => {
822              console.log('data' + JSON.stringify(data));
823            }).catch((err) => {
824              console.log('failed to find element, because ' + JSON.stringify(err));
825            });
826            rootElement.findElement('focusType', 'normal', (err, data) => {
827              console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0402 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
828            });
829            rootElement.findElement('focusDirection', 'up').then((data) => {
830              console.log('data' + JSON.stringify(data));
831            }).catch((err) => {
832              console.log('failed to find element, because ' + JSON.stringify(err));
833            });
834            rootElement.findElement('focusDirection', 'up', (err, data) => {
835              console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0402 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
836            });
837            done();
838          });
839        } catch (exception) {
840          console.error('failed to get focus element, because ' + JSON.stringify(exception));
841          expect(false).assertTrue();
842          done();
843        }
844      } else {
845        console.log('axContext null');
846        done();
847      }
848    })
849
850    /*
851    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0500
852    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0500
853    * @tc.desc    test AccessibilityGetWindowRootElement
854    * @tc.size    SmallTest
855    * @tc.type    User
856    * @tc.level   Level 1
857    */
858    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0500', 0, async function (done) {
859      if (axContext != null) {
860        try {
861          axContext.getWindowRootElement().then((data) => {
862            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0500 data:' + JSON.stringify(data));
863            done();
864          }).catch((err) => {
865            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0500 err:' + JSON.stringify(err));
866            done();
867          });
868        } catch (exception) {
869          console.error('failed to get root element of the window, ' + JSON.stringify(exception));
870          expect(false).assertTrue();
871          done();
872        }
873      } else {
874        console.log('axContext null');
875        done();
876      }
877    })
878
879
880    /*
881    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0501
882    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0501
883    * @tc.desc    test AccessibilityGetWindowRootElement
884    * @tc.size    SmallTest
885    * @tc.type    User
886    * @tc.level   Level 1
887    */
888    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0501', 0, async function (done) {
889      if (axContext != null) {
890        try {
891          axContext.getWindowRootElement((err, data) => {
892            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0501 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
893            done();
894          });
895        } catch (exception) {
896          console.error('failed to get root element of the window, because ' + JSON.stringify(exception));
897          expect(false).assertTrue();
898          done();
899        }
900      } else {
901        console.log('axContext null');
902        done();
903      }
904    })
905
906
907    /*
908    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0502
909    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0502
910    * @tc.desc    test AccessibilityGetWindowRootElement
911    * @tc.size    SmallTest
912    * @tc.type    User
913    * @tc.level   Level 1
914    */
915    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0502', 0, async function (done) {
916      if (axContext != null) {
917        let windowId = 10;
918        try {
919          axContext.getWindowRootElement(windowId, (err, data) => {
920            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0502 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
921            done();
922          });
923        } catch (exception) {
924          console.error('failed to get root element of the window, because ' + JSON.stringify(exception));
925          expect(false).assertTrue();
926          done();
927        }
928      } else {
929        console.log('axContext null');
930        done();
931      }
932    })
933
934
935    /*
936    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0600
937    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0600
938    * @tc.desc    test AccessibilityGetWindows
939    * @tc.size    SmallTest
940    * @tc.type    User
941    * @tc.level   Level 1
942    */
943    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0600', 0, async function (done) {
944      if (axContext != null) {
945        try {
946          axContext.getWindows().then((data) => {
947            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0600  data:' + JSON.stringify(data));
948            data[0].attributeNames().then((data: ElementAttributeKeys[]) => {
949              console.log('get attribute names success');
950              if (data != null) {
951                expect(data.indexOf("isActive") != -1).assertTrue();
952                expect(data.indexOf("screenRect") != -1).assertTrue();
953                expect(data.indexOf("layer") != -1).assertTrue();
954                expect(data.indexOf("type") != -1).assertTrue();
955                expect(data.indexOf("rootElement") != -1).assertTrue();
956                expect(data.indexOf("windowId") != -1).assertTrue();
957              }
958            }).catch((err) => {
959              console.log('failed to get attribute names, because ' + JSON.stringify(err));
960            });
961            done();
962          }).catch((err) => {
963            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0600 err' + JSON.stringify(err));
964            done();
965          });
966        } catch (exception) {
967          console.error('failed to get windows, because ' + JSON.stringify(exception));
968          expect(false).assertTrue();
969          done();
970        }
971      } else {
972        console.log('axContext null');
973        done();
974      }
975    })
976
977
978    /*
979    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0601
980    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0601
981    * @tc.desc    test AccessibilityGetWindows
982    * @tc.size    SmallTest
983    * @tc.type    User
984    * @tc.level   Level 1
985    */
986    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0601', 0, async function (done) {
987      if (axContext != null) {
988        try {
989          axContext.getWindows((err, data) => {
990            if (err) {
991              console.error('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0601 failed to getWindows, because ' + JSON.stringify(err));
992              done();
993              return;
994            }
995            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0601  data:' + JSON.stringify(data));
996            if (data != null) {
997              data[0].attributeValue('screenRect').then((data) => {
998                console.log('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0601 get attribute value by name success');
999                expect(data.left != -1).assertTrue();
1000                expect(data.top != -1).assertTrue();
1001                expect(data.width != -1).assertTrue();
1002                expect(data.height != -1).assertTrue();
1003              }).catch((err) => {
1004                console.log('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0601 failed to get attribute value, because ' + JSON.stringify(err));
1005              });
1006            }
1007            done();
1008          });
1009        } catch (exception) {
1010          console.error('failed to get windows, because ' + JSON.stringify(exception));
1011          expect(false).assertTrue();
1012          done();
1013        }
1014      } else {
1015        console.log('axContext null');
1016        done();
1017      }
1018    })
1019
1020
1021    /*
1022    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0602
1023    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0602
1024    * @tc.desc    test AccessibilityGetWindows
1025    * @tc.size    SmallTest
1026    * @tc.type    User
1027    * @tc.level   Level 1
1028    */
1029    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0602', 0, async function (done) {
1030      if (axContext != null) {
1031        let displayId = 10;
1032        try {
1033          axContext.getWindows(displayId, (err, data) => {
1034            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0602 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
1035            done();
1036          });
1037        } catch (exception) {
1038          console.error('failed to get windows, because ' + JSON.stringify(exception));
1039          expect(false).assertTrue();
1040          done();
1041        }
1042      } else {
1043        console.log('axContext null');
1044        done();
1045      }
1046    })
1047
1048
1049    /*
1050    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0700
1051    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0700
1052    * @tc.desc    test AccessibilityInjectGesture
1053    * @tc.size    SmallTest
1054    * @tc.type    User
1055    * @tc.level   Level 1
1056    */
1057    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0700', 0, async function (done) {
1058      if (axContext != null) {
1059        let gesturePath = new GesturePath.GesturePath(100);
1060        try {
1061          for (let i = 0; i < 10; i++) {
1062            let gesturePoint = new GesturePoint.GesturePoint(100, i * 200);
1063            gesturePath.points.push(gesturePoint);
1064          }
1065          axContext.injectGesture(gesturePath).then(() => {
1066            done();
1067          }).catch((err) => {
1068            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0700 err' + JSON.stringify(err));
1069            done();
1070          });
1071        } catch (exception) {
1072          console.error('failed to inject gesture, because ' + JSON.stringify(exception));
1073          expect(false).assertTrue();
1074          done();
1075        }
1076      } else {
1077        console.log('axContext null');
1078        done();
1079      }
1080    })
1081
1082
1083    /*
1084    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0701
1085    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0701
1086    * @tc.desc    test AccessibilityInjectGesture
1087    * @tc.size    SmallTest
1088    * @tc.type    User
1089    * @tc.level   Level 1
1090    */
1091    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0701', 0, async function (done) {
1092      if (axContext != null) {
1093        let gesturePath = new GesturePath.GesturePath(100);
1094        try {
1095          for (let i = 0; i < 10; i++) {
1096            let gesturePoint = new GesturePoint.GesturePoint(100, i * 200);
1097            gesturePath.points.push(gesturePoint);
1098          }
1099          axContext.injectGesture(gesturePath, (err, data) => {
1100            console.info('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0701 err' + JSON.stringify(err) + ' data:' + JSON.stringify(data));
1101            done();
1102          });
1103        } catch (exception) {
1104          console.error('failed to inject gesture, because ' + JSON.stringify(exception));
1105          expect(false).assertTrue();
1106          done();
1107        }
1108      } else {
1109        console.log('axContext null');
1110        done();
1111      }
1112    })
1113    /*
1114    * @tc.number  SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0702
1115    * @tc.name    SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0702
1116    * @tc.desc    test AccessibilityInjectGesture
1117    * @tc.size    SmallTest
1118    * @tc.type    User
1119    * @tc.level   Level 1
1120    */
1121    it('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0702', 0, async function (done) {
1122      if (axContext != null) {
1123        let gesturePath = new GesturePath.GesturePath(100);
1124        try {
1125          for (let i = 0; i < 10; i++) {
1126            let gesturePoint = new GesturePoint.GesturePoint(100, i * 200);
1127            gesturePath.points.push(gesturePoint);
1128          }
1129          axContext.injectGestureSync(gesturePath);
1130        } catch (exception) {
1131          console.error('SUB_BASIC_BARRIERFREE_API_AccessibilityErrCode_0702  failed to inject gesture, because ' + JSON.stringify(exception));
1132          expect(false).assertTrue();
1133          done();
1134        }
1135      } else {
1136        console.log('axContext null');
1137        done();
1138      }
1139    })
1140
1141  })
1142}