我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

Selenium_焦新瑞_20210302

[复制链接]
8487学员认证 发表于 2021-3-2 18:36:43 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、单元测试
1.内置方法#在所有用例之前执行,并且只执行一次
    @classmethod
    def setUpClass(cls):

#在所有方法前面执行
    @classmethod
    def setUpClass(self):

#在所有方法后面执行
    @classmethod
    def tearDownClass(self):


#在所有用例之后执行,并且只执行一次
    @classmethod
    def tearDownClass(cls):
    setup()自动在每个case前执行



    def setUp(self):
    #tearDown自动在每个case后执行
    def tearDown(self):


2.自定义方法测试用例
必须以test开头
运行顺序以ASCII表执行
3.注意点
#a.必须继承unittest,TestCase
class Test(unittest.TestCase):


if __name__ == '__main__':
#b.直接运行全部用例
    unittest.main()


#c.断言
        accounts = self.page.get_realname()
        #1.第一种方式断言
        assert accounts == user,'error'
        #2.第二种方式断言
        # self.assertEqual(accounts,'user1','erreor')


二、获取exl中的数据
import openpyxl

class WorkBook:
    def get(self,path,worktable):
        #打开工作簿 workbook
        workbook = openpyxl.load_workbook(path)
        #获取指定的工作表worksheet
        worksheet = workbook[worktable]
        return [tuple(c.value for c in row) for row in worksheet][1:]


三、自动化报告
1.自动生成自动化测试报告
from base.HTMLTestRunner import HTMLTestRunner

class TestRunner:
    def runner(self):
        #实例化测试套件
        suite = unittest.TestSuite()
        #添加测试用例  discover(path路径,pattern基本特征)
        suite.addTests(unittest.TestLoader().discover(r'selenium\ranzhi\test',pattern='login_test.py'))
        #创建报告文件
        # pretime = time.strftime('%Y-%m-%d-%H:%M:%S')
        report = open(r'selenium\ranzhi\report\%sreport.html'%time.strftime('%Y-%m-%d %H-%M-%S'),mode='wb')
        #创建用例运行器
        test_runner = HTMLTestRunner(stream=report,title='Rabzhi自动化测试报告',description='报告的详细内容...')
        #运行报告
        test_runner.run(suite)


2.将自动化测试报告发送至邮箱
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib


def sender(self):
        #设置邮件服务器
        smtpserver = 'smtp.163.com'
        #设置邮件服务器端口号
        port = 25
        #发件人地址   
        sender = 'web_jxr@163.com'
        #密码或授权码
        password = 'SVAJUGUIPAATACLA'
        #收件人
        receivers = '15091835804@163.com;z744277252@163.com'
        #创建邮件对象
        mail = MIMEMultipart()
        #初始化发件人
        mail['from'] = sender
        #添加收件人
        mail['to'] = receivers
        #添加主题
        mail['subject'] = '自动化测试报告'

        #添加附件
        #读取附件
        path = 'selenium/ranzhi/report/2021-03-02 16-34-52report.html'
        with open(path,'rb') as file:
            report = file.read()
        #对附件进行编码  base64
        attachment = MIMEText(report,'base64','utf-8')
        #设置附件的类型
        attachment['Content-Type'] = 'application/octet-stream'
        #设置附件的处理方式
        attachment['Content-Disposition'] = 'attachment;filename=%s'%path.split('/')[-1]
        #添加附件
        mail.attach(attachment)

        #生成邮件正文
        content = '''
        Dear Jiao,
            this is a phone,
            Do you want?
        Tom Cruse

        '''
        #对邮件正文进行编码
        body = MIMEText(content,'html','utf-8')

        #添加正文
        mail.attach(body)

        #创建SMTP对象
        smtp = smtplib.SMTP()
        #连接服务器
        smtp.connect(smtpserver,port)
        #登录服务器
        smtp.login(sender,password)

        #发送邮件
        smtp.sendmail(sender,receivers.split(';'),mail.as_string())
        #关闭邮件服务器
        smtp.close()
        print('邮件发送完成')






回复

使用道具 举报

关注0

粉丝0

帖子26

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备2025058934号-2 )

版权所有 © 西安菁英教育科技有限公司 2023-2026