zoukankan      html  css  js  c++  java
  • 记录java接口自动化模板优化

    项目路径说明

    内容优化

    优化内容

    1.自动生成的测试报告集成至项目中,可直接通过项目访问测试报告(之前生成测试报告位于项目外,需要手动打开) 优化效果:

    2.后续会增加allure测试报告集成使用(实际效果,这里是web测试使用的allure报告)

    3.增加邮件发送功能(定时任务触发用例后,生成的测试报告通过邮件发送)
    部分代码

    public class SendEmail {
    ​
        private String smtpHost; // 邮件服务器地址  
        private String sendUserName; // 发件人的用户名  
        private String sendUserPass; // 发件人密码  
        private MimeMessage message; // 邮件对象  
        private Properties properties = new Properties();  
        private Session session;  
        private Multipart mp ;// 附件添加的组件  
        private List<FileDataSource> files = new LinkedList<FileDataSource>();// 存放附件文件  
        private SendEmail(String smtpHost, String sendUserName, String sendUserPass, String to, String cc, String mailSubject, String mailBody,
                          List<String> attachments) {
            this.smtpHost = smtpHost;  
            this.sendUserName = sendUserName;  
            this.sendUserPass = sendUserPass;
    ​
            init();  
            setFrom(sendUserName);
            setTo(to);  
            setCC(cc);  
            setSubject(mailSubject);  
            setBody(mailBody);  
            if (attachments != null) {  
                for (String attachment : attachments) {  
                    addFileAffix(attachment);  
                }  
            }
            send();
        }
    ​
    ​
    ​
        /** 
         * 邮件实体 
         *  
         * @param smtpHost 
         *            邮件服务器地址 
         * @param sendUserName 
         *            发件邮件账号
         * @param sendUserPass 
         *            邮箱的SMTP生成密码
         * @param to 
         *            收件人,多个邮箱地址以半角逗号分隔 
         * @param cc 
         *            抄送,多个邮箱地址以半角逗号分隔 
         * @param mailSubject 
         *            邮件主题 
         * @param mailBody 
         *            邮件正文 
         * @param  attachments
         *            附件路径 
         * @return 
         */  
        public static SendEmail entity(String smtpHost, String sendUserName, String sendUserPass, String to, String cc, String mailSubject, String mailBody,
                                                         List<String> attachments) {
            return new SendEmail(smtpHost, sendUserName, sendUserPass, to, cc, mailSubject, mailBody, attachments);
        }
    

    配置文件配置邮箱服务器信息

    配置文件定时任务触发testNG套件用例

    #定时任务配置
    #'index.job': '0 0 0 * * ?'
    #'thirdOrderCancel.job': '0 0/60 * * * ?'
    'autoRefund.job': '0 0/60  * * * ?'
    #'deleteCosUploadImg.job': '0 0 * * * ?'
    

    定时任务触发类

    //通过配置文件执行定时任务运行testng.xml文件
    @Service
    public class TimeTask {
        /**
         * 邮箱服务器
         */
        @Value("${spring.mail.host}")
        private String host;
        /**
         * 发邮件的人的账户
         */
        @Value("${spring.mail.username}")
        private String userName;
        /**
         * 发邮件的人的密码
         */
        @Value("${spring.mail.password}")
        private String password;
        /**
         * 发给谁
         */
        @Value("${test.mail.send}")
        private String toSend;
        /**
         * 抄送人
         */
        @Value("${test.mail.cc}")
        private String cc;
    ​
        @Scheduled(cron = "${autoRefund.job}")
        public void runTest() throws Exception {
            System.out.println("----------开始执行测试用例----------");
            TestNG testNG = new TestNG();
            List<String> suites = new ArrayList<String>();
            suites.add("src\\main\\resources\\testNG.xml");
            testNG.setTestSuites(suites);
            testNG.run();
            //打包成zip包位置
            String targetPath = "D:\\";
            //项目静态文件路径
            SendEmail.compressedFile("F:\\00_3IdeaProjects\\HttpClientUtils\\HttpClient\\src\\main\\resources\\static", targetPath);
            List<String> fileList = new ArrayList<>();
            fileList.add("D:\\static.zip");
            SendEmail.entity(host, userName, password, toSend, cc, "test", "1234123412", fileList);
        }
    }
    ​
    

    实际效果

    控制台输出信息image

    通过控制台日志可以看到生成的测试报告static被压缩成.zip包从一个邮件发送至另一个邮箱。
    image

    收件邮箱成功收到发送的测试报告数据下载打开测试报告数据

    打开接收的测试报告,展示正常

    由于近期比较忙,优化未完待续更新...

    源码传送门


    更多测试技术分享、学习资源以及一些其他福利可关注公众号:【Coding测试】获取:
    Coding测试

  • 相关阅读:
    第09组(71) Alpha冲刺 (3/6)
    第09组 Alpha冲刺 (2/6)
    第09组 Alpha冲刺 (1/6)
    第09组(71)需求分析报告
    第07组 Beta冲刺(1/5)
    第07组 Alpha冲刺 总结
    第07组 Alpha冲刺 (6/6)
    第07组 Alpha冲刺 (5/6)
    第五次作业
    第07组 Alpha冲刺 (4/6)
  • 原文地址:https://www.cnblogs.com/CodingTest/p/13748341.html
Copyright © 2011-2022 走看看