Detox移動(dòng)端 APP 自動(dòng)化測(cè)試框架
Detox 是一個(gè)用于移動(dòng)端 APP 灰盒測(cè)試(介于白盒測(cè)試和黑盒測(cè)試之間,既關(guān)注內(nèi)部邏輯實(shí)現(xiàn),也關(guān)注軟件最終效果,但關(guān)注度不及兩者,通常在集成測(cè)試階段進(jìn)行)的自動(dòng)化測(cè)試框架。
下面是登錄界面的測(cè)試,就像真實(shí)用戶一樣在設(shè)備/模擬器上運(yùn)行:
describe('Login flow', () => {
it('should login successfully', async () => {
await device.reloadReactNative();
await element(by.id('email')).typeText('[email protected]');
await element(by.id('password')).typeText('123456');
await element(by.text('Login')).tap();
await expect(element(by.text('Welcome'))).toBeVisible();
await expect(element(by.id('email'))).toNotExist();
});
});
特性
- 跨平臺(tái):用 JavaScript 編寫(xiě)跨平臺(tái)測(cè)試,目前支持 iOS 和安卓。
- 支持在設(shè)備上運(yùn)行(iOS 尚不支持):像真實(shí)用戶一樣在設(shè)備/模擬器上測(cè)試應(yīng)用程序
- 自動(dòng)化 Synchronized:可監(jiān)視應(yīng)用程序中的異步操作
- 專為 CI 打造:在 Travis 等 CI 平臺(tái)上執(zhí)行端到端測(cè)試
- 獨(dú)立的測(cè)試運(yùn)行器:使用 Jest、Mocha、AVA 或任何其他喜愛(ài)的 JavaScript 測(cè)試運(yùn)行器
- 可調(diào)試:使用現(xiàn)代
async-awaitAPI,使異步測(cè)試中的斷點(diǎn)按預(yù)期工作
評(píng)論
圖片
表情
