全国咨询/投诉热线:400-618-4000

Appium自身非必现bug影响自动化测试正常运行如何解决?

更新时间:2019年10月09日15时15分 来源:传智播客 浏览次数:

在进行软件UI自动化测试的时候,经常会出现非被测软件bug导致的测试执行失败,常见原因包括:测试脚本的问题、网络问题、产品UI的变更等等。还有一种情况是测试工具自身的bug,特别是偶现的bug并且开源的自动化测试工具还没有修复该bug的时候,我们关心的是如何绕过这个已知bug继续使用appium进行其他场景的自动化测试,本文通过一个实例进行分析,分两步阐述。【推荐了解:软件测试培训课程

一、使用appium测试抖音软件

目标

使用appium进行抖音主页的自动化测试,发现导致脚本执行失败的非必现appium自身的bug

具体场景

1. 使用appium连接安卓手机后运行脚本打开抖音主页


Appium自身非必现bug解决方法1

1. 使用脚本向上滑动屏幕刷新抖音内容

2. 使用脚本对新出现的内容进行点赞等操作

3. 发现自动化脚本在进行点赞操作时有时脚本会运行失败,排查后发现原因是有时appium执行向上滑动操作失败

4. 因为向上滑动操作在实际编写的很多自动化测试脚本中都用到,这步失败会影响后面的测试场景。怎样解决这个问题进行下一步测试?

二、使用try-catch跳过已知bug继续进行脚本测试

目标

跳过已知的bug继续运行自动化测试脚本试图发现其他场景的bug

步骤

1.定义向上滑动的方法


private void huadong() {
       int width = driver.manage().window().getSize().width;
       int height = driver.manage().window().getSize().height;
       int y1 = height * 3 / 4; // 上滑的开始点,从y1开始也就是屏幕的四分之三处
       int y2 = height * 1 / 4; // 上滑的结束点,到y2结束也就是屏幕的四分之一处
       TouchAction tAction = new TouchAction(driver);
       tAction.press(width / 2, y2).waitAction(Duration.ofSeconds(1 / 4)).moveTo(width / 2, y1).release().perform();
    }
2.使用try-catch调用huadong()方法,接收appium滑动出错后抛出的异常,使脚本可以继续运行
try {
        huadong();
    } catch (Exception e) {
        System.out.println("滑动出错");
    }

3.继续运行脚本的其他的点击操作,比如点赞、转发等等

appium进行ui自动化

总结:在使用appium进行ui自动化时由于该工具本身的一些偶现bug导致脚本执行失败,可以通过java中的try-catch进行异常捕获后继续运行剩余的脚本,保证了测试脚本的正常运行。同时出现异常时打印的语句也可以在appium server的控制台中进行查看。

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额