Tauri 规范文件
规范文件包含了测试你的实际应用程序的代码。测试运行程序将加载这些规范,并根据需要自动运行它们。现在让我们在我们指定的目录中创建我们的规范。
test/specs/example.e2e.js:
// calculates the luma from a hex color `#abcdef`
function luma(hex) {
if (hex.startsWith('#')) {
hex = hex.substring(1)
}
const rgb = parseInt(hex, 16)
const r = (rgb >> 16) & 0xff
const g = (rgb >> 8) & 0xff
const b = (rgb >> 0) & 0xff
return 0.2126 * r + 0.7152 * g + 0.0722 * b
}
describe('Hello Tauri', () => {
it('should be cordial', async () => {
const header = await $('body > h1')
const text = await header.getText()
expect(text).toMatch(/^[hH]ello/)
})
it('should be excited', async () => {
const header = await $('body > h1')
const text = await header.getText()
expect(text).toMatch(/!$/)
})
it('should be easy on the eyes', async () => {
const body = await $('body')
const backgroundColor = await body.getCSSProperty('background-color')
expect(luma(backgroundColor.parsed.hex)).toBeLessThan(100)
})
})
顶部的luma
函数只是我们其中一个测试的辅助函数,与应用程序的实际测试无关。如果你熟悉其他测试框架,你可能会注意到类似的函数被暴露出来,并被使用,例如describe
、it
和expect
。其他API,比如$
及其暴露的方法,都在WebdriverIO的API文档中有详细介绍。