记录第一次自动化发送邮件成功

  • 第一步 准备好 HTMLTestRunner.py文件放在下面这个路径

  • 第二步 创建 “Mail163.yaml” 存放信息
testURL:  'http://mail.163.com'
user1:username: 'xxx'password: 'xxx'user2:username: 'xxx'password: 'xxxxx'
  • 第三步 创建登录和退出方法 alldriver.py
from selenium import webdriver
from time import sleepclass Mail:"""定义一个driver"""def __init__(self, driver):self.driver = driver"""登录方法"""def login(self, username, password):"""使用用户名和密码登录"""self.driver.find_element_by_id("switchAccountLogin").click()"""为了避免切换界面后,找不到元素,先等待两秒"""sleep(2)"""先定位到登录用户名和密码框所在的frame"""iframe = self.driver.find_element_by_xpath("//div[@id='loginDiv']/iframe")"""定位到frame之后,切换至frame"""self.driver.switch_to.frame(iframe)"""定位用户名输入框之后,清空输入框,输入用户名"""self.driver.find_element_by_name("email").clear()self.driver.find_element_by_name("email").send_keys(username)"""定位用户名输入框之后,清空输入框,输入用户名"""self.driver.find_element_by_name("password").clear()self.driver.find_element_by_name("password").send_keys(password)"""点击登录按钮"""self.driver.find_element_by_id("dologin").click()self.driver.switch_to_default_content()  # 跳出frame,回到主页面"""退出方法"""def logout(self):"""点击退出按钮"""self.driver.find_element_by_link_text('退出').click()
  • 第四步 调用yaml文件登录邮箱,并发送邮件 smokeCase.py
import unittest
from time import sleep
from selenium import webdriver
import yamlfrom mail.alldriver import Mailglobal driver
driver = webdriver.Firefox()
mail1 = Mail(driver)
"""定义全局变量dic"""
global dic
"""读取文件"""
f = open(r'Mail163.yaml', encoding='utf-8')
cont = f.read()
dic = yaml.load(cont, Loader=yaml.FullLoader)class TestEmail(unittest.TestCase):"""执行用例前执行一次"""@classmethoddef setUpClass(cls):url = dic['testURL']username = dic['user1']['username']password = dic['user1']['password']print(url + username + password)driver.get(url)driver.maximize_window()mail1.login(username, password)def test_case1(self):sleep(3)u"""点击写信按钮"""driver.find_element_by_xpath("//*[@id='dvNavTop']/ul/li[2]/span[2]").click()  # 点击写信u"""定位并清空收件人,输入收件人"""editableAddr = driver.find_element_by_class_name('nui-editableAddr-ipt')editableAddr.clear()  # 清空收件人editableAddr.send_keys("12340@qq.com")sleep(2)u"""输入主题"""driver.find_element_by_xpath("//*[@class='nui-ipt-input'and @type = 'text' and @tabindex = '1']").send_keys("测试发送邮件主题")u"""定位到写信的frame"""iframe = driver.find_element_by_xpath("//iframe[contains(@class,'APP-editor-iframe')]")driver.switch_to.frame(iframe)u"""输入邮件内容"""driver.find_element_by_class_name("nui-scroll").send_keys("你好,我给你发送了一个邮件,请注意查收!")"""退出写信的frame"""driver.switch_to.default_content()u"""点击发送按钮"""driver.find_element_by_xpath("//*[@class='nui-toolbar-item']/div/span[2]").click()"""所有用例执行完之后,执行一次"""@classmethoddef tearDownClass(cls):sleep(2)mail1.logout()sleep(2)driver.quit()if __name__ == "__main__":unittest.main(verbosity=2)
  • 最后一步 执行脚本 runCase.py
import unittest
from HTMLTestRunner import HTMLTestRunnerfrom mail.smokeCase import TestEmail"""定义一个测试集suit, 包含smokeCase里的所有测试用例"""
suit = unittest.TestSuite()
suit.addTests(unittest.TestLoader().loadTestsFromTestCase(TestEmail))"""HTMLTestRunner生成报告"""
if __name__ == '__main__':fp = open('./result.html', 'wb')  # 定义测试报告存放路径runner = HTMLTestRunner(stream=fp, title='163邮箱登陆测试报告', description='用例执行情况')  # 定义测试报告runner.run(suit)  # 执行测试用例fp.close()
  • 大功告成,生成result.html 测试报告

python自动化登录163邮箱发送邮件相关推荐

  1. python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容

    python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容 1.前言 前面在 python3爬虫系列20之反爬需要登录的网站三种处理方式中介绍的第三种方法,使用自动化测试工具s ...

  2. python浏览器自动化测试仪器_【松勤软件自动化测试】纯干货:基于Python+Selenium2登录163邮箱实例...

    一.业务流程: 1.打开浏览器,自动填写用户名和密码,登录成功后跳转到相应的页面. 2.验证相应页面的url与给定的url是否一致,如果一致则测试通过,如果不一致,则不通过. 3.另外,在执行过程中如 ...

  3. python模拟登录163邮箱_python模拟登陆163邮箱并下载邮件内容(第三版代码片段)

    python模拟登陆163邮箱并下载邮件内容(第三版代码片段) 注意: 1 由于163邮箱有众多版本,所以登录请求URL,邮件URL等可能也不太一样,下面是163的简约3.0 2 代码缺乏错误处理能力 ...

  4. python模拟登录163邮箱_python模拟登录网易邮箱-阿里云开发者社区

    python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup #设 ...

  5. python模拟登录163邮箱_Python实现模拟登录网易邮箱的方法示例

    本文实例讲述了Python实现模拟登录网易邮箱的方法.分享给大家供大家参考,具体如下: #coding:utf-8 import urllib2,urllib import cookielib fro ...

  6. 利用python smtplib 登录QQ邮箱发送邮件

    Python 发送邮件(QQ邮箱) 每当学期末考试结束后,查询成绩就成了每天和打开微信一样平常的事情,但是学校的教务系统的成绩更新有时间限制,我又不想整天去刷新成绩,所以想到用 python来爬取成绩 ...

  7. python自动注册邮箱_[转][Python][自动登录163邮箱]

    #-*- coding:UTF-8 -*- import urllib,urllib2,cookielib import xml.etree.ElementTree as etree #xml解析类 ...

  8. python模拟登录163邮箱_selenium+python 模拟登陆网易邮箱

    selenium 模拟登陆网易邮箱实例 selenium 一.selenium 模拟登陆网易邮箱老样子,先来看看效果图吧(我没有设置正确的账号和密码,大家自己试的时候可以设置自己的账号密码),思路和分 ...

  9. selenium+python 注册登录163邮箱

    1.登录 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https:/ ...

最新文章

  1. 【RocketMQ工作原理】offset管理
  2. java动物园管理员_zookeeper动物园管理员学习笔记
  3. Kotlin 在kotlin内使用Java的一些注意(长篇)
  4. 深入浅出Node.js (2) - 模块机制
  5. 【转载】编程生涯 21 载,那些我踩过的坑
  6. 作者:陈维政,男,北京大学博士生。
  7. 功能测试如何转自动化测试?我的年薪40W成长之路
  8. 记一次成功的sql注入入侵检测附带sql性能优化
  9. Android 跨进程双向通信(Messenger与AIDL)详解
  10. 不小心将 pip 卸载了,重新安装pip
  11. 苹果付费app共享公众号_8.11号,IOS苹果App Store 5款付费App限时免费,支持iPhone/iPad...
  12. https学习笔记三----OpenSSL生成root CA及签发证书
  13. mantis apache mysql_Windows上基于Apache+Mysql+PHP安装集成Mantis+Testlink
  14. php创蓝253四要素认证_Thinkphp5.1使用创蓝API接口进行实名认证-人证核验
  15. IOS 公司开发者账号申请详细教程-13810208661
  16. 接口隔离原则(Interface Segregation Principle)
  17. 同事逆袭面进阿里P7 年薪60W+,临别留下一张Android开发重点技术路线图
  18. STM32 E18-D80NK红外检测
  19. 指向类成员函数的指针(学自王桂林)
  20. 【思维进阶】这些年给学员的毕业赠言(一)

热门文章

  1. 计算机word操作大全,Word操作练习题大全(共题).doc
  2. 6、Xcode导入第三方库(Alamofire)的方法
  3. 累觉不爱?这样做让你的坏情绪一扫而空!
  4. SQL的相关子查询和非相关子查询
  5. 大数据信息资料采集:网购图书市场畅销书籍价格内容信息采集爬取
  6. 关于Java EE的介绍
  7. 文献翻译阅读-NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
  8. react native: Unrecognized font family 'antoutline'
  9. Flink CheckPoint机制 学习 测试 使用FsStateBackend状态后端 将checkpoint恢复到中断处
  10. 虾皮shopee根据ID取商品详情详细解析