selenium自动化入门之实现163邮箱发送邮件

实现一个入门级的UI自动化测试,实现163邮箱登录,及发送邮件功能。基于最基本的代码,元素定位,切换iframe。基于测试框架-unittest实现,最后生成测试报告。

1. 代码编写

直接上代码:

from selenium import webdriver
from time import sleep
import unittest

class Wangyi(unittest.TestCase):
    def test_wang(self):
        driver=webdriver.Chrome()

        '''访问163网店'''
        driver.get('https://email.163.com/#module=welcome.WelcomeModule%7C%7B%7D')
        '''将窗口最大化'''
        driver.maximize_window()
        '''等待1秒'''
        sleep(1)

        '''断言页面标题正确'''
        dl_title='网易免费邮箱'
        self.assertIn(dl_title,driver.title,'网易免费邮箱')

        '''切换到登录框的iframe'''
        driver.switch_to.frame(0)
        sleep(2)
        '''清空帐号输入框'''
        driver.find_element_by_name('email').clear()
        '''输入帐号及密码'''
        driver.find_element_by_name('email').send_keys('XXXX')
        driver.find_element_by_name('password').send_keys('XXXX')
        sleep(1)
        '''点击登录按钮'''
        driver.find_element_by_id('dologin').click()
        sleep(2)
        '''点击写信按钮'''
        driver.find_element_by_id('_mail_component_132_132').click()
        sleep(2)
        '''收件人中填写收拾人邮箱'''
        driver.find_element_by_class_name('nui-editableAddr-ipt').send_keys('315474291@qq.com')
        sleep(1)
        '''填写想要输入的主题'''
        driver.find_element_by_xpath("//div[@class = 'bz0']/div/input[@class = 'nui-ipt-input']").send_keys('这是一封测试邮件')
        sleep(1)
        '''退出当前iframe'''
        driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@class,'APP-editor-iframe')]"))
        '''点击邮件内容,并输入想要输入的邮件详情'''
        driver.find_element_by_xpath('/html/body').send_keys('测试网易登录和写邮件')
        sleep(1)
        '''退出当前iframe'''
        driver.switch_to.default_content()

        '''点击发送按钮,邮件发送成功'''
        driver.find_element_by_xpath('//*[@class="jp0"]/div[@role="button"][1]').click()
        sleep(2)
      
        '''关闭浏览器'''
        driver.quit()

if __name__ == '__main__':
    '''当前测试用例的路径,./表示当前目录'''
    yl=r'./'
    
    '''加载用例'''
    discover = unittest.defaultTestLoader.discover(yl,'test_poium.py')
    
    '''指定位置保存测试报告'''
    file_path='./report/send_email.html'
    with open(file_path,'wb') as rf:
        '''指定测试输出报告,及标题,描述'''
        runner=HTMLTestRunner.HTMLTestRunner(stream=rf,title='163邮件登录及发送邮件的测试报告',description='基于unittest的selenium自动化测试')

        '''运行测试用例并输入测试报告'''
        runner.run(discover)

2. 运行结果

1. 代码运行成功

在这里插入图片描述

2. 目录中生成测试报告

在这里插入图片描述

3. 查看测试报告详情

用浏览器中打开测试报告,查看运行详情。
在这里插入图片描述
ps: 这是最普通的入门操作,很有很多优化空间,下一篇将对senium的代码优化,当下最流行地的POM设计模式,再次实现163邮箱的登录及发送邮件。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值