未验证 提交 81cf550e 编写于 作者: O openharmony_ci 提交者: Gitee

!4653 合入无障碍xts api测试用例

Merge pull request !4653 from Mupceet/release_0727_xts
...@@ -100,7 +100,7 @@ export class ElementTest { ...@@ -100,7 +100,7 @@ export class ElementTest {
result = await this.executeAttributeValuePromise(caseName, 'textLengthLimit', 'number'); result = await this.executeAttributeValuePromise(caseName, 'textLengthLimit', 'number');
break; break;
case 'AccessibilityElementTest_attributeValue_asyncPromise_1500': case 'AccessibilityElementTest_attributeValue_asyncPromise_1500':
result = await this.executeAttributeValuePromise(caseName, 'rect', 'object'); result = await this.executeAttributeValuePromiseRect(caseName, 'rect');
break; break;
case 'AccessibilityElementTest_attributeValue_asyncPromise_1600': case 'AccessibilityElementTest_attributeValue_asyncPromise_1600':
result = await this.executeAttributeValuePromise(caseName, 'checkable', 'boolean'); result = await this.executeAttributeValuePromise(caseName, 'checkable', 'boolean');
...@@ -184,7 +184,7 @@ export class ElementTest { ...@@ -184,7 +184,7 @@ export class ElementTest {
result = await this.executeAttributeValuePromise(caseName, 'isActive', 'boolean', true); result = await this.executeAttributeValuePromise(caseName, 'isActive', 'boolean', true);
break; break;
case 'AccessibilityElementTest_attributeValue_asyncPromise_5300': case 'AccessibilityElementTest_attributeValue_asyncPromise_5300':
result = await this.executeAttributeValuePromise(caseName, 'screenRect', 'object', true); result = await this.executeAttributeValuePromiseRect(caseName, 'screenRect', true);
break; break;
case 'AccessibilityElementTest_attributeValue_asyncPromise_5400': case 'AccessibilityElementTest_attributeValue_asyncPromise_5400':
result = await this.executeAttributeValuePromise(caseName, 'layer', 'number', true); result = await this.executeAttributeValuePromise(caseName, 'layer', 'number', true);
...@@ -334,7 +334,7 @@ export class ElementTest { ...@@ -334,7 +334,7 @@ export class ElementTest {
await this.executeAttributeValueCallback(caseName, 'textLengthLimit', 'number'); await this.executeAttributeValueCallback(caseName, 'textLengthLimit', 'number');
return; return;
case 'AccessibilityElementTest_attributeValue_asyncCallback_1500': case 'AccessibilityElementTest_attributeValue_asyncCallback_1500':
await this.executeAttributeValueCallback(caseName, 'rect', 'object'); await this.executeAttributeValueCallbackRect(caseName, 'rect');
return; return;
case 'AccessibilityElementTest_attributeValue_asyncCallback_1600': case 'AccessibilityElementTest_attributeValue_asyncCallback_1600':
await this.executeAttributeValueCallback(caseName, 'checkable', 'boolean'); await this.executeAttributeValueCallback(caseName, 'checkable', 'boolean');
...@@ -418,7 +418,7 @@ export class ElementTest { ...@@ -418,7 +418,7 @@ export class ElementTest {
await this.executeAttributeValueCallback(caseName, 'isActive', 'boolean', true); await this.executeAttributeValueCallback(caseName, 'isActive', 'boolean', true);
return; return;
case 'AccessibilityElementTest_attributeValue_asyncCallback_5300': case 'AccessibilityElementTest_attributeValue_asyncCallback_5300':
await this.executeAttributeValueCallback(caseName, 'screenRect', 'object', true); await this.executeAttributeValueCallbackRect(caseName, 'screenRect', true);
return; return;
case 'AccessibilityElementTest_attributeValue_asyncCallback_5400': case 'AccessibilityElementTest_attributeValue_asyncCallback_5400':
await this.executeAttributeValueCallback(caseName, 'layer', 'number', true); await this.executeAttributeValueCallback(caseName, 'layer', 'number', true);
...@@ -600,6 +600,33 @@ export class ElementTest { ...@@ -600,6 +600,33 @@ export class ElementTest {
return result; return result;
} }
private async executeAttributeValuePromiseRect(caseName: string, input: string, isWindow: boolean = false): Promise<boolean> {
let element = undefined;
if (isWindow) {
element = await this.getWindowElement();
} else {
element = await this.getBaseElement();
}
let result = false;
if (element) {
try {
console.info('ElementTest executeAttributeValuePromiseRect ' + caseName);
let value = await element.attributeValue(input);
console.info('ElementTest executeAttributeValuePromiseRect ' + caseName + ' value: ' + JSON.stringify(value));
if (typeof(value) == 'object' && typeof(value.left) == 'number' && typeof(value.top) == 'number'
&& typeof(value.width) == 'number' && typeof(value.height) == 'number') {
result = true;
} else {
console.warn('ElementTest executeAttributeValuePromiseRect ' + caseName + ' valueType: ' + typeof(value));
}
} catch (e) {
console.info('ElementTest executeAttributeValuePromiseRect ' + caseName + ' catch(e): ' + JSON.stringify(e));
}
}
return result;
}
private async executeAttributeValuePromiseTriggerAction(caseName: string) { private async executeAttributeValuePromiseTriggerAction(caseName: string) {
console.info('ElementTest executeAttributeValuePromiseTriggerAction ' + caseName + ' start'); console.info('ElementTest executeAttributeValuePromiseTriggerAction ' + caseName + ' start');
let event = new accessibility.EventInfo({}); let event = new accessibility.EventInfo({});
...@@ -846,6 +873,31 @@ export class ElementTest { ...@@ -846,6 +873,31 @@ export class ElementTest {
} }
} }
private async executeAttributeValueCallbackRect(caseName: string, input: string, isWindow: boolean = false) {
let element = undefined;
if (isWindow) {
element = await this.getWindowElement();
} else {
element = await this.getBaseElement();
}
let result = false;
if (element) {
console.info('ElementTest executeAttributeValueCallbackRect ' + caseName);
element.attributeValue(input, (err, value) => {
console.info('ElementTest executeAttributeValueCallback ' + caseName + ' err: ' + JSON.stringify(err));
console.info('ElementTest executeAttributeValueCallback ' + caseName + ' value: ' + JSON.stringify(value));
if (err.code == 0 && typeof(value) == 'object' && typeof(value.left) == 'number'
&& typeof(value.top) == 'number' && typeof(value.width) == 'number' && typeof(value.height) == 'number') {
result = true;
} else {
console.warn('ElementTest executeAttributeValueCallbackRect ' + caseName + ' valueType: ' + typeof(value));
}
this.publishCaseResult(caseName, result);
});
}
}
private async executeAttributeValueCallbackTriggerAction(caseName: string) { private async executeAttributeValueCallbackTriggerAction(caseName: string) {
console.info('ElementTest executeAttributeValueCallbackTriggerAction ' + caseName + ' start'); console.info('ElementTest executeAttributeValueCallbackTriggerAction ' + caseName + ' start');
let event = new accessibility.EventInfo({}); let event = new accessibility.EventInfo({});
......
...@@ -50,7 +50,9 @@ class AccessibilityExtAbility extends AccessibilityExtensionAbility { ...@@ -50,7 +50,9 @@ class AccessibilityExtAbility extends AccessibilityExtensionAbility {
let commonEventPublishData = { let commonEventPublishData = {
data: 'accessibilityEvent', data: 'accessibilityEvent',
parameters: { parameters: {
eventType: accessibilityEvent.eventType eventType: accessibilityEvent.eventType,
haveTarget: (typeof(accessibilityEvent.target) == 'object'),
timeStamp: accessibilityEvent.timeStamp
} }
} }
commonEvent.publish('accessibilityEvent', commonEventPublishData, publishCallback); commonEvent.publish('accessibilityEvent', commonEventPublishData, publishCallback);
......
...@@ -20,7 +20,7 @@ export default function abilityTest(abilityContext) { ...@@ -20,7 +20,7 @@ export default function abilityTest(abilityContext) {
let targetBundleName = 'com.example.myapplication'; let targetBundleName = 'com.example.myapplication';
let subScriber = undefined; let subScriber = undefined;
let isConnected: boolean = false; let isConnected: boolean = false;
let eventTypes: Array<string> = []; let events: Array<any> = [];
describe('AccessibilityEventTest', function () { describe('AccessibilityEventTest', function () {
beforeAll(async function (done) { beforeAll(async function (done) {
...@@ -33,7 +33,7 @@ export default function abilityTest(abilityContext) { ...@@ -33,7 +33,7 @@ export default function abilityTest(abilityContext) {
} else if (data.data == 'disconnect') { } else if (data.data == 'disconnect') {
isConnected = false; isConnected = false;
} else if (data.data == 'accessibilityEvent') { } else if (data.data == 'accessibilityEvent') {
eventTypes.push(data.parameters.eventType); events.push(data.parameters);
} }
}); });
...@@ -58,7 +58,7 @@ export default function abilityTest(abilityContext) { ...@@ -58,7 +58,7 @@ export default function abilityTest(abilityContext) {
beforeEach(async function (done) { beforeEach(async function (done) {
console.info(`AccessibilityEventTest: beforeEach`); console.info(`AccessibilityEventTest: beforeEach`);
eventTypes.length = 0; events.length = 0;
setTimeout(done, 2000); setTimeout(done, 2000);
}) })
...@@ -86,10 +86,9 @@ export default function abilityTest(abilityContext) { ...@@ -86,10 +86,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -117,10 +116,9 @@ export default function abilityTest(abilityContext) { ...@@ -117,10 +116,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -148,10 +146,9 @@ export default function abilityTest(abilityContext) { ...@@ -148,10 +146,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -179,10 +176,9 @@ export default function abilityTest(abilityContext) { ...@@ -179,10 +176,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -210,10 +206,9 @@ export default function abilityTest(abilityContext) { ...@@ -210,10 +206,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -241,10 +236,9 @@ export default function abilityTest(abilityContext) { ...@@ -241,10 +236,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -272,10 +266,9 @@ export default function abilityTest(abilityContext) { ...@@ -272,10 +266,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -303,10 +296,9 @@ export default function abilityTest(abilityContext) { ...@@ -303,10 +296,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -365,10 +357,9 @@ export default function abilityTest(abilityContext) { ...@@ -365,10 +357,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -396,10 +387,9 @@ export default function abilityTest(abilityContext) { ...@@ -396,10 +387,9 @@ export default function abilityTest(abilityContext) {
await accessibility.sendEvent(event); await accessibility.sendEvent(event);
setTimeout(() => { setTimeout(() => {
let types = eventTypes;
let findResult = false; let findResult = false;
for (let type of types) { for (let item of events) {
if (type == eventType) { if (item.eventType == eventType) {
findResult = true; findResult = true;
} }
} }
...@@ -408,5 +398,67 @@ export default function abilityTest(abilityContext) { ...@@ -408,5 +398,67 @@ export default function abilityTest(abilityContext) {
done(); done();
}, 3000); }, 3000);
}) })
/*
* @tc.number AccessibilityEventTest_1200
* @tc.name AccessibilityEventTest_1200
* @tc.desc The parameter input is 'scroll', test the Ability event function,
* and return void, verify existence of 'target'.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityEventTest_1200', 0, async function (done) {
console.info(`AccessibilityEventTest_1200`);
let eventType = 'scroll';
let event = new accessibility.EventInfo({});
event.type = eventType;
event.bundleName = targetBundleName;
event.triggerAction = 'scrollForward';
await accessibility.sendEvent(event);
setTimeout(() => {
let findResult = false;
for (let item of events) {
console.info(`AccessibilityEventTest_1200 haveTarget: ${item.haveTarget}`);
if (item.eventType == eventType && item.haveTarget) {
findResult = true;
}
}
console.info('AccessibilityEventTest_1200 case: ' + findResult);
expect(findResult).assertTrue();
done();
}, 3000);
})
/*
* @tc.number AccessibilityEventTest_1300
* @tc.name AccessibilityEventTest_1300
* @tc.desc The parameter input is 'scroll', test the Ability event function,
* and return void, verify existence of 'timeStamp'.
* @tc.size SmallTest
* @tc.type User
*/
it('AccessibilityEventTest_1300', 0, async function (done) {
console.info(`AccessibilityEventTest_1300`);
let eventType = 'scroll';
let event = new accessibility.EventInfo({});
event.type = eventType;
event.bundleName = targetBundleName;
event.triggerAction = 'scrollForward';
await accessibility.sendEvent(event);
setTimeout(() => {
let findResult = false;
for (let item of events) {
console.info(`AccessibilityEventTest_1300 timeStamp: ${item.timeStamp}`);
if (item.eventType == eventType && typeof(item.timeStamp) == 'number') {
findResult = true;
}
}
console.info('AccessibilityEventTest_1300 case: ' + findResult);
expect(findResult).assertTrue();
done();
}, 3000);
})
}) })
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册