美文网首页
UI自动化测试(2)

UI自动化测试(2)

作者: hellokitty小丸子 | 来源:发表于2018-06-22 10:22 被阅读0次

        接上一篇,自动化还在推动,脚步还在继续向前走,上回说到获取最近一次运行生成的log,获取完log后接下来当然就是对其进行分析,最后得出一个明确的结果展现出来。接下来的内容会总结一些当时遇到的问题已经需要注意的地方

一、读取log,检验关键字是否存在

问题原因:

在这里就不得不说走过的一些弯路了,在这里给小伙伴提个醒。顾名思义,寻找关键字最先想到的一定是find这个方法,但是用这个方法要注意了:如果不包含字符串会返回-1。我们想要达到的预期结果是:判断该行中存在预期关键字继续下一步。然而,运行发现实际情况并不符合我们的预期,被检查的行并不包含我们预期的关键字,但是程序还是会继续执行。

解决办法:

既然上述我们找到了问题原因所在,所以只需对症下药,对find这个方法的使用添加不等于-1的限制即可。或者我们可以直接采用另外一种方法in,如果关键字存在返回true,否则返回false。这个方法使用简单、方便,也避免了当我们忽略返回值时可能造成的问题,减少了隐患。

二、生成动态数组

问题原因:

在自动化测试中,我们有很多个用例,希望把对每个用例执行结果的分析结果存入一个数组。为了易用性和灵活性,当然希望此数组为一个动态数组了。

解决办法:

基本思想是在list中动态添加list,python中有一个append() 方法,用于在列表末尾添加新的对象。我们需要定义一个存所有结果分析的空数组x,然后将每个用例的分析结果以一个个数组的形式,用append方法添加到数组x中即可。这样不管有多少用例,我们都可以将每个用例的结果分析添加到x中,既灵活又节省了资源。

三、加密发送邮件

这个其实不算一个问题啦,使用标准的25端口连接SMTP服务器时,使用的是明文传输,发送邮件的整个过程可能会被窃听。要更安全地发送邮件,可以加密SMTP会话,实际上就是先创建SSL安全连接,然后再使用SMTP协议发送邮件,故需将smtplib.SMTP() 改成了smtplib.SMTP_SSL()。如果未指定主机,则使用“(本地主机)”。如果省略端口,则使用标准的SMTP-over-SSL端口(465)。

四、  多个收件人

问题原因:

分析log完成后自然要将结果展示给大家看,一个普遍的方式就是给相关人员发邮件。那么问题来了,肯定不是给一个人发,这就涉及到给多人发送邮件的问题。一开始觉得这完全没问题,然而,使用sendmail进行邮件发送,mailInfo["to"]为逗号分隔的str类型,结果只有第一个邮件地址能收到邮件。

解决办法:

经过多次测试发现MIMEText()["to"]的数据类型与sendmail(from_addrs,to_addrs,...)的to_addrs不同;前者为str类型,多个地址使用逗号分隔,后者为list类型。

receiverList='liming@xx.com,lihua@xx.com'

receiverList = string.splitfields(receiverList, ",")

相关文章

网友评论

      本文标题:UI自动化测试(2)

      本文链接:https://www.haomeiwen.com/subject/ylycyftx.html