123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
- const isMP = platformInfo.startsWith('mp')
- const isAppWebView = process.env.UNI_AUTOMATOR_APP_WEBVIEW == 'true'
- const isAndroid = platformInfo.startsWith('android')
- describe('component-native-image', () => {
- const screenshotParams = { fullPage: true }
- let page;
- let start = 0;
- beforeAll(async () => {
- page = await program.reLaunch('/pages/component/image/image');
- await page.waitFor(600);
- });
- it('check_image_load', async () => {
- expect(await page.data('loadError')).toBe(false)
- });
- it('check_image_load_url', async () => {
- await page.setData({
- loadError: false,
- imageSrc: 'https://request.dcloud.net.cn/api/http/contentType/image/png'
- })
- await page.waitFor(300);
- expect(await page.data('loadError')).toBe(false)
- })
- if(process.env.uniTestPlatformInfo.toLowerCase().startsWith('ios')) {
- it('check_qurey_url', async () => {
- await page.setData({
- loadError: false,
- imageSrc: '/static/logo.png?t=11234'
- })
- await page.waitFor(300);
- expect(await page.data('loadError')).toBe(false)
- })
- };
- it('check_image_load_error', async () => {
- await page.setData({
- loadError: false,
- imageSrc: 'testerror.jpg'
- })
- await page.waitFor(300);
- expect(await page.data('loadError')).toBe(true)
- })
- if (isAndroid && !isAppWebView) {
- it('check-cookie', async () => {
- await page.setData({
- autoTest: true,
- setCookieImage: 'https://cdn.dcloud.net.cn/img/shadow-grey.png'
- });
- await page.waitFor(1000);
- await page.setData({
- loadError: false,
- verifyCookieImage: 'https://request.dcloud.net.cn/img/shadow-grey.png'
- });
- await page.waitFor(1000);
- expect(await page.data('loadError')).toBe(false);
- await page.setData({
- autoTest: false
- });
- })
- }
- it('test event load', async () => {
- await page.setData({
- autoTest: true,
- imageSrc: 'https://request.dcloud.net.cn/api/http/contentType/image/png'
- });
- start = Date.now();
- await page.waitFor(async () => {
- return (await page.data('eventLoad')) || (Date.now() - start > 1000);
- });
- expect(await page.data('eventLoad')).toEqual({
- tagName: isMP ? '' : 'IMAGE',
- type: 'load',
- width: 10,
- height: 10
- });
- });
- it('test event error', async () => {
- await page.setData({
- imageSrc: 'https://request.dcloud.net.cn/api/http/contentType/404.png'
- });
- start = Date.now();
- await page.waitFor(async () => {
- return (await page.data('eventError')) || (Date.now() - start > 1000);
- });
- expect(await page.data('eventError')).toEqual({
- tagName: isMP ? '' : 'IMAGE',
- type: 'error'
- });
- await page.setData({
- autoTest: false
- });
- });
- if(isMP) {
- // TODO 整理小程序、web支持的类型,页面上进行条件编译展示
- return
- }
- it('path-screenshot', async () => {
- const page = await program.navigateTo('/pages/component/image/image-path');
- await page.waitFor(3000);
- const image = await program.screenshot(screenshotParams)
- expect(image).toSaveImageSnapshot()
- });
- it('mode-screenshot', async () => {
- if (process.env.android_cpu_type === 'x86_64') return
- const page = await program.navigateTo('/pages/component/image/image-mode');
- await page.waitFor(1000);
- const image = await program.screenshot(screenshotParams)
- expect(image).toSaveImageSnapshot()
- });
- it('long-path-screenshot', async() => {
- if (isAndroid) {
- const infos = process.env.uniTestPlatformInfo.split(' ');
- const version = parseInt(infos[infos.length - 1]);
- if (version < 8) {
- console.log("安卓版本小于8设备 测试image-long 模拟器会出现内存不足错误 影响后续测试")
- expect(1).toBe(1)
- return
- }
- }
- const page = await program.navigateTo('/pages/component/image/image-long');
- await page.waitFor(3000);
- const image = await program.screenshot(screenshotParams)
- expect(image).toSaveImageSnapshot()
- })
- });
|