diff --git a/pages/component/button/button.test.js b/pages/component/button/button.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..76cb4fcf97225bab7c747ef39e81aa1bb3c21c30
--- /dev/null
+++ b/pages/component/button/button.test.js
@@ -0,0 +1,79 @@
+const PAGE_PATH = '/pages/component/button/button'
+
+describe('Button.uvue', () => {
+ let page
+ beforeAll(async () => {
+ page = await program.reLaunch(PAGE_PATH)
+ await page.waitFor(500)
+ })
+ it('click', async () => {
+ // TODO 待测试框架支持text的dispatchEvent
+ // const btn = await page.$('.btn')
+ // expect((await page.data())['count']).toEqual(0)
+ // await btn.tap()
+ // expect((await page.data())['count']).toEqual(1)
+ // await page.setData({
+ // disabled_boolean: true,
+ // })
+ // await btn.tap()
+ // expect((await page.data())['count']).toEqual(1)
+ // await page.setData({
+ // disabled_boolean: false,
+ // })
+ // await btn.tap()
+ // expect((await page.data())['count']).toEqual(2)
+ })
+ it('length', async () => {
+ const elements = await page.$$('.btn')
+ expect(elements.length).toBe(1)
+ })
+ it('text', async () => {
+ const textBtn = await page.$('.btn')
+ expect(await textBtn.text()).toEqual('uni-app-x')
+ await page.setData({
+ text: 'uni-app-x button',
+ })
+ expect(await textBtn.text()).toEqual('uni-app-x button')
+ })
+ it('type', async () => {
+ const btn = await page.$('.btn')
+ expect(await btn.property('type')).toBe('default')
+ await page.setData({
+ type_enum_current: 1,
+ })
+ await page.waitFor(500)
+ expect(await btn.property('type')).toBe('primary')
+ await page.setData({
+ type_enum_current: 2,
+ })
+ await page.waitFor(500)
+ expect(await btn.property('type')).toBe('warn')
+ })
+ it('size', async () => {
+ const btn = await page.$('.btn')
+ expect(await btn.property('size')).toBe('default')
+ await page.setData({
+ size_enum_current: 1,
+ })
+ await page.waitFor(500)
+ expect(await btn.property('size')).toBe('mini')
+ })
+ it('plain', async () => {
+ const btn = await page.$('.btn')
+ expect(await btn.property('plain')).toBe(false)
+ await page.setData({
+ plain_boolean: true,
+ })
+ await page.waitFor(500)
+ expect(await btn.property('plain')).toBe(true)
+ })
+ it('disabled', async () => {
+ const btn = await page.$('.btn')
+ expect(await btn.property('disabled')).toBe(false)
+ await page.setData({
+ disabled_boolean: true,
+ })
+ await page.waitFor(500)
+ expect(await btn.property('disabled')).toBe(true)
+ })
+})
\ No newline at end of file
diff --git a/pages/component/button/button.uvue b/pages/component/button/button.uvue
index e91398fbb44409ce5f921c3c0dbddcd8a6382558..7ceb1623324957358a190ebe47795e83126cb11c 100644
--- a/pages/component/button/button.uvue
+++ b/pages/component/button/button.uvue
@@ -1,64 +1,75 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file