专栏首页FunTesterandroid UiAutomator让运行失败的用例重新运行

android UiAutomator让运行失败的用例重新运行

本人在使用android UiAutomator做测试的时候,发现经常会因为页面加载太慢或者网络延迟比较大又或者出现意外情况导致用例失败,但是在检查的时候又能运行成功,提出了一个让失败的用例重新运行的需求,经过尝试终于成功了,使用excel作为测试报告的类型,html的类似,下面分享一下运行的代码,供大家参考。

List<String[]> firstsheet = new ArrayList<String[]>();//新建list,用于存放每个测试用例的测试结果
        String[] title = {"编号", "用例名", "运行状态", "错误信息", "错误行Library", "错误行Special", "错误行Case", "开始时间", "结束时间"};
        firstsheet.add(title);//把标题行先加入表信息
        new RunHelper(jarname, "1");//新编译jar包并push到手机上
        setMobileInputMethodToUtf();//设置手机输入法为UTF-7
        for(int i = 0;i < MethodList.size(); i++){//遍历运行所有方法  
            String[] result = execCmdAndReturnResult(jarname, "student.Case", MethodList.get(i), i);//运行测试用例  
            firstsheet.add(result);//将此次用例的测试结果放入list中  
            }
        List<String[]> secondsheet = new ArrayList<String[]>();//新建list,用于存放第二次的测试结果
        secondsheet.add(title);//把标题加入表中
        //遍历第一遍测试结果
        for(int s =0;s < firstsheet.size();s++){
            String[] result = firstsheet.get(s);//遍历每一个用例的运行结果
            if (!result[2].equals("运行成功")) {//获取运行未成功的用例集
                String[] second = execCmdAndReturnResult(jarname, "student.Case", result[1], s);//重新运行未成功用例
                secondsheet.add(second);//把第二次运行的结果加入了第二张表中
            }
        }
        Map<Integer, List<String[]>> report = new HashMap<Integer, List<String[]>>();//新建map,用于存放多张表格数据
        report.put(1, firstsheet);//把第一个表格的测试数据放入要写入到map里 
        report.put(2, secondsheet);//把第二个表格的测试数据放入要写入的map里
        Excel.writeXlsx(report);//把测试报告写入excel表格中

这次的注释写得有点乱,大家将就看看,希望能对你有所帮助。

本文分享自微信公众号 - FunTester(NuclearTester),作者:八音弦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用Python+plotly制作接口请求时间的violin图表

    本人在做接口测试的过程中,每次请求接口时都会自己计算一个请求时间存在数据库里,时间一长积累了很多数据,在学习Python+plotly进行数据可视化后,终于对接...

    八音弦
  • 接口批量上传文件的实例

    本人在做接口测试中,遇到一个活儿,将一批图片上传到服务器,12000+,在一个文件夹中不同的文件夹里面,由于上传文件过多,只能写脚本批量上传。也算是自动化的一部...

    八音弦
  • httpclient爬虫爬取汉字拼音等信息

    下面是使用httpclient爬虫爬取某个网站的汉字相关信息的实践代码,中间遇到了一些字符格式的问题。之前被同事见过用html解析类来抓取页面信息,而不是像我现...

    八音弦
  • Android 拓展Logger细节分享

    首先感谢orhanobut/logger库的作者提供了这么好用的日志管理工具。Github传送门 本文以orhanobut/logger为基础,通过阅读源码后...

    饮水思源为名
  • ASP.NET 管道

    莫问今朝
  • StringBleed:SNMP协议“上帝模式”漏洞影响多种网络设备

    近期,据来自南美的两位安全研究者发现,SNMP(简单网络管理协议)的v1和v2版本协议存在授权认证和访问控制绕过漏洞,至少有78种型号的网络接入和IoT设备受此...

    FB客服
  • 2018年预计仍将持续活跃走高的数字货币都有哪些?

    2017年马上要过去了,在这辞旧迎新的时刻,有一个开放式问题,“2017年你最后悔的是什么事?” 每个人都有自己的答案,我来说一个对99%的人都适用的:那就是没...

    企鹅号小编
  • 《Head First 设计模式》学习心得笔记

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/...

    剑影啸清寒
  • ACMer刷了数千道算法题,私藏的刷题网站都在这里了!

    遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活...

    AI算法与图像处理
  • 刷了几千道算法题,这些我私藏的刷题网站都在这里了!

    遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活...

    帅地

扫码关注云+社区

领取腾讯云代金券