uni-app 自动化测试的每个页面的测试执行顺序及页面之间跳转的测试执行顺序?

uni-app 自动化测试的每个页面的测试执行顺序及页面之间跳转的测试执行顺序?

开发环境 版本号 项目创建方式
微信小程序 - -

我对项目进行微信小程序的自动化,进入的首页A页面执行对应的测试用例,每个页面的测试用例执行顺序是什么样的?

然后其中有首页A页面跳转到B页面的逻辑,这时候A测试过程中会执行B的测试用例吗?然后B的测试用例执行时机是什么?

2 回复

顶一下

更多关于uni-app 自动化测试的每个页面的测试执行顺序及页面之间跳转的测试执行顺序?的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app中进行自动化测试时,确保每个页面的测试执行顺序以及页面之间跳转的测试执行顺序,通常可以通过编写有序的测试用例来实现。这里我们可以使用@wdio/appium-service@wdio/unidriver-service等WebDriverIO服务来编写自动化测试脚本。下面是一个示例,展示如何使用WebDriverIO和Mocha测试框架来定义和执行测试顺序。

首先,确保你已经安装了必要的依赖:

npm install --save-dev webdriverio @wdio/mocha-framework @wdio/appium-service

然后,配置wdio.conf.js文件,指定测试服务、框架和相关的设置:

exports.config = {
    runner: 'local',
    specs: ['./test/**/*.js'], // 测试用例文件位置
    maxInstances: 1,
    capabilities: [{
        platformName: 'Android', // 或 'iOS'
        deviceName: 'emulator-5554', // 设备名称或模拟器ID
        app: 'path/to/your/uni-app.apk' // 应用的路径
    }],
    services: ['appium'],
    framework: 'mocha',
    mochaOpts: {
        ui: 'bdd',
        timeout: 60000
    }
};

接下来,编写测试用例。假设你有两个页面:Page1Page2,并且你想测试从Page1跳转到Page2,然后再返回Page1

// test/page1.test.js
describe('Page1 Tests', () => {
    it('should be on Page1 initially', async () => {
        const title = await browser.getTitle();
        expect(title).to.equal('Page1 Title');
    });

    it('should navigate to Page2', async () => {
        await $('#navigateToPage2Button').click();
        await browser.pause(2000); // 等待页面跳转
        const title = await browser.getTitle();
        expect(title).to.equal('Page2 Title');
    });
});

// test/page2.test.js
describe('Page2 Tests', () => {
    it('should be on Page2 after navigation', async () => {
        const title = await browser.getTitle();
        expect(title).to.equal('Page2 Title');
    });

    it('should navigate back to Page1', async () => {
        await $('#navigateToPage1Button').click();
        await browser.pause(2000); // 等待页面跳转
        const title = await browser.getTitle();
        expect(title).to.equal('Page1 Title');
    });
});

注意:

  1. 测试用例的执行顺序由Mocha的describeit块定义。describe块内的it块会按顺序执行。
  2. 使用browser.pause(ms)来等待页面加载,实际项目中可能需要更精细的等待机制,比如browser.waitForExist()
  3. 选择器(如$('#navigateToPage2Button'))需要根据实际页面元素调整。

通过这种方式,你可以定义和控制uni-app中每个页面的测试执行顺序以及页面之间的跳转测试顺序。

回到顶部