移动端自动化测试 Appium 框架之数据驱动

本文介绍了如何在移动端自动化测试中使用 Appium 框架实现数据驱动。通过将数据与业务分离,提高测试的专业性和灵活性。内容包括前置条件(如Appium环境搭建)、元素读取工具类、文件读取操作、元素等待查找工具类、元素定位类、基础启动类和业务组合测试类的详细说明,提供了一种实用的数据驱动测试方案。
摘要由CSDN通过智能技术生成

背景

自动化是为业务测试服务,如果数据与业务放在一起看起来不是专业,把数据与业务分离是完全必要的,这也是市场常见的数据驱动框架,今天咱们就聊一聊怎么搭建自己数据驱动框架。

前置条件

Appium 环境搭建成功,不会参考自动化工具之 Appium 入门文章,实在不会在参考网上怎么搭建。

主要实

UI 自动化框架元素放文本存储、数据存储、代码直接存储等其实随便那个都行,只有自己用者方便就行,我工作中用文本文件存储,这样修改方便,脚本放 SVN/Git 管理就行,UI 自动元素操作基本常见的就是 ID/NAME/XPATH 等这几种,咱们写一个工具转换类即可。

元素读取工具类

/**
     * 移动端元素定位
     *
     * @return
     * @param: name
     */
    public By getLocatorApp(String name) {
        String locator = properties.getProperty(name.trim());
        String locatorType = locator.split(">>")[0].toLowerCase();
        String locatorValue = locator.split(">>")[1];
        if (locatorType != null && locatorType != null) {
            logger.info("获取元素key: " + name + "\t 获取的定位类型:" + locatorType + "\t 获取的定位表达式: " + locatorValue);
            // 根据 locatorType 的变量值内容判断,返回何种定位方式的 By 对象
            return getkeyVule(locatorType, locatorValue);
        } else {
            new RuntimeException("元素没有获取到!");
            return null;
        }

    }



    /**
     * 读取元素
     * @param locatorType
     * @param locatorValue
     * @return By
     */
    public By getkeyVule(String locatorType, String locatorValue) {
        if ("id".equals(locatorType.toLowerCase())) {
            return By.id(locatorValue);
        } else if ("name".equals(locatorType.toLowerCase())) {
            return By.name(locatorValue);
        } else if (("classname".equals(locatorType.toLowerCase())) || ("class".equals(locatorType.toLowerCase()))) {
            return By.className(locatorValue);
        } else if (("tagname".equals(locatorType.toLowerCase())) || ("tag".equals(locatorType.toLowerCase()))) {
            return By.className(locatorValue);
        } else if (("linktext".equals(locatorType.toLowerCase())) || ("link".equals(locatorType.toLowerCase()))) {
            return By.linkText(locatorValue);
        } else if ("partiallinktext".equals(locatorType.toLowerCase())) {
            ret
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值