自动化测试基础(三)

自动化测试基础(三)

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继续往里面加上表示附件的对象即可

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106B15KXO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动