python自动化登录163邮箱发送邮件
记录第一次自动化发送邮件成功
- 第一步 准备好 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邮箱发送邮件相关推荐
- python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容
python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容 1.前言 前面在 python3爬虫系列20之反爬需要登录的网站三种处理方式中介绍的第三种方法,使用自动化测试工具s ...
- python浏览器自动化测试仪器_【松勤软件自动化测试】纯干货:基于Python+Selenium2登录163邮箱实例...
一.业务流程: 1.打开浏览器,自动填写用户名和密码,登录成功后跳转到相应的页面. 2.验证相应页面的url与给定的url是否一致,如果一致则测试通过,如果不一致,则不通过. 3.另外,在执行过程中如 ...
- python模拟登录163邮箱_python模拟登陆163邮箱并下载邮件内容(第三版代码片段)
python模拟登陆163邮箱并下载邮件内容(第三版代码片段) 注意: 1 由于163邮箱有众多版本,所以登录请求URL,邮件URL等可能也不太一样,下面是163的简约3.0 2 代码缺乏错误处理能力 ...
- python模拟登录163邮箱_python模拟登录网易邮箱-阿里云开发者社区
python模拟登录网易邮箱 #coding:utf-8 import urllib2,urllib import cookielib from bs4 import BeautifulSoup #设 ...
- python模拟登录163邮箱_Python实现模拟登录网易邮箱的方法示例
本文实例讲述了Python实现模拟登录网易邮箱的方法.分享给大家供大家参考,具体如下: #coding:utf-8 import urllib2,urllib import cookielib fro ...
- 利用python smtplib 登录QQ邮箱发送邮件
Python 发送邮件(QQ邮箱) 每当学期末考试结束后,查询成绩就成了每天和打开微信一样平常的事情,但是学校的教务系统的成绩更新有时间限制,我又不想整天去刷新成绩,所以想到用 python来爬取成绩 ...
- python自动注册邮箱_[转][Python][自动登录163邮箱]
#-*- coding:UTF-8 -*- import urllib,urllib2,cookielib import xml.etree.ElementTree as etree #xml解析类 ...
- python模拟登录163邮箱_selenium+python 模拟登陆网易邮箱
selenium 模拟登陆网易邮箱实例 selenium 一.selenium 模拟登陆网易邮箱老样子,先来看看效果图吧(我没有设置正确的账号和密码,大家自己试的时候可以设置自己的账号密码),思路和分 ...
- selenium+python 注册登录163邮箱
1.登录 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https:/ ...
最新文章
- 【RocketMQ工作原理】offset管理
- java动物园管理员_zookeeper动物园管理员学习笔记
- Kotlin 在kotlin内使用Java的一些注意(长篇)
- 深入浅出Node.js (2) - 模块机制
- 【转载】编程生涯 21 载,那些我踩过的坑
- 作者:陈维政,男,北京大学博士生。
- 功能测试如何转自动化测试?我的年薪40W成长之路
- 记一次成功的sql注入入侵检测附带sql性能优化
- Android 跨进程双向通信(Messenger与AIDL)详解
- 不小心将 pip 卸载了,重新安装pip
- 苹果付费app共享公众号_8.11号,IOS苹果App Store 5款付费App限时免费,支持iPhone/iPad...
- https学习笔记三----OpenSSL生成root CA及签发证书
- mantis apache mysql_Windows上基于Apache+Mysql+PHP安装集成Mantis+Testlink
- php创蓝253四要素认证_Thinkphp5.1使用创蓝API接口进行实名认证-人证核验
- IOS 公司开发者账号申请详细教程-13810208661
- 接口隔离原则(Interface Segregation Principle)
- 同事逆袭面进阿里P7 年薪60W+,临别留下一张Android开发重点技术路线图
- STM32 E18-D80NK红外检测
- 指向类成员函数的指针(学自王桂林)
- 【思维进阶】这些年给学员的毕业赠言(一)
热门文章
- 计算机word操作大全,Word操作练习题大全(共题).doc
- 6、Xcode导入第三方库(Alamofire)的方法
- 累觉不爱?这样做让你的坏情绪一扫而空!
- SQL的相关子查询和非相关子查询
- 大数据信息资料采集:网购图书市场畅销书籍价格内容信息采集爬取
- 关于Java EE的介绍
- 文献翻译阅读-NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
- react native: Unrecognized font family 'antoutline'
- Flink CheckPoint机制 学习 测试 使用FsStateBackend状态后端 将checkpoint恢复到中断处
- 虾皮shopee根据ID取商品详情详细解析