Macaca Native App 测试用例原则

达峰的夏天 · 2018年03月19日 · 最后由 达峰的夏天 回复于 2018年03月20日 · 2638 次阅读

上一篇 - Macaca Web 测试最佳实践

前言

上篇提到了 Web 测试的几个原则,其中 用例原子性 在 Native 测试过程同样需要遵循。以 Macaca 官方提供的样版应用为例,在用例组织会以如下方式组织:

  • 保证每个 case 流程都能够单独运行
  • 每次运行完成后恢复到初始状态,如果有使用 DataHub 做数据驱动模式,DataHub 也需要 reset 到默认数据场景。
describe('macaca-test/mobile-app-sample.test.js', function() {
  before(function() {
    return driver
      .init()
      .sleep(10 * 1000);
  });

  after(function() {
    return driver
      .sleep(1000)
      .quit();
  });

  beforeEach(() => {
    return driver
      .getWindowSize()
      .then(size => {
        console.log(`current window size ${JSON.stringify(size)}`);
      })
      .appLogin('中文+Test+12345678', '111111');
  });

  afterEach(function() {
    return driver
      .customSaveScreenshot(this)
      .changeToNativeContext()
      .waitForElementByName('PERSONAL')
      .click()
      .sleep(1000)
      .waitForElementByName('Logout')
      .click()
      .sleep(1000);
  });

  describe('home page test', function() {
    it('should display home', function() {
    });

    it('should goto tableview', function() {
    });
  });

  describe('webview page test', function() {
    it('should go into webview', function() {
    });

    it('should open remote url', function() {
    });
  });
});

自己试试?

$ git clone https://github.com/macaca-sample/sample-nodejs.git --depth=1
$ npm i
$ npm run test:ios

欢迎讨论,互相学习。

微博: http://weibo.com/xudafeng
Github: https://github.com/xudafeng

下一篇 - 全周期的数据环境方案 - Macaca DataHub

共收到 2 条回复 时间 点赞
达峰的夏天 Macaca Web 测试最佳实践 中提及了此贴 03月19日 21:36
达峰的夏天 测试方法论——数据驱动测试 中提及了此贴 03月19日 21:59

数据环境处理真的是个比较麻烦的事情,特别是我们的 APP,后台是 oracle,不知道怎么处理比较好。

@quxin

  • 以往的数据驱动我们通过在用例执行时读入一定的 mock 数据,缺少场景管理和服务化
  • 不管你产品的物理存储使用哪家的数据库,都可以做端到端 mock 的
达峰的夏天 全周期的数据环境方案 - Macaca DataHub 中提及了此贴 03月22日 12:06
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册