我们正在使用ROBOT框架来执行自动化测试用例。 任何人都可以指导我编写测试结果的电子邮件通知脚本。
注意: 我有电子邮件服务器的详细信息。
此致 -kranti
答案 0 :(得分:1)
我使用smtplib和MIMEText
import smtplib
from email.mime.text import MIMEText
class EmailClient():
def __init__(self, my_address):
self.my_address = my_address
def send(self, message, subject, user, email):
header = "Hello " + str(user) + ",\n\n"
footer = "\n\n-Your Boss"
msg = MIMEText(header + message + footer)
msg['Subject'] = subject
msg['From'] = self.my_address
msg['To'] = email
s = smtplib.SMTP('localhost')
s.sendmail(self.my_address, [email], msg.as_string())
s.quit()
EClient = EmailClient("MyEmail@University.edu")
EClient.send("This is a test Email", "Test Subject", "John Doe", "jdoe@University.edu")
答案 1 :(得分:1)
您可以使用jenkins来运行Robot Framework Testcases。 jenkins中有一个自动生成的邮件选项,用于发送带有测试结果的邮件。
答案 2 :(得分:1)
您可以为发送电子邮件创建自定义库。
中的更多详情我做了类似的事情,我基于这个article来创建库。
python文件中函数的一个示例:
import smtplib
from io import StringIO
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import encoders
import os
def send_mail_no_attachment(server, from_user, from_password, to, subject, text):
msg = MIMEMultipart()
msg['From'] = from_user
msg['To'] = to
msg['Subject'] = subject
msg.attach(MIMEText(text))
mailServer = smtplib.SMTP(server)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(from_user, from_password)
mailServer.sendmail(from_user, to, msg.as_string())
mailServer.close()
在机器人文件中调用该函数:
*** Test Cases ***
example mail
send mail no attachment ${SMTP_SERVER} ${USER} ${PASS} ${mail} ${subject} ${text}
如果您不熟悉机器人框架,请仅定义函数,不要定义类,并且可以在算法中将此函数作为关键字调用。
答案 3 :(得分:0)