java接口自动化框架优化(二)

项目路径说明

内容优化

优化内容

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

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

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测试】获取:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350