diff --git a/ability/dmsfwk/continuationmanagertest/Test.json b/ability/dmsfwk/continuationmanagertest/Test.json index 7104e0ef7c00a5c259c78829d4600437e0bc4343..3b0094ffcfc823b641006887f90a2f879e1b2375 100644 --- a/ability/dmsfwk/continuationmanagertest/Test.json +++ b/ability/dmsfwk/continuationmanagertest/Test.json @@ -5,7 +5,8 @@ "test-timeout": "1200000", "shell-timeout": "1200000", "bundle-name": "ohos.acts.distributedschedule.continuationmanager", - "package-name": "ohos.acts.distributedschedule.continuationmanager" + "package-name": "ohos.acts.distributedschedule.continuationmanager", + "testcase-timeout": 60000 }, "kits": [ { @@ -14,6 +15,14 @@ ], "type": "AppInstallKit", "cleanup-apps": true + }, + { + "type": "ShellKit", + "run-command": [ + "power-shell wakeup", + "power-shell setmode 602", + "uinput -T -d 300 600 -m 300 600 300 100 -u 300 100" + ] } ] } \ No newline at end of file diff --git a/ability/dmsfwk/continuationmanagertest/src/main/config.json b/ability/dmsfwk/continuationmanagertest/src/main/config.json index 50a2247f9f2026692d96556ae9ab85bcf1e0f6c3..078e9dd56bab7501037c4b0df2b995ae35a6a635 100644 --- a/ability/dmsfwk/continuationmanagertest/src/main/config.json +++ b/ability/dmsfwk/continuationmanagertest/src/main/config.json @@ -86,6 +86,11 @@ } } ], + "reqPermissions": [ + { + "name": "ohos.permission.DISTRIBUTED_DATASYNC" + } + ], "testRunner": { "name": "OpenHarmonyTestRunner", "srcPath": "TestRunner" diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/app.js b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/app.js index cdc31f3dcf031e2f6a7665d9653e53bb649e21c5..51c7e9eee090feff1306c7179d95cffc0f1cc684 100644 --- a/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/app.js +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/app.js @@ -15,8 +15,45 @@ import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' import { Hypium } from '@ohos/hypium' +import { UiDriver, BY } from '@ohos.UiTest' import testsuite from '../test/List.test' +import featureAbility from '@ohos.ability.featureAbility'; + +async function requestPermission() { + try { + let context = featureAbility.getContext(); + await context.requestPermissionsFromUser(['ohos.permission.DISTRIBUTED_DATASYNC'], 666, (data) => { + console.info('TestApplication requestPermission data: ' + JSON.stringify(data)); + }); + } catch (err) { + console.error('TestApplication permission' + JSON.stringify(err)); + } +} + +async function clickPermission(driver) { + console.info("clickPermission begin"); + await driver.delayMs(2000); + + var data_sync_allow = await driver.findComponent(BY.text("允许")) + await driver.delayMs(1000) + var wait_count = 0 + while (data_sync_allow == null || data_sync_allow == undefined) { + data_sync_allow = await driver.findComponent(BY.text("允许")) + wait_count += 1 + await driver.delayMs(1000) + if (wait_count == 15) { + break + } + } + if (data_sync_allow == null) { + console.info('应用非首次开启') + } else { + await data_sync_allow.click() + console.log('点击多设备授权框的允许按钮') + } +} + export default { onCreate() { console.info('TestApplication onCreate') @@ -24,6 +61,9 @@ export default { var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() console.info('start run testcase!!!') Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite) + var driver = UiDriver.create() + requestPermission() + clickPermission(driver) }, onDestroy() { console.info("TestApplication onDestroy"); diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/test/ContinuationManagerJsunit.test.js b/ability/dmsfwk/continuationmanagertest/src/main/js/test/ContinuationManagerJsunit.test.js index 3da1aba1eabe834c362602ad40475b5098bcec80..818f26328b74890a65280d5db742e1e87adfa4b0 100644 --- a/ability/dmsfwk/continuationmanagertest/src/main/js/test/ContinuationManagerJsunit.test.js +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/test/ContinuationManagerJsunit.test.js @@ -24,6 +24,10 @@ describe('continuationManagerTest', function() { beforeAll(async function (done) { console.info('beforeAll'); + function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + await sleep(20000) done(); }) @@ -1508,7 +1512,7 @@ describe('continuationManagerTest', function() { done(); } catch (e) { console.info("testUpdateContinuationState001 " + e); - expect(null).assertFail(); + expect(null).assertFail(); done(); } }) @@ -1548,7 +1552,7 @@ describe('continuationManagerTest', function() { done(); } catch (e) { console.info("testUpdateContinuationState003 " + e); - expect(null).assertFail(); + expect(e.code == 401).assertTrue(); done(); } })