Template: http-mock
该模板可以支持 模拟数据异常
的场景,扩展了模拟 http 请求数据所需的配置,并且提供了两种断言方式:截图像素值对比 和 页面元素节点判断。
tiga.template('http-mock')
.config({
env: 'web',
pageUrl: 'https://wq.jd.com/mcoss/wxmall/home',
specs: [{
name: '主接口数据异常测试',
mock: [{
test: new RegExp('func=home_cover', 'g'),
data: { status: 500 }
}],
screenshot: true
}]
})
更详细的用法,可以参考 http-mock 模板单元测试代码。
扩展的 API
Object: SpecOptions
http-mock
模板的用例配置项。
name
<string
> 用例名waiting?
<number
>app.goto()
跳转后的等待时间screenshot?
<boolean
> 是否使用截图对比来断言,当screenshot
参数与assert()
参数同为真值(Truthy)时,screenshot
参数优先validScreenshot?
<Buffer
|string
> 截图的预期参考值,支持Buffer
和base64
格式的图片。如果该值为空,则会把第一次获取的截图作为参考值assert(expect, $)?
<assert(expect, $)?> 元素节点断言回调mock
<MockOptions[]> 接口模拟参数
Object: MockOptions
模拟接口数据的配置项。
该模板是基于 page.addHttpRules(rules) 实现的,因此配置参数基本类似。
test
<string
|RegExp
> url 匹配条件data
<ResponseOverride> 匹配命中后返回的响应对象
assert(expect, $)?
支持获取页面元素并执行断言的回调。
Arguments:
expect
<jest-expect> jest 的断言库$
<page.$(selector, options?)> tigaPage
类获取页面元素方法
Returns: <
Promise
<void
>>
Assert: 截图像素值对比
截图对比是基于 jest-expect
的扩展 jestImageMatcher 实现的。
{
specs: [{
screenshot: true
}]
}
Assert: 页面元素节点判断
{
specs: [{
assert: async (expect, $) => {
expect(await $('.element')).toBeNull()
}
}]
}