提交 a36e40fe 编写于 作者: DCloud-yinjiacheng's avatar DCloud-yinjiacheng 提交者: 雪洛

更新image、video、web-view自动化测试用例

上级 6637c2cd
...@@ -75,9 +75,7 @@ describe('component-native-image', () => { ...@@ -75,9 +75,7 @@ describe('component-native-image', () => {
autoTest: true, autoTest: true,
imageSrc: 'https://request.dcloud.net.cn/api/http/contentType/image/png' imageSrc: 'https://request.dcloud.net.cn/api/http/contentType/image/png'
}); });
await page.waitFor(async () => { await page.waitFor(300);
return await page.data('eventLoad');
});
expect(await page.data('eventLoad')).toEqual({ expect(await page.data('eventLoad')).toEqual({
tagName: 'IMAGE', tagName: 'IMAGE',
type: 'load', type: 'load',
...@@ -90,9 +88,7 @@ describe('component-native-image', () => { ...@@ -90,9 +88,7 @@ describe('component-native-image', () => {
await page.setData({ await page.setData({
imageSrc: 'https://request.dcloud.net.cn/api/http/contentType/404.png' imageSrc: 'https://request.dcloud.net.cn/api/http/contentType/404.png'
}); });
await page.waitFor(async () => { await page.waitFor(300);
return await page.data('eventError');
});
expect(await page.data('eventError')).toEqual({ expect(await page.data('eventError')).toEqual({
tagName: 'IMAGE', tagName: 'IMAGE',
type: 'error' type: 'error'
......
...@@ -52,17 +52,13 @@ describe('component-native-video', () => { ...@@ -52,17 +52,13 @@ describe('component-native-video', () => {
autoTest: true autoTest: true
}); });
await page.callMethod('play'); await page.callMethod('play');
await page.waitFor(async () => { await page.waitFor(100);
return await page.data('eventPlay');
});
expect(await page.data('eventPlay')).toEqual({ expect(await page.data('eventPlay')).toEqual({
tagName: 'VIDEO', tagName: 'VIDEO',
type: 'play' type: 'play'
}); });
await page.callMethod('pause'); await page.callMethod('pause');
await page.waitFor(async () => { await page.waitFor(100);
return await page.data('eventPause');
});
expect(await page.data('eventPause')).toEqual({ expect(await page.data('eventPause')).toEqual({
tagName: 'VIDEO', tagName: 'VIDEO',
type: 'pause' type: 'pause'
...@@ -75,38 +71,36 @@ describe('component-native-video', () => { ...@@ -75,38 +71,36 @@ describe('component-native-video', () => {
pos: 10 pos: 10
}); });
await page.callMethod('seek'); await page.callMethod('seek');
await page.waitFor(async () => { await page.waitFor(100);
return await page.data('eventWaiting');
});
expect(await page.data('eventWaiting')).toEqual({ expect(await page.data('eventWaiting')).toEqual({
tagName: 'VIDEO', tagName: 'VIDEO',
type: 'waiting' type: 'waiting'
}); });
await page.waitFor(async () => { await page.waitFor(200);
return await page.data('eventProgress');
});
expect(await page.data('eventProgress')).toEqual({ expect(await page.data('eventProgress')).toEqual({
tagName: 'VIDEO', tagName: 'VIDEO',
type: 'progress', type: 'progress',
buffered: 100 isBufferedValid: true
});
await page.waitFor(250);
expect(await page.data('eventTimeupdate')).toEqual({
tagName: 'VIDEO',
type: 'timeupdate',
currentTime: 10,
duration: 121
}); });
const infos = process.env.uniTestPlatformInfo.split(' ');
const version = parseInt(infos[infos.length - 1]);
if (process.env.uniTestPlatformInfo.startsWith('android') && version > 5) {
await page.waitFor(200);
expect(await page.data('eventTimeupdate')).toEqual({
tagName: 'VIDEO',
type: 'timeupdate',
currentTime: 10,
duration: 121
});
}
}); });
it('test event fullscreenchange fullscreenclick controlstoggle', async () => { it('test event fullscreenchange fullscreenclick controlstoggle', async () => {
if (process.env.uniTestPlatformInfo.startsWith('ios')) { if (process.env.uniTestPlatformInfo.toLowerCase().startsWith('ios')) {
return; return;
} }
await page.callMethod('requestFullScreen'); await page.callMethod('requestFullScreen');
await page.waitFor(async () => { await page.waitFor(500);
return await page.data('eventFullscreenchange');
});
expect(await page.data('eventFullscreenchange')).toEqual({ expect(await page.data('eventFullscreenchange')).toEqual({
tagName: 'VIDEO', tagName: 'VIDEO',
type: 'fullscreenchange', type: 'fullscreenchange',
...@@ -144,9 +138,7 @@ describe('component-native-video', () => { ...@@ -144,9 +138,7 @@ describe('component-native-video', () => {
pos: 120 pos: 120
}); });
await page.callMethod('seek'); await page.callMethod('seek');
await page.waitFor(async () => { await page.waitFor(2500);
return await page.data('eventEnded');
});
expect(await page.data('eventEnded')).toEqual({ expect(await page.data('eventEnded')).toEqual({
tagName: 'VIDEO', tagName: 'VIDEO',
type: 'ended' type: 'ended'
...@@ -158,9 +150,7 @@ describe('component-native-video', () => { ...@@ -158,9 +150,7 @@ describe('component-native-video', () => {
await page.setData({ await page.setData({
src: 'invalid url' src: 'invalid url'
}); });
await page.waitFor(async () => { await page.waitFor(300);
return await page.data('eventError');
});
expect(await page.data('eventError')).toEqual({ expect(await page.data('eventError')).toEqual({
tagName: 'VIDEO', tagName: 'VIDEO',
type: 'error', type: 'error',
......
...@@ -447,7 +447,7 @@ ...@@ -447,7 +447,7 @@
this.eventProgress = { this.eventProgress = {
"tagName": res.target?.tagName, "tagName": res.target?.tagName,
"type": res.type, "type": res.type,
"buffered": res.detail.buffered "isBufferedValid": res.detail.buffered > 0
}; };
} }
}, },
......
...@@ -27,58 +27,58 @@ describe('component-native-web-view', () => { ...@@ -27,58 +27,58 @@ describe('component-native-web-view', () => {
autoTest: true autoTest: true
}); });
await page.callMethod('testEventDownload'); await page.callMethod('testEventDownload');
await page.waitFor(async () => { await page.waitFor(500);
return await page.data('eventDownload'); if (process.env.uniTestPlatformInfo.toLowerCase().startsWith('ios')) {
}); expect(await page.data('eventDownload')).toEqual({
if (process.env.uniTestPlatformInfo.startsWith('ios')) { tagName: 'WEB-VIEW',
expect(await page.data('eventDownload')).toEqual({ type: 'download',
tagName: 'WEB-VIEW', url: 'https://web-ext-storage.dcloud.net.cn/uni-app-x/pkg/hello-uniappx.apk',
type: 'download', userAgent: `uni-app-x/${process.env.HX_Version.split('-')[0].split('.').slice(0, 2).join('.')}`,
url: 'https://web-ext-storage.dcloud.net.cn/uni-app-x/pkg/hello-uniappx.apk', contentDisposition: '',
userAgent: `uni-app-x/${process.env.HX_Version.split('-')[0].split('.').slice(0, 2).join('.')}`, mimetype: 'application/vnd.android.package-archive',
contentDisposition: '', isContentLengthValid: true
mimetype: 'application/vnd.android.package-archive', });
isContentLengthValid: true return;
}); }
return; const infos = process.env.uniTestPlatformInfo.split(' ');
} const version = parseInt(infos[infos.length - 1]);
const infos = process.env.uniTestPlatformInfo.split(' '); if (version > 8) {
const version = parseInt(infos[infos.length - 1]); expect(await page.data('eventDownload')).toEqual({
if (version > 8) { tagName: 'WEB-VIEW',
expect(await page.data('eventDownload')).toEqual({ type: 'download',
tagName: 'WEB-VIEW', url: 'https://web-ext-storage.dcloud.net.cn/uni-app-x/pkg/hello-uniappx.apk',
type: 'download', userAgent: `uni-app-x/${process.env.HX_Version.split('-')[0].split('.').slice(0, 2).join('.')}`,
url: 'https://web-ext-storage.dcloud.net.cn/uni-app-x/pkg/hello-uniappx.apk', contentDisposition: `attachment; filename="hello-uniappx.apk"; filename*=utf-8''hello-uniappx.apk`,
userAgent: `uni-app-x/${process.env.HX_Version.split('-')[0].split('.').slice(0, 2).join('.')}`, mimetype: 'application/vnd.android.package-archive',
contentDisposition: `attachment; filename="hello-uniappx.apk"; filename*=utf-8''hello-uniappx.apk`, isContentLengthValid: true
mimetype: 'application/vnd.android.package-archive', });
isContentLengthValid: true } else if (version > 6) { // 低版本webview内核,部分属性无有效值
}); expect(await page.data('eventDownload')).toEqual({
} else { // 低版本webview内核,部分属性无有效值 tagName: 'WEB-VIEW',
expect(await page.data('eventDownload')).toEqual({ type: 'download',
tagName: 'WEB-VIEW', url: 'https://web-ext-storage.dcloud.net.cn/uni-app-x/pkg/hello-uniappx.apk',
type: 'download', userAgent: '',
url: 'https://web-ext-storage.dcloud.net.cn/uni-app-x/pkg/hello-uniappx.apk', contentDisposition: '',
userAgent: '', mimetype: '',
contentDisposition: '', isContentLengthValid: false
mimetype: '', });
isContentLengthValid: false
});
} }
}); });
it('test event message', async () => { it('test event message', async () => {
await page.callMethod('testEventMessage'); const infos = process.env.uniTestPlatformInfo.split(' ');
await page.waitFor(async () => { const version = parseInt(infos[infos.length - 1]);
return await page.data('eventMessage'); if (process.env.uniTestPlatformInfo.startsWith('android') && version > 6) {
}); await page.callMethod('testEventMessage');
expect(await page.data('eventMessage')).toEqual({ await page.waitFor(200);
tagName: 'WEB-VIEW', expect(await page.data('eventMessage')).toEqual({
type: 'message', tagName: 'WEB-VIEW',
data: [{ type: 'message',
action: 'message' data: [{
}] action: 'message'
}); }]
});
}
await page.setData({ await page.setData({
autoTest: false autoTest: false
}); });
......
...@@ -17,17 +17,13 @@ describe('component-native-web-view', () => { ...@@ -17,17 +17,13 @@ describe('component-native-web-view', () => {
autoTest: true autoTest: true
}); });
await page.callMethod('reload'); await page.callMethod('reload');
await page.waitFor(async () => { await page.waitFor(100);
return await page.data('eventLoading');
});
expect(await page.data('eventLoading')).toEqual({ expect(await page.data('eventLoading')).toEqual({
tagName: 'WEB-VIEW', tagName: 'WEB-VIEW',
type: 'loading', type: 'loading',
src: 'https://www.dcloud.io/' src: 'https://www.dcloud.io/'
}); });
await page.waitFor(async () => { await page.waitFor(1000);
return await page.data('eventLoad');
});
expect(await page.data('eventLoad')).toEqual({ expect(await page.data('eventLoad')).toEqual({
tagName: 'WEB-VIEW', tagName: 'WEB-VIEW',
type: 'load', type: 'load',
...@@ -36,21 +32,23 @@ describe('component-native-web-view', () => { ...@@ -36,21 +32,23 @@ describe('component-native-web-view', () => {
}); });
it('test event error', async () => { it('test event error', async () => {
await page.setData({ const infos = process.env.uniTestPlatformInfo.split(' ');
src: 'https://www.dclou.io/uni-app-x' const version = parseInt(infos[infos.length - 1]);
}); if (process.env.uniTestPlatformInfo.startsWith('android') && version > 5) {
await page.waitFor(async () => { await page.setData({
return await page.data('eventError'); src: 'https://www.dclou.io/uni-app-x'
}); });
expect(await page.data('eventError')).toEqual({ await page.waitFor(500);
tagName: 'WEB-VIEW', expect(await page.data('eventError')).toEqual({
type: 'error', tagName: 'WEB-VIEW',
errCode: 100002, type: 'error',
errMsg: 'page error', errCode: 100002,
url: 'https://www.dclou.io', errMsg: 'page error',
fullUrl: 'https://www.dclou.io/uni-app-x', url: 'https://www.dclou.io',
src: 'https://www.dclou.io/uni-app-x' fullUrl: 'https://www.dclou.io/uni-app-x',
}); src: 'https://www.dclou.io/uni-app-x'
});
}
await page.setData({ await page.setData({
autoTest: false autoTest: false
}); });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册