日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:腳本示例
  • 腳本示例
    • 完整示例
    • 測(cè)試對(duì)象
    • 初始化環(huán)境
    • 腳本編寫(xiě)
      • 1. 測(cè)試搜索框文字
      • 2. 測(cè)試列表項(xiàng)
      • 3. 測(cè)試列表項(xiàng)行為
    • 腳本執(zhí)行

    腳本示例

    智能小程序自動(dòng)化 SDK 本身不提供測(cè)試框架。這意味著你可以將它與市面上流行的任意 Node.js 測(cè)試框架結(jié)合使用,以此來(lái)達(dá)到編寫(xiě)小程序測(cè)試用例的目的。接下來(lái)將使用 Jest 測(cè)試框架來(lái)編寫(xiě)一個(gè)實(shí)際的小程序自動(dòng)化測(cè)試。

    創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),橫山企業(yè)網(wǎng)站建設(shè),橫山品牌網(wǎng)站建設(shè),網(wǎng)站定制,橫山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,橫山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

    完整示例

    以下講解內(nèi)容的完整示例可以從 點(diǎn)擊這里 下載,確保 運(yùn)行環(huán)境 符合要求后,執(zhí)行以下命令,即可開(kāi)始在工具中運(yùn)行自動(dòng)化測(cè)試。

     
     
     
    1. npm install
    2. npm run test

    Tips: 如果在安裝jest過(guò)程中出現(xiàn)下圖提示,請(qǐng)點(diǎn)擊“安裝”。

    接下來(lái),我們分步驟對(duì)整個(gè)測(cè)試用例的編寫(xiě)過(guò)程進(jìn)行介紹。

    測(cè)試對(duì)象

    這里以小程序示例為測(cè)試對(duì)象,將 小程序示例 的源碼下載到本地,然后打開(kāi)小程序開(kāi)發(fā)者工具,將該項(xiàng)目導(dǎo)入進(jìn)去。

    初始化環(huán)境

    新建文件夾test目錄用于放置測(cè)試代碼,執(zhí)行以下命令安裝依賴:

     
     
     
    1. npm i swan-automator jest --save-dev

    按照 快速開(kāi)始 中的使用說(shuō)明安裝符合要求的開(kāi)發(fā)者工具版本并配置運(yùn)行環(huán)境。

    腳本編寫(xiě)

    現(xiàn)在我們準(zhǔn)備為小程序示例的組件首頁(yè)編寫(xiě)測(cè)試用例,如下圖所示:

    創(chuàng)建測(cè)試文件 test/component.spec.js 后,首先要做的是:

    1. 啟動(dòng)并連接工具
    2. 重新啟動(dòng)小程序到組件首頁(yè)
    3. 斷開(kāi)連接并關(guān)閉工具

    對(duì)應(yīng)腳本如下:

     
     
     
    1. const automator = require('swan-automator');
    2. describe('index', () => {
    3. let smartProgram;
    4. let page;
    5. beforeAll(async () => {
    6. smartProgram = await automator.launch({
    7. projectPath: 'path/to/swan-demo'
    8. });
    9. page = await smartProgram.reLaunch('/pages/component/component');
    10. }, 50000);
    11. afterAll(async () => {
    12. await smartProgram.close();
    13. });
    14. });

    開(kāi)發(fā)者工具項(xiàng)目窗口啟動(dòng)及初次編譯需要一定時(shí)長(zhǎng),Jest 默認(rèn) 5 秒超時(shí)太短,需修改。

    1. 測(cè)試搜索框文字

    1. 通過(guò) text 選擇器獲取目標(biāo)元素
    2. 目標(biāo)元素應(yīng)該是個(gè) text 組件
    3. 目標(biāo)元素應(yīng)該包含有“搜索組件和接口”的文本

    對(duì)應(yīng)腳本如下:

     
     
     
    1. it('text', async () => {
    2. const text = await page.$('text');
    3. expect(text.tagName).toBe('text');
    4. expect(await text.text()).toContain('搜索組件和接口');
    5. });

    2. 測(cè)試列表項(xiàng)

    1. 獲取列表元素集合
    2. 目標(biāo)元素集的個(gè)數(shù)應(yīng)該是 8 個(gè)
    3. 第一個(gè)列表元素的標(biāo)題應(yīng)該是“視圖窗器”

    對(duì)應(yīng)腳本如下:

     
     
     
    1. it('items', async () => {
    2. const lists = await page.$$('.item');
    3. expect(lists.length).toBe(8);
    4. const list = await lists[0].$('.item-desc');
    5. expect(await list.text()).toBe('視圖容器');
    6. });

    3. 測(cè)試列表項(xiàng)行為

    1. 點(diǎn)擊列表標(biāo)題應(yīng)該展示或隱藏子列表
    2. 點(diǎn)擊子列表項(xiàng)應(yīng)該會(huì)跳轉(zhuǎn)到指定頁(yè)面

    對(duì)應(yīng)腳本如下:

     
     
     
    1. it('item action', async () => {
    2. const className = 'item-close';
    3. const firstItem = await page.$('.item');
    4. expect(await firstItem.attribute('class')).toContain(className);
    5. await firstItem.tap();
    6. expect(await firstItem.attribute('class')).toEqual(expect.not.stringContaining(className));
    7. await firstItem.tap();
    8. expect(await firstItem.attribute('class')).toContain(className);
    9. await firstItem.tap();
    10. const subItem = await page.$('.sub-item');
    11. await subItem.tap();
    12. await page.waitFor(500);
    13. expect((await smartProgram.currentPage()).path).toBe('pages/view/view');
    14. });

    腳本執(zhí)行

    編寫(xiě)完腳本后直接執(zhí)行以下腳本:

     
     
     
    1. npx jest test/component.spec.js

    如果看到控制臺(tái)輸出以下信息,說(shuō)明測(cè)試成功。

     
     
     
    1. PASS test/component.spec.js (23.384s)
    2. index
    3. text (82ms)
    4. items (34ms)
    5. item action (642ms)
    6. Test Suites: 1 passed, 1 total
    7. Tests: 3 passed, 3 total
    8. Snapshots: 0 total
    9. Time: 24.522s, estimated 33s
    10. Ran all test suites matching /test\/component.spec.js/i.

    本文名稱:創(chuàng)新互聯(lián)百度小程序教程:腳本示例
    網(wǎng)站地址:http://www.5511xx.com/article/coijjgh.html