107 行
3.4 KiB
JavaScript
107 行
3.4 KiB
JavaScript
const PAGE_PATH = '/pages/component/text/text-props'
|
|
|
|
const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
|
|
const isMP = platformInfo.startsWith('mp')
|
|
const isWeb = platformInfo.startsWith('web')
|
|
const isDom2 = process.env.UNI_APP_X_DOM2 === "true"
|
|
|
|
describe('text-props', () => {
|
|
if (isMP) {
|
|
it('skip', () => {
|
|
expect(1).toBe(1)
|
|
})
|
|
return
|
|
}
|
|
|
|
let page
|
|
beforeAll(async () => {
|
|
page = await program.navigateTo(PAGE_PATH)
|
|
await page.waitFor(1000)
|
|
})
|
|
|
|
async function setPageData(newData) {
|
|
return await page.setData({ data: newData });
|
|
}
|
|
|
|
it('screenshot', async () => {
|
|
const image = await program.screenshot({ fullPage: true })
|
|
expect(image).toSaveImageSnapshot()
|
|
})
|
|
|
|
it('empty text', async () => {
|
|
await setPageData({ autoTest: true })
|
|
const element = await page.$('#empty-text')
|
|
if (element != null) {
|
|
const { width, height } = await element.size()
|
|
expect(width).toBe(0)
|
|
expect(height).toBe(0)
|
|
}
|
|
await page.callMethod("setEmptyText")
|
|
await page.waitFor(100)
|
|
const element2 = await page.$('#empty-text2')
|
|
if (element2 != null) {
|
|
expect(await element2.text()).toBe('')
|
|
const { width, height } = await element2.size()
|
|
expect(width).toBe(0)
|
|
expect(height).toBe(0)
|
|
}
|
|
const element3 = await page.$('#empty-text3')
|
|
if (element3 != null) {
|
|
expect(await element3.text()).toBe('')
|
|
}
|
|
await setPageData({ autoTest: false })
|
|
})
|
|
|
|
it('nested text', async () => {
|
|
await setPageData({ autoTest: true })
|
|
await page.callMethod("setNestedText")
|
|
await page.waitFor(100)
|
|
const element = await page.$('#nested-text')
|
|
if (!isMP && element != null) {
|
|
if(isDom2){
|
|
//Dom2为多线程等render之后再获取值
|
|
await page.waitFor('view');
|
|
}
|
|
// TODO 微信小程序端疑似自动化测试框架Bug,此处text方法会返回`"修改三级节点文本修改三级节点文本"`,手动测试未发现问题
|
|
expect(await element.text()).toBe("修改三级节点文本")
|
|
}
|
|
|
|
if(isMP || isWeb) {
|
|
// 不支持 program.tap
|
|
expect(1).toBe(1)
|
|
return
|
|
}
|
|
|
|
const rect = await page.callMethod("getBoundingClientRectForTest")
|
|
const windowInfo = await program.callUniMethod('getWindowInfo');
|
|
await program.tap({
|
|
x: Math.ceil(rect.left + rect.width / 2),
|
|
y: Math.ceil(windowInfo.statusBarHeight + 44 + rect.top + rect.height / 2)
|
|
})
|
|
|
|
await page.waitFor(300)
|
|
expect(await page.data('data.isNestedText1TapTriggered')).toBe(true)
|
|
expect(await page.data('data.isNestedText2TapTriggered')).toBe(true)
|
|
await setPageData({ autoTest: false })
|
|
})
|
|
|
|
it('height text', async () => {
|
|
await setPageData({ autoTest: true })
|
|
await page.callMethod("setHeightText")
|
|
await page.waitFor(100)
|
|
const element = await page.$('#height-text')
|
|
if (element != null) {
|
|
expect(await element.text()).toBe("修改设置高度文本")
|
|
}
|
|
await setPageData({ autoTest: false })
|
|
})
|
|
|
|
it('test attr decode', async () => {
|
|
await setPageData({ decode: false });
|
|
await page.waitFor(100);
|
|
const image = await program.screenshot({ fullPage: true });
|
|
expect(image).toSaveImageSnapshot();
|
|
await setPageData({ decode: true });
|
|
});
|
|
})
|