自动化测试基础(三)
unittest是Python自带的单元测试框架,我们可以用其来作为我们自动化测试框架的。
用例组织执框架。
1.组织用例
2.测试用例灵活的执行
3.验证测试结果
4.集成测试报告
为什什么要学unittest
1.方便用例运行
2.如果有fail的用例不影响后面的用例运行
unittest
1.一个class继承unittest.TestCase(所有测试用例类继承的基本类)
2.测试方法均以 test 开头,否则是不被unittest识别
3.每一个用例执行的结果的标识,成功是 T,失败是 F,出错是 E
4.verbosity参数可以控制执行果的输出,0 是简单报告、1 是一般报告、2 是详细报告。
5.用 setUp()、tearDown()、setUpClass()以及 tearDownClass()可以在用例执行前布置环境,以及在⽤例执⾏后清理环境
6.参数中加stream,可以将报告输出到文件:可以TextTestR用unner
输出txt报告,以及可以⽤HTMLTestRunner输出html报告 7.unittest.main():可以方便的将一个测试模块,变为可直接运的行测试脚本
unittest流程
a.写好TestCase (#创建一个TestSuite实例)
b.可以通过addTest和addTests向TestSuite中添加case
( #组织测试用例)
c.通过TextTestRunner来来运行TestSuite,运行的结果保存
在TextTestResult中,
或者通过unittest.main()执行时,main会调用TextTestRunner中的run来执行
等待方式
等待方式可分为:强制等待、显性等待、隐形等待
Sleep:强制等待几秒,执行下一步操作
隐式等待implicitly_wait(x):在X时间内,页面加载完成,进行下一步操作
显式等待WebDriverWait:程序每隔X秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException异常
WebDriverWait(driver, 超时时间, 调用频率).until(要执行的方法, 超时时返回的错误信息)
常用js方法
首先selenium常用方法:
1.判断元素是否存在:is_dispaly
2.获取元素的文本:webelement.text
3.获取标题driver.title
4.获取元素的属性:webelement.get_attribute('属
性值')
javascript实现方法:
JavaScript可以获取浏览器器提供的很多对象,并进行行操作。
window就是一个对象:表示浏览器器窗口
1.打开新的浏览器器窗口:window.open(url)
浏览器器内部宽度window.innerWidth
浏览器器内部高度window.innerHeight
浏览器器整体高度window.outerWidth
浏览器器整体高度window.outerHeight
浏览器器滚动条:
window.scrollTo(0,1000)
window.By(0,1000)
非浏览器器类型的滚动条:
document.getElementsById(id)[0].scrollTop=‘1000'
location当前页面的URL对象
1.获取当前url:location.href,
2.更更改当前url:location.assign()
3.刷新:location.reload()
document:表示当前页面对象
HTML在浏览器器中以DOM形式表示为树形结构document对
象就是整个DOM树的根节点,然后去操作子节点
1.获取当前标题:document.title
2.输入文本值:document.getElementsById(id)[0].value=‘’
3.操作标签document.getElementsById(id)[0].click()
4.更更改属性:
document.getElementById('vip').style.visibility='visible'
SMTP邮件发送
发送邮件的协议,Python内置对SMTP的支持
模块email:构建邮件
MIMEText:邮件的信息:’
plain’表示纯文本
as_string() 把MIMEText 对象变成str
MIMEMultipart:构造附件
服务端向客户端游览器器发送文件时,如果需要提示用户保存,就要利用
Content-Disposition进行一下处理
from email.header import Header
Header:设置头文件信息的格式编码
模块smtplib:发送邮件
Import smtplib
增加附件
MIMEMultipart
MIMEMultipart:代表邮件本身
里面加上一个MIMEText作为邮件正文
再通过attach继续往里面加上表示附件的对象即可
领取专属 10元无门槛券
私享最新 技术干货