定向班第一期_企业微信 app 实战_20190127

企业微信

adb shell am start -W -n com.tencent.wework/.launch.LaunchSplashActivity  -S

企业微信测试用例

业务流程

部门管理

  • 添加部门
  • 删除部门

成员管理

  • 添加成员到特定部门
  • 搜索成员

企业微信的Page对象

  • 首页Page
  • 通讯录Page
  • 管理通讯录Page

代码实现

封装方向

测试框架核心

  • API对象:完成对接口的封装
  • 接口测试框架:完成对api的驱动
  • 配置模块:完成配置文件的读取
  • 数据封装:数据构造与测试用例的数据封装
  • Utils:其他功能封装,改进原生框架不足
  • 测试用例:调用Page/API对象实现业务并断言

测试用例构建体系

  • 使用package管理业务模块
  • 使用class管理业务功能
  • 使用method完成业务具体行为
  • 使用配置文件读取初始配置
  • 使用继承规划用例执行顺序
  • 使用testcase完成测试用例的落地
  • 使用assertion完成业务正确性校验
  • 使用数据文件管理用例的数据驱动
  • 使用jenkins完成持续集成

改进方向

数据清理策略

  • 使用接口删除所有数据
  • 数据库可以,不建议,以为对环境依赖太大

元素定位

  • 滑动定位封装
  • xpath定位封装
  • 弹框处理 getPageSource + xpath
  • 雪球的行情按钮 是动态变化的内容。使用两次定位来解决 可以独立封装方法findByDynamic

多平台封装

  • 自己封装Element传递快平台的定位数据,然后封装对应的定位和action
  • 数据驱动or配置驱动
  • appium提供的po注解

企业微信bug

  • 删除所有子部门后没有提示父部门“无部门成员”

Appium bug

  • 滑动列表内的选择有问题

JUnit5的执行问题

2.22版本的surefire才正式原生支持


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
            </plugin>
        </plugins>
    </build>

作业

  • 完成微信app的用户添加的测试用例,使用PO封装
  • 把元素定位用配置驱动实现

把项目的github地址贴到回复里

关闭