需求是,allure生成报告以后,发送测试报告邮件,邮件正文需要带着allure的报告链接。
然后我开始了踩坑的经历,先是指定IP+PORT
这时候,我发现第一次是没有任何问题的,但是再次执行的时候,端口号变了,所以指定端口号,访问的总是相同的测试报告,而不是最新的测试报告。
我如何处理呢?我先是加了一步清理放置生成结果的操作,但是清理后,问题依旧
查了一下资料,似乎没办法修改allure的代码,让每次的报告PORT不随机
所以,我换了一个思路,每次生成报告的时候指定端口,这个端口是一个随机数
port = random.randint(20000, 40000)
os.popen("allure serve " + "./result" + " -h 192.168.1.120 -p " + str(port))
发报告的时候,这个处理
email_config(email_list, "http://192.168.1.120:" + str(port) + "/index.html", ap.word_message)
这样每次发送邮件,拿到的都是最新的PORT,访问的自然也是最新的报告