以下为简单举例,包括但不限于,持续补充
- 验证某个元素有
- 固定元素:hasElement
-
有时间限制过几秒就消失的元素(例如toast、PK条):标记一个值,验证值是否改变
async hasPKBar(driver) { i = 1 try{ await driver.waitForElementByCss('#classroom-container__left__top > app-pk-bar > div', 10000, 200) }catch(e){ i = 0 } console.log('---i: ',i) return expect(i).to.be.ok }
-
验证某个元素没有
async iosHasAudioVolumeBar(driver) { return driver .elementByNameOrNull('你已被静音') .then(ele => { return expect(Boolean(ele)).to.be.false }) .sleep(SLEEP_TWO_SECOND) },
- 验证等于某文字:hasText()
- 验证没有某文字:通过text()拿到文字后,判断expect( tex t== expectText ).to.be.false
- 验证包含某文字:expect(t).to.be.include('距离上课还有')
-
验证元素个数(大于/小于/等于)
// 安卓学生列表处展示其他同学头像 async androidHasStudentListAvatar(driver) { return driver .elementsById('com.yuantiku.tutor:id/live_view_circle_img') .then(eles => { return expect(Boolean(eles.length > 0)).to.be.true }) .sleep(SLEEP_TWO_SECOND) }
-
验证元素属性变化,如是否disabled等,一般是桌面端
//桌面端弹幕已打开 async electronHasOpenBarrage(driver){ return await driver .elementByCssOrNull("input#barrage-message-input.ellipsis[disabled]") .then(res => { return expect(Boolean(res)).to.be.false }) }