diff --git a/pages/error/throw-error/throw-error-composition.uvue b/pages/error/throw-error/throw-error-composition.uvue
index 090d2865c2fa6bbfb1da385cf9caf1328b0f3f41..89b5d045bac700c44674c495d3a1ce248b495784 100644
--- a/pages/error/throw-error/throw-error-composition.uvue
+++ b/pages/error/throw-error/throw-error-composition.uvue
@@ -1,18 +1,24 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/error/throw-error/throw-error.test.js b/pages/error/throw-error/throw-error.test.js
index 3d13236dfe9b620bccc3746280359f409dac3718..20abea780147e9f4d13647d920d270a8a5cb02f3 100644
--- a/pages/error/throw-error/throw-error.test.js
+++ b/pages/error/throw-error/throw-error.test.js
@@ -1,47 +1,59 @@
-const OPTIONS_PAGE_PATH = '/pages/error/throw-error/throw-error-options'
-const COMPOSITION_PAGE_PATH = '/pages/error/throw-error/throw-error-composition'
-const HOME_PAGE_PATH = '/pages/index/index'
-
-describe('throw error', () => {
- let page
- let lifeCycleNum
- const initLifecycle = async () => {
- page = await program.reLaunch(HOME_PAGE_PATH)
- await page.waitFor('view')
- await page.callMethod('setLifeCycleNum', 0)
- lifeCycleNum = await page.callMethod('getLifeCycleNum')
- expect(lifeCycleNum).toBe(0)
- }
- const test = async (pagePath) => {
- await initLifecycle()
- page = await program.reLaunch(pagePath)
- await page.waitFor('view')
- expect(page.path).toBe(pagePath.substring(1))
-
- lifeCycleNum = await page.callMethod('getLifeCycleNum')
- expect(lifeCycleNum).toBe(100)
-
- const triggerErrorBtn = await page.$('#trigger-error')
- await triggerErrorBtn.tap()
-
- lifeCycleNum = await page.callMethod('getLifeCycleNum')
- expect(lifeCycleNum).toBe(200)
-
- page = await program.navigateTo(HOME_PAGE_PATH)
- await page.waitFor('view')
- expect(page.path).toBe(HOME_PAGE_PATH.substring(1))
- }
- it('onError options API', async () => {
- await test(OPTIONS_PAGE_PATH)
- })
- it('onError composition API', async () => {
- await test(COMPOSITION_PAGE_PATH)
- })
-
- afterAll(async () => {
- const resetLifecycleNum = 1110
- await page.callMethod('setLifeCycleNum', resetLifecycleNum)
- lifeCycleNum = await page.callMethod('getLifeCycleNum')
- expect(lifeCycleNum).toBe(resetLifecycleNum)
- })
-})
+const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
+const isAndroid = platformInfo.includes('android')
+const isIos = platformInfo.includes('ios')
+const OPTIONS_PAGE_PATH = '/pages/error/throw-error/throw-error-options'
+const COMPOSITION_PAGE_PATH = '/pages/error/throw-error/throw-error-composition'
+const HOME_PAGE_PATH = '/pages/index/index'
+
+describe('throw error', () => {
+ let page
+ let lifeCycleNum
+ const initLifecycle = async () => {
+ page = await program.reLaunch(HOME_PAGE_PATH)
+ await page.waitFor('view')
+ await page.callMethod('setLifeCycleNum', 0)
+ lifeCycleNum = await page.callMethod('getLifeCycleNum')
+ expect(lifeCycleNum).toBe(0)
+ }
+ const test = async (pagePath) => {
+ await initLifecycle()
+ page = await program.reLaunch(pagePath)
+ await page.waitFor('view')
+ expect(page.path).toBe(pagePath.substring(1))
+
+ lifeCycleNum = await page.callMethod('getLifeCycleNum')
+ expect(lifeCycleNum).toBe(100)
+
+ const triggerErrorBtn = await page.$('#trigger-error')
+ await triggerErrorBtn.tap()
+
+ lifeCycleNum = await page.callMethod('getLifeCycleNum')
+ expect(lifeCycleNum).toBe(200)
+
+ if (isAndroid || isIos) {
+ const triggerTimeoutErrorBtn = await page.$('#trigger-timeout-error')
+ await triggerTimeoutErrorBtn.tap()
+ await page.waitFor(500)
+
+ lifeCycleNum = await page.callMethod('getLifeCycleNum')
+ expect(lifeCycleNum).toBe(300)
+ }
+
+ page = await program.navigateTo(HOME_PAGE_PATH)
+ await page.waitFor('view')
+ expect(page.path).toBe(HOME_PAGE_PATH.substring(1))
+ }
+ it('onError options API', async () => {
+ await test(OPTIONS_PAGE_PATH)
+ })
+ it('onError composition API', async () => {
+ await test(COMPOSITION_PAGE_PATH)
+ })
+
+ afterAll(async () => {
+ const resetLifecycleNum = 1110
+ await page.callMethod('setLifeCycleNum', resetLifecycleNum)
+ lifeCycleNum = await page.callMethod('getLifeCycleNum')
+ expect(lifeCycleNum).toBe(resetLifecycleNum)
+ })
+})
\ No newline at end of file