• 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 */
15
16import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'
17import { UiDriver, BY, UiComponent, MatchPattern } from '@ohos.uitest'
18import featureAbility from '@ohos.ability.featureAbility'
19import hilog from '@ohos.hilog'
20
21const TAG = '[Sample_Canvas]'
22const DOMAIN = 0xF811
23const BUNDLE = 'Canvas_'
24
25export default function appTest() {
26  describe('appTest', function () {
27    it(BUNDLE + 'StartAbility_001', 0, async function (done) {
28      hilog.info(DOMAIN, TAG, BUNDLE + 'StartAbility_001 begin')
29      let parameter = {
30        "want": {
31          bundleName: "ohos.samples.etscanvas",
32          abilityName: "ohos.samples.etscanvas.MainAbility"
33        }
34      }
35      await featureAbility.startAbility(parameter, (err, data) => {
36        hilog.info(DOMAIN, TAG, BUNDLE + 'StartAbility_001,err.code:' + err.code)
37        expect(0).assertEqual(err.code)
38        done()
39        hilog.info(DOMAIN, TAG, BUNDLE + 'StartAbility_001 end')
40      })
41    })
42
43    /**
44     * RenderingContext
45     */
46    it(BUNDLE + 'RenderingContextFunction_001', 0, async function () {
47      // create UiDriver
48      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 begin')
49      let driver = await UiDriver.create()
50      await driver.delayMs(1000)
51      // RenderingContext
52      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 RenderingContext')
53      await driver.assertComponentExist(BY.key('item1'))
54      let renderingCon = await driver.findComponent(BY.key('item1'))
55      await renderingCon.click()
56      await driver.delayMs(1000)
57      // arc
58      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 arc')
59      await driver.assertComponentExist(BY.key('arc'))
60      let arcBtn = await driver.findComponent(BY.key('arc'))
61      await arcBtn.click()
62      await driver.delayMs(1000)
63      // strokeText
64      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 strokeText')
65      await driver.assertComponentExist(BY.key('strokeText'))
66      let strokeTextBtn = await driver.findComponent(BY.key('strokeText'))
67      await strokeTextBtn.click()
68      await driver.delayMs(1000)
69      // closePath
70      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 closePath')
71      await driver.assertComponentExist(BY.key('closePath'))
72      let closePathBtn = await driver.findComponent(BY.key('closePath'))
73      await closePathBtn.click()
74      await driver.delayMs(1000)
75      // quadraticCurveTo
76      hilog.info(DOMAIN, TAG, BUNDLE + BUNDLE + 'RenderingContextFunction_001 quadraticCurveTo')
77      await driver.assertComponentExist(BY.key('quadraticCurveTo'))
78      let quadraticCurveToBtn = await driver.findComponent(BY.key('quadraticCurveTo'))
79      await quadraticCurveToBtn.click()
80      await driver.delayMs(1000)
81      // textBaseline
82      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 textBaseline')
83      await driver.assertComponentExist(BY.key('textBaseline'))
84      let textBaselineBtn = await driver.findComponent(BY.key('textBaseline'))
85      await textBaselineBtn.click()
86      await driver.delayMs(1000)
87      // delete
88      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 delete')
89      await driver.assertComponentExist(BY.key('delete'))
90      let deleteBtn = await driver.findComponent(BY.key('delete'))
91      await deleteBtn.click()
92      await driver.delayMs(1000)
93      // back
94      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 back')
95      await driver.assertComponentExist(BY.key('back'))
96      let backBtn = await driver.findComponent(BY.key('back'))
97      await backBtn.click()
98      await driver.delayMs(1000)
99      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContextFunction_001 end')
100    })
101
102    /**
103     * RenderingContext1
104     */
105    it(BUNDLE + 'RenderingContext1Function_001', 0, async function () {
106      // create UiDriver
107      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 begin')
108      let driver = await UiDriver.create()
109      await driver.delayMs(1000)
110      // RenderingContext1
111      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 RenderingContext1')
112      await driver.assertComponentExist(BY.key('item2'))
113      let renderingCon1 = await driver.findComponent(BY.key('item2'))
114      await renderingCon1.click()
115      await driver.delayMs(1000)
116      // strokeStyle
117      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 strokeStyle')
118      await driver.assertComponentExist(BY.key('strokeStyle'))
119      let strokeStyleBtn = await driver.findComponent(BY.key('strokeStyle'))
120      await strokeStyleBtn.click()
121      await driver.delayMs(1000)
122      // lineCap
123      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 lineCap')
124      await driver.assertComponentExist(BY.key('lineCap'))
125      let lineCapBtn = await driver.findComponent(BY.key('lineCap'))
126      await lineCapBtn.click()
127      await driver.delayMs(1000)
128      // globalAlpha
129      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 globalAlpha')
130      await driver.assertComponentExist(BY.key('globalAlpha'))
131      let globalAlphaBtn = await driver.findComponent(BY.key('globalAlpha'))
132      await globalAlphaBtn.click()
133      await driver.delayMs(1000)
134      // textAlign
135      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 textAlign')
136      await driver.assertComponentExist(BY.key('textAlign'))
137      let textAlignBtn = await driver.findComponent(BY.key('textAlign'))
138      await textAlignBtn.click()
139      await driver.delayMs(1000)
140      // lineJoin
141      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 lineJoin')
142      await driver.assertComponentExist(BY.key('lineJoin'))
143      let lineJoinBtn = await driver.findComponent(BY.key('lineJoin'))
144      await lineJoinBtn.click()
145      await driver.delayMs(1000)
146      // miterLimit
147      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 miterLimit')
148      await driver.assertComponentExist(BY.key('miterLimit'))
149      let miterLimitBtn = await driver.findComponent(BY.key('miterLimit'))
150      await miterLimitBtn.click()
151      await driver.delayMs(1000)
152      // globalCompositeOperation
153      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 globalCompositeOperation')
154      await driver.assertComponentExist(BY.key('globalCompositeOperation'))
155      let globalCompositeOperationBtn = await driver.findComponent(BY.key('globalCompositeOperation'))
156      await globalCompositeOperationBtn.click()
157      await driver.delayMs(1000)
158      // delete
159      hilog.info(DOMAIN, TAG, 'RenderingContext1Function_001 delete')
160      await driver.assertComponentExist(BY.key('delete'))
161      let deleteBtn = await driver.findComponent(BY.key('delete'))
162      await deleteBtn.click()
163      await driver.delayMs(1000)
164      // back
165      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 back')
166      await driver.assertComponentExist(BY.key('back'))
167      let backBtn = await driver.findComponent(BY.key('back'))
168      await backBtn.click()
169      await driver.delayMs(1000)
170      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext1Function_001 end')
171    })
172
173    /**
174     * RenderingContext2
175     */
176    it(BUNDLE + 'RenderingContext2Function_001', 0, async function () {
177      // create UiDriver
178      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 begin')
179      let driver = await UiDriver.create()
180      await driver.delayMs(1000)
181      // RenderingContext2
182      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 RenderingContext2')
183      await driver.assertComponentExist(BY.key('item3'))
184      let renderingCon2 = await driver.findComponent(BY.key('item3'))
185      await renderingCon2.click()
186      await driver.delayMs(1000)
187      // arcTo
188      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 arcTo')
189      await driver.assertComponentExist(BY.key('arcTo'))
190      let arcToBtn = await driver.findComponent(BY.key('arcTo'))
191      await arcToBtn.click()
192      await driver.delayMs(1000)
193      // bezierCurveTo
194      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 bezierCurveTo')
195      await driver.assertComponentExist(BY.key('bezierCurveTo'))
196      let bezierCurveToBtn = await driver.findComponent(BY.key('bezierCurveTo'))
197      await bezierCurveToBtn.click()
198      await driver.delayMs(1000)
199      // ellipse
200      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 ellipse')
201      await driver.assertComponentExist(BY.key('ellipse'))
202      let ellipseBtn = await driver.findComponent(BY.key('ellipse'))
203      await ellipseBtn.click()
204      await driver.delayMs(1000)
205      // rect
206      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 rect')
207      await driver.assertComponentExist(BY.key('rect'))
208      let rectBtn = await driver.findComponent(BY.key('rect'))
209      await rectBtn.click()
210      await driver.delayMs(1000)
211      // createPattern
212      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 createPattern')
213      await driver.assertComponentExist(BY.key('createPattern'))
214      let createPatternBtn = await driver.findComponent(BY.key('createPattern'))
215      await createPatternBtn.click()
216      await driver.delayMs(1000)
217      // lineDashOffset
218      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 lineDashOffset')
219      await driver.assertComponentExist(BY.key('lineDashOffset'))
220      let lineDashOffsetBtn = await driver.findComponent(BY.key('lineDashOffset'))
221      await lineDashOffsetBtn.click()
222      await driver.delayMs(1000)
223      // scale
224      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 scale')
225      await driver.assertComponentExist(BY.key('scale'))
226      let scaleBtn = await driver.findComponent(BY.key('scale'))
227      await scaleBtn.click()
228      await driver.delayMs(1000)
229      // back
230      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 back')
231      await driver.assertComponentExist(BY.key('back'))
232      let backBtn = await driver.findComponent(BY.key('back'))
233      await backBtn.click()
234      await driver.delayMs(1000)
235      hilog.info(DOMAIN, TAG, BUNDLE + 'RenderingContext2Function_001 end')
236    })
237
238    /**
239     * TransformExample
240     */
241    it(BUNDLE + 'TransformExampleFunction_001', 0, async function () {
242      // create UiDriver
243      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 begin')
244      let driver = await UiDriver.create()
245      await driver.delayMs(1000)
246      console.log("Sample_Canvas 1")
247      // TransformExample
248      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 TransformExample')
249      await driver.assertComponentExist(BY.key('item4'))
250      let transform = await driver.findComponent(BY.key('item4'))
251      await transform.click()
252      await driver.delayMs(1000)
253      // translate
254      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 translate')
255      await driver.assertComponentExist(BY.key('translate'))
256      let translateBtn = await driver.findComponent(BY.key('translate'))
257      await translateBtn.click()
258      await driver.delayMs(1000)
259      // transform
260      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 transform')
261      await driver.assertComponentExist(BY.key('transform'))
262      let transformBtn = await driver.findComponent(BY.key('transform'))
263      await transformBtn.click()
264      await driver.delayMs(1000)
265      // setTransform
266      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 setTransform')
267      await driver.assertComponentExist(BY.key('setTransform'))
268      let setTransformBtn = await driver.findComponent(BY.key('setTransform'))
269      await setTransformBtn.click()
270      await driver.delayMs(1000)
271      // rotate
272      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 rotate')
273      await driver.assertComponentExist(BY.key('rotate'))
274      let rotateBtn = await driver.findComponent(BY.key('rotate'))
275      await rotateBtn.click()
276      await driver.delayMs(1000)
277      // back
278      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 back')
279      await driver.assertComponentExist(BY.key('back'))
280      let backBtn = await driver.findComponent(BY.key('back'))
281      await backBtn.click()
282      await driver.delayMs(1000)
283      hilog.info(DOMAIN, TAG, BUNDLE + 'TransformExampleFunction_001 end')
284    })
285
286    /**
287     * ShadowOffsetExample
288     */
289    it(BUNDLE + 'ShadowOffsetExampleFunction_001', 0, async function () {
290      // create UiDriver
291      hilog.info(DOMAIN, TAG, BUNDLE + 'ShadowOffsetExampleFunction_001 begin')
292      let driver = await UiDriver.create()
293      await driver.delayMs(1000)
294      // ShadowOffsetExample
295      hilog.info(DOMAIN, TAG, BUNDLE + 'ShadowOffsetExampleFunction_001 ShadowOffsetExample')
296      await driver.assertComponentExist(BY.key('item5'))
297      let shadowOffset = await driver.findComponent(BY.key('item5'))
298      await shadowOffset.click()
299      await driver.delayMs(1000)
300      // shadowOffsetY
301      hilog.info(DOMAIN, TAG, BUNDLE + 'ShadowOffsetExampleFunction_001 shadowOffsetY')
302      await driver.assertComponentExist(BY.key('shadowOffsetY'))
303      let shadowOffsetYBtn = await driver.findComponent(BY.key('shadowOffsetY'))
304      await shadowOffsetYBtn.click()
305      await driver.delayMs(1000)
306      // shadowOffsetX
307      hilog.info(DOMAIN, TAG, BUNDLE + 'ShadowOffsetExampleFunction_001 shadowOffsetX')
308      await driver.assertComponentExist(BY.key('shadowOffsetX'))
309      let shadowOffsetXBtn = await driver.findComponent(BY.key('shadowOffsetX'))
310      await shadowOffsetXBtn.click()
311      await driver.delayMs(1000)
312      // shadowBlur
313      hilog.info(DOMAIN, TAG, BUNDLE + 'ShadowOffsetExampleFunction_001 shadowBlur')
314      await driver.assertComponentExist(BY.key('shadowBlur'))
315      let shadowBlurBtn = await driver.findComponent(BY.key('shadowBlur'))
316      await shadowBlurBtn.click()
317      await driver.delayMs(1000)
318      // back
319      hilog.info(DOMAIN, TAG, BUNDLE + 'ShadowOffsetExampleFunction_001 back')
320      await driver.assertComponentExist(BY.key('back'))
321      let backBtn = await driver.findComponent(BY.key('back'))
322      await backBtn.click()
323      await driver.delayMs(1000)
324      hilog.info(DOMAIN, TAG, BUNDLE + 'ShadowOffsetExampleFunction_001 end')
325    })
326
327    /**
328     * PathExample
329     */
330    it(BUNDLE + 'PathExampleFunction_001', 0, async function () {
331      // create UiDriver
332      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 begin')
333      let driver = await UiDriver.create()
334      await driver.delayMs(1000)
335      // PathExample
336      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 PathExample')
337      await driver.assertComponentExist(BY.key('item6'))
338      let path2DBtn = await driver.findComponent(BY.key('item6'))
339      await path2DBtn.click()
340      await driver.delayMs(1000)
341      // arc
342      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 arc')
343      await driver.assertComponentExist(BY.key('arc'))
344      let arcBtn = await driver.findComponent(BY.key('arc'))
345      await arcBtn.click()
346      await driver.delayMs(1000)
347      // quadraticCurveTo
348      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 quadraticCurveTo')
349      await driver.assertComponentExist(BY.key('quadraticCurveTo'))
350      let quadraticCurveToBtn = await driver.findComponent(BY.key('quadraticCurveTo'))
351      await quadraticCurveToBtn.click()
352      await driver.delayMs(1000)
353      // bezierCurveTo
354      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 bezierCurveTo')
355      await driver.assertComponentExist(BY.key('bezierCurveTo'))
356      let bezierCurveToBtn = await driver.findComponent(BY.key('bezierCurveTo'))
357      await bezierCurveToBtn.click()
358      await driver.delayMs(1000)
359      // arcTo
360      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 arcTo')
361      await driver.assertComponentExist(BY.key('arcTo'))
362      let arcToBtn = await driver.findComponent(BY.key('arcTo'))
363      await arcToBtn.click()
364      await driver.delayMs(1000)
365      // ellipse
366      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 ellipse')
367      await driver.assertComponentExist(BY.key('ellipse'))
368      let ellipseBtn = await driver.findComponent(BY.key('ellipse'))
369      await ellipseBtn.click()
370      await driver.delayMs(1000)
371      // rect
372      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 rect')
373      await driver.assertComponentExist(BY.key('rect'))
374      let rectBtn = await driver.findComponent(BY.key('rect'))
375      await rectBtn.click()
376      await driver.delayMs(1000)
377      // closePath
378      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 closePath')
379      await driver.assertComponentExist(BY.key('closePath'))
380      let closePathBtn = await driver.findComponent(BY.key('closePath'))
381      await closePathBtn.click()
382      await driver.delayMs(1000)
383      // delete
384      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 delete')
385      await driver.assertComponentExist(BY.key('delete'))
386      let deleteBtn = await driver.findComponent(BY.key('delete'))
387      await deleteBtn.click()
388      await driver.delayMs(1000)
389      // addPath
390      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 addPath')
391      await driver.assertComponentExist(BY.key('addPath'))
392      let addPathBtn = await driver.findComponent(BY.key('addPath'))
393      await addPathBtn.click()
394      await driver.delayMs(1000)
395      // back
396      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 back')
397      await driver.assertComponentExist(BY.key('back'))
398      let backBtn = await driver.findComponent(BY.key('back'))
399      await backBtn.click()
400      await driver.delayMs(1000)
401      hilog.info(DOMAIN, TAG, BUNDLE + 'PathExampleFunction_001 end')
402    })
403
404    /**
405     * BitmapExample
406     */
407    it(BUNDLE + 'BitmapExampleFunction_001', 0, async function () {
408      // create UiDriver
409      hilog.info(DOMAIN, TAG, BUNDLE + 'BitmapExampleFunction_001 begin')
410      let driver = await UiDriver.create()
411      await driver.delayMs(1000)
412      // BitmapExample
413      hilog.info(DOMAIN, TAG, BUNDLE + 'BitmapExampleFunction_001 BitmapExample')
414      await driver.assertComponentExist(BY.key('item7'))
415      let imageBitmapBtn = await driver.findComponent(BY.key('item7'))
416      await imageBitmapBtn.click()
417      await driver.delayMs(1000)
418      // back
419      hilog.info(DOMAIN, TAG, BUNDLE + 'BitmapExampleFunction_001 back')
420      await driver.assertComponentExist(BY.key('back'))
421      let backBtn = await driver.findComponent(BY.key('back'))
422      await backBtn.click()
423      await driver.delayMs(1000)
424      hilog.info(DOMAIN, TAG, BUNDLE + 'BitmapExampleFunction_001 end')
425    })
426
427    /**
428     * GradientExample
429     */
430    it(BUNDLE + 'GradientExampleFunction_001', 0, async function () {
431      // create UiDriver
432      hilog.info(DOMAIN, TAG, BUNDLE + 'GradientExampleFunction_001 begin')
433      let driver = await UiDriver.create()
434      await driver.delayMs(1000)
435      // GradientExample
436      hilog.info(DOMAIN, TAG, BUNDLE + 'GradientExampleFunction_001 GradientExample')
437      await driver.assertComponentExist(BY.key('item8'))
438      let canvasGradientBtn = await driver.findComponent(BY.key('item8'))
439      await canvasGradientBtn.click()
440      await driver.delayMs(1000)
441      // createLinearGradient
442      hilog.info(DOMAIN, TAG, BUNDLE + 'GradientExampleFunction_001 createLinearGradient')
443      await driver.assertComponentExist(BY.key('createLinearGradient'))
444      let createLinearGradientBtn = await driver.findComponent(BY.key('createLinearGradient'))
445      await createLinearGradientBtn.click()
446      await driver.delayMs(1000)
447      // createRadialGradient
448      hilog.info(DOMAIN, TAG, BUNDLE + 'GradientExampleFunction_001 createRadialGradient')
449      await driver.assertComponentExist(BY.key('createRadialGradient'))
450      let createRadialGradientBtn = await driver.findComponent(BY.key('createRadialGradient'))
451      await createRadialGradientBtn.click()
452      await driver.delayMs(1000)
453      // back
454      hilog.info(DOMAIN, TAG, BUNDLE + 'GradientExampleFunction_001 back')
455      await driver.assertComponentExist(BY.key('back'))
456      let backBtn = await driver.findComponent(BY.key('back'))
457      await backBtn.click()
458      await driver.delayMs(1000)
459      hilog.info(DOMAIN, TAG, BUNDLE + 'GradientExampleFunction_001 end')
460    })
461  })
462}