diff --git a/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async.test.js b/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..d1b23c016c67c78173cf912f17732ed167db72e6
--- /dev/null
+++ b/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async.test.js
@@ -0,0 +1,35 @@
+const PAGE_PATH = '/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async'
+
+const RECT_X = 15;
+const RECT_HEIGHT = 100;
+const RECT_LEFT = 15;
+
+describe('element-get-bounding-client-rect-async', () => {
+ const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
+ let page
+ beforeAll(async () => {
+ page = await program.reLaunch(PAGE_PATH)
+ await page.waitFor(500)
+ })
+ it('getBoundingClientRectSync', async () => {
+ await invokeGetBoundingClientRect('getBoundingClientRectAsync', 'rectInfo');
+ })
+})
+
+async function invokeGetBoundingClientRect(methodName, dataName) {
+ await page.callMethod(methodName);
+ await page.waitFor(50)
+
+ const data = await page.data()
+ const width = uni.getWindowInfo().windowWidth
+
+ const rectInfo = data[dataName]
+ expect(Math.round(rectInfo.x)).toBe(RECT_X)
+ expect(Math.round(rectInfo.y) > 90).toBe(true)
+ expect(Math.round(rectInfo.width)).toBe(width - 15 * 2)
+ expect(Math.round(rectInfo.height)).toBe(RECT_HEIGHT)
+ expect(Math.round(rectInfo.left)).toBe(RECT_LEFT)
+ expect(Math.round(rectInfo.top) > 90).toBe(true)
+ expect(Math.round(rectInfo.right)).toBe(width - 15)
+ expect(Math.round(rectInfo.bottom) > 200).toBe(true)
+}
diff --git a/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async.uvue b/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async.uvue
new file mode 100644
index 0000000000000000000000000000000000000000..2f93d91af5d126b05f273203b242a791b26187f2
--- /dev/null
+++ b/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async.uvue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+ x:
+ {{rectInfo.x}}
+
+
+ y:
+ {{rectInfo.y}}
+
+
+ width:
+ {{rectInfo.width}}
+
+
+ height:
+ {{rectInfo.height}}
+
+
+ left:
+ {{rectInfo.left}}
+
+
+ top:
+ {{rectInfo.top}}
+
+
+ right:
+ {{rectInfo.right}}
+
+
+ bottom:
+ {{rectInfo.bottom}}
+
+
+
+
+
+
+
+
+
+
+