139 行
4.8 KiB
JavaScript
139 行
4.8 KiB
JavaScript
const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
|
|
const isMP = platformInfo.startsWith('mp')
|
|
const isAndroid = platformInfo.startsWith('android')
|
|
|
|
describe('component-native-scroll-view-props', () => {
|
|
if (isMP) {
|
|
it('skip', () => {
|
|
expect(1).toBe(1)
|
|
})
|
|
return
|
|
}
|
|
|
|
let page;
|
|
beforeAll(async () => {
|
|
page = await program.reLaunch('/pages/component/scroll-view/scroll-view-props');
|
|
await page.waitFor(300);
|
|
});
|
|
|
|
async function setPageData(newData) {
|
|
return await page.setData({ data: newData });
|
|
}
|
|
|
|
if(!isMP) {
|
|
//检测竖向可滚动区域
|
|
it('check_scroll_height', async () => {
|
|
await setPageData({ scrollX: false })
|
|
await page.waitFor(300);
|
|
const value = await page.callMethod('checkScrollHeight')
|
|
expect(value).toBe(true)
|
|
})
|
|
}
|
|
|
|
//检测竖向scrolltop属性赋值
|
|
it('check_scroll_top', async () => {
|
|
await setPageData({ scrollTop: 600 })
|
|
await page.waitFor(600)
|
|
//检测滚动top 是否触发scroll 事件
|
|
const scrollChangeTop = await page.data('data.scrollChangeTop')
|
|
console.log("scrollChangeTop="+scrollChangeTop)
|
|
expect(scrollChangeTop-600).toBeGreaterThanOrEqual(0)
|
|
const element = await page.$('#scrollViewY')
|
|
const scrollTop = await element.property("scrollTop")
|
|
console.log("check_scroll_top---"+scrollTop)
|
|
expect(scrollTop-600).toBeGreaterThanOrEqual(0)
|
|
})
|
|
|
|
//检测竖向scroll_into_view属性赋值
|
|
it('check_scroll_into_view_top', async () => {
|
|
await setPageData({ scrollIntoView: "item3" })
|
|
await page.waitFor(600)
|
|
const element = await page.$('#scrollViewY')
|
|
const scrollTop = await element.property("scrollTop")
|
|
console.log("check_scroll_into_view_top--"+scrollTop)
|
|
await setPageData({ scrollIntoView: "" })
|
|
expect(scrollTop-570).toBeGreaterThanOrEqual(0)
|
|
})
|
|
|
|
if(!isAndroid) {//Android scroll_into_view暂时未支持孙节点
|
|
//检测竖向scroll_into_view滚动到孙节点属性赋值
|
|
it('check_scroll_into_view_top_grand_child', async () => {
|
|
await setPageData({ scrollIntoView: "grand_child_item3" })
|
|
await page.waitFor(600)
|
|
const element = await page.$('#scrollViewY')
|
|
const scrollTop = await element.property("scrollTop")
|
|
console.log("check_scroll_into_view_top--"+scrollTop)
|
|
await setPageData({ scrollIntoView: "" })
|
|
expect(scrollTop-570).toBeGreaterThanOrEqual(0)
|
|
})
|
|
}
|
|
|
|
|
|
if(!isMP) {
|
|
//检测横向可滚动区域
|
|
it('check_scroll_width', async () => {
|
|
await setPageData({ scrollX: true })
|
|
await page.waitFor(300);
|
|
const value = await page.callMethod('checkScrollWidth')
|
|
expect(value).toBe(true)
|
|
})
|
|
}
|
|
|
|
//检测横向scrollLeft属性赋值
|
|
it('check_scroll_left', async () => {
|
|
await setPageData({ scrollX: true })
|
|
await setPageData({ scrollLeft: 600 })
|
|
await page.waitFor(600)
|
|
const element = await page.$('#scrollViewX')
|
|
const scrollLeft = await element.property("scrollLeft")
|
|
console.log("check_scroll_left---"+scrollLeft)
|
|
expect(scrollLeft-600).toBeGreaterThanOrEqual(0)
|
|
})
|
|
|
|
//检测横向scroll_into_view属性赋值
|
|
it('check_scroll_into_view_left', async () => {
|
|
await setPageData({ scrollX: true })
|
|
await setPageData({ scrollIntoView: "horizontal_item3" })
|
|
await page.waitFor(600)
|
|
const element = await page.$('#scrollViewX')
|
|
const scrollLeft = await element.property("scrollLeft")
|
|
console.log("check_scroll_into_view_left--"+scrollLeft)
|
|
await setPageData({ scrollIntoView: "" })
|
|
expect(scrollLeft-930).toBeGreaterThanOrEqual(0)
|
|
})
|
|
|
|
|
|
if(!isAndroid) {//Android scroll_into_view 暂未支持孙节点
|
|
//检测横向scroll_into_view滚动到孙节点属性赋值
|
|
it('check_scroll_into_view_left_grand_child', async () => {
|
|
await setPageData({ scrollX: true })
|
|
await setPageData({ scrollIntoView: "horizontal_grand_child__item3" })
|
|
await page.waitFor(600)
|
|
const element = await page.$('#scrollViewX')
|
|
const scrollLeft = await element.property("scrollLeft")
|
|
console.log("check_scroll_into_view_left--"+scrollLeft)
|
|
await setPageData({ scrollIntoView: "" })
|
|
expect(scrollLeft-930).toBeGreaterThanOrEqual(0)
|
|
})
|
|
}
|
|
|
|
//截图对比
|
|
it('scroll-view-props-screenshot', async () => {
|
|
//禁止滚动条
|
|
await setPageData({ showScrollbar: false })
|
|
await page.waitFor(1000);
|
|
const image = await program.screenshot({fullPage: true});
|
|
expect(image).toSaveImageSnapshot();
|
|
})
|
|
|
|
|
|
//截图末尾位置元素
|
|
it('scroll-view-props-last-item-screenshot', async () => {
|
|
//滚动到末尾位置
|
|
await setPageData({ scrollLeft: 10000 })
|
|
await page.waitFor(1000);
|
|
const image = await program.screenshot({fullPage: true});
|
|
expect(image).toSaveImageSnapshot();
|
|
})
|
|
});
|