save-image-to-photos-album.test.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
  2. const isIOS = platformInfo.startsWith('ios')
  3. const isMP = platformInfo.startsWith('mp')
  4. const isWeb = platformInfo.startsWith('web')
  5. const isAndroid = platformInfo.startsWith('android')
  6. const isHarmony = platformInfo.startsWith('harmony')
  7. const isAppWebView = process.env.UNI_AUTOMATOR_APP_WEBVIEW == 'true'
  8. describe('API-saveImageToPhotosAlbum', () => {
  9. if (isIOS || isWeb || isMP || isAppWebView) {
  10. it('pass', async () => {
  11. expect(1).toBe(1);
  12. });
  13. return;
  14. }
  15. let page;
  16. beforeAll(async () => {
  17. page = await program.reLaunch('/pages/API/save-image-to-photos-album/save-image-to-photos-album');
  18. await page.waitFor('view');
  19. });
  20. it('test saveImageToPhotosAlbum', async () => {
  21. if (isAndroid) {
  22. const infos = platformInfo.split(' ');
  23. const version = parseInt(infos[infos.length - 1]);
  24. if (version < 7) {
  25. console.log("安卓版本小于7设备 不进行saveImage测试,模拟器会出现闪退影响后续测试")
  26. expect(1).toBe(1)
  27. return
  28. }
  29. await program.adbCommand(
  30. 'pm grant io.dcloud.uniappx android.permission.WRITE_EXTERNAL_STORAGE');
  31. }
  32. await page.callMethod('saveImage');
  33. if (isHarmony) {
  34. await page.waitFor(2000);
  35. await program.tap({ x: 305, y: 555 })
  36. }
  37. await page.waitFor(1000);
  38. const windowInfo = await program.callUniMethod('getWindowInfo');
  39. const image = await program.screenshot({
  40. deviceShot: true,
  41. area: {
  42. x: 0,
  43. y: windowInfo.safeAreaInsets.top + 44
  44. }
  45. });
  46. expect(image).toSaveImageSnapshot();
  47. expect(await page.data('success')).toBe(true);
  48. await page.waitFor(2000);
  49. });
  50. });