form.test.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
  2. const isHarmony = platformInfo.startsWith('harmony')
  3. const isMP = platformInfo.startsWith('mp')
  4. const PAGE_PATH = '/pages/component/form/form'
  5. const DEFAULT_NICK_NAME = ''
  6. const DEFAULT_GENDER = '0'
  7. const DEFAULT_LOVES = ['0']
  8. const DEFAULT_AGE = 18
  9. const DEFAULT_SWITCH = true
  10. const DEFAULT_COMMENT = ''
  11. const CHANGE_NICK_NAME = 'hello'
  12. const CHANGE_GENDER = '1'
  13. const CHANGE_LOVES = ['0', '1']
  14. const CHANGE_AGE = 50
  15. const CHANGE_SWITCH = false
  16. const CHANGE_COMMENT = '备注'
  17. describe('form', () => {
  18. let page
  19. beforeAll(async () => {
  20. page = await program.reLaunch(PAGE_PATH)
  21. await page.waitFor(500)
  22. })
  23. it('submit', async () => {
  24. await changeData(page)
  25. const btnSubmit = await page.$('.btn-submit')
  26. await btnSubmit.tap()
  27. await page.waitFor(200)
  28. const {
  29. time,
  30. formData,
  31. testVerifySubmit
  32. } = await page.data()
  33. expect(formData['nickname']).toBe(CHANGE_NICK_NAME)
  34. expect(formData['gender']).toBe(CHANGE_GENDER)
  35. expect(formData['loves'][0]).toBe(CHANGE_LOVES[0])
  36. expect(formData['loves'][1]).toBe(CHANGE_LOVES[1])
  37. expect(formData['age']).toBe(CHANGE_AGE)
  38. expect(formData['switch']).toBe(CHANGE_SWITCH)
  39. expect(formData['comment']).toBe(CHANGE_COMMENT)
  40. // 仅微信 和 鸿蒙支持 picker-view 表单
  41. if (isMP || isHarmony) {
  42. expect(formData['time'][0]).toBe(time[0])
  43. expect(formData['time'][1]).toBe(time[1])
  44. }
  45. if(!isMP) {
  46. expect(testVerifySubmit).toBe(true)
  47. }
  48. })
  49. if(isMP) {
  50. // 微信小程序reset和app、web表现不一致。暂时屏蔽reset测试例,后续如果拉齐再放开
  51. return
  52. }
  53. it('reset', async () => {
  54. await changeData(page)
  55. const btnReset = await page.$('.btn-reset')
  56. await btnReset.tap()
  57. await page.waitFor(100)
  58. const btnSubmit = await page.$('.btn-submit')
  59. await btnSubmit.tap()
  60. await page.waitFor(100)
  61. const {
  62. time,
  63. formData,
  64. testVerifyReset
  65. } = await page.data()
  66. expect(formData['nickname']).toBe(DEFAULT_NICK_NAME)
  67. expect(formData['gender']).toBe(DEFAULT_GENDER)
  68. expect(formData['loves'][0]).toBe(DEFAULT_LOVES[0])
  69. expect(formData['age']).toBe(DEFAULT_AGE)
  70. expect(formData['switch']).toBe(DEFAULT_SWITCH)
  71. expect(formData['comment']).toBe(DEFAULT_COMMENT)
  72. if (isMP || isHarmony) {
  73. expect(formData['time'][0]).toBe(time[0])
  74. expect(formData['time'][1]).toBe(time[1])
  75. }
  76. expect(testVerifyReset).toBe(true)
  77. })
  78. })
  79. async function changeData(page) {
  80. await page.setData({
  81. nickname: CHANGE_NICK_NAME,
  82. gender: CHANGE_GENDER,
  83. loves: CHANGE_LOVES,
  84. age: CHANGE_AGE,
  85. switch: CHANGE_SWITCH,
  86. comment:CHANGE_COMMENT
  87. })
  88. await page.waitFor(100)
  89. }