常见的断言:
1、assertequal
2、assertnotqual
3、assertFals
4、assertTrue
5、assertNOne
6、assertnotNone
1、断言的使用 assert False
#coding:utf-8
import re
#python+selenium 框架
from selenium import webdriver
from time import sleep
import unittest #导入对应的unittest框架包
#unittest框架结构如下
#首先创建测试类,该类且要继承TestCase类
class foo(unittest.TestCase):
#初始化测试环境
#setUo用于设置用例初始化部分,在测试用例前,这个方法中的函数(脚本)将先会执行
#如:对浏览器操作,对链接数据库
def setUp(self):
self.dr=webdriver.Chrome()
self.dr.get('http://www.baidu.com')
self.dr.maximize_window()
sleep(2)
#所有执行的测试用例一个或者多个
def test_login(self):
self.dr.find_element_by_id('kw').send_keys('111111')
self.dr.find_element_by_id('su').click()
sleep(5)
# def test_info(self):
# pass
#还原测试环境(每执行一个用例都会执行该方法,保证下一个用例执行的环境)
#tearDown该方法是在用例执行后调用,主要用来还原环境,如:退出浏览器,关闭数据库
def tearDown(self):
self.dr.quit()
#执行测试用例
if __name__=='__main__':
unittest.main() #main在这个py文件就是自己的意思 from selenium import webdriver
import unittest
from time import sleep
import HTMLTestRunnerCN
class foo(unittest.TestCase):
# 初始化测试环境
# setUp是用于设置用例初始化部分,在测试用例执行前,这个方法中的函数(脚本)将
# 先会执行如:对浏览器操作、连接数据库等
def setUp(self):
self.dr = webdriver.Chrome()
self.dr.get('http:/www.baidu.com')
self.dr.maximize_window()
sleep(2)
# 所有执行的测试用例如:一个或者多个
def test_dcs(self):
driver = self.dr
driver.find_element_by_id('kw').send_keys(u'多测师')
driver.find_element_by_id('su').click()
sleep(6)
def test_dn(self):
driver = self.dr
driver.find_element_by_id('kw').send_keys(u'达内')
driver.find_element_by_id('su').click()
sleep(6)
def test_bdqn(self):
driver = self.dr
driver.find_element_by_id('kw').send_keys(u'北大青鸟')
driver.find_element_by_id('su').click()
sleep(6)
# 还原测试环境(每执行一个用例都会执行该方法,保证下一个用例执行的环境)
# tearDown该方法是在用例执行后调用,主要用来还原环境如:退出浏览器、关闭数据库等
def tearDown(self):
self.dr.quit()
def suit():
suite = unittest.TestSuite()
suite.addTests([foo('test_dcs'),foo('test_dn'),foo('test_bdqn')])
return suite
# 执行测试用例
if __name__ == '__main__':
yy=suit()
html="d:\\XIAOWANG.HTML" #指定报告路径
fp=file(html,'wb') #'wb'表示只写打开或新建一个二进制文件,只允许写数据
run=HTMLTestRunnerCN.HTMLTestRunner(stream=fp,title=u'百度搜索报告',description=u'用例执行报告')
run.run(yy) from selenium import webdriver
import unittest
from time import sleep
import HTMLTestRunnerCN
class foo(unittest.TestCase):
# 初始化测试环境
# setUp是用于设置用例初始化部分,在测试用例执行前,这个方法中的函数(脚本)将
# 先会执行如:对浏览器操作、连接数据库等
def setUp(self):
self.dr = webdriver.Chrome()
self.dr.get('http:/www.baidu.com')
self.dr.maximize_window()
sleep(2)
# 所有执行的测试用例如:一个或者多个
def test_dcs(self):
driver = self.dr
driver.find_element_by_id('kw').send_keys(u'多测师')
driver.find_element_by_id('su').click()
sleep(6)
def test_dn(self):
driver = self.dr
driver.find_element_by_id('kw').send_keys(u'达内')
driver.find_element_by_id('su').click()
sleep(6)
def test_bdqn(self):
driver = self.dr
driver.find_element_by_id('kw').send_keys(u'北大青鸟')
driver.find_element_by_id('su').click()
sleep(6)
# 还原测试环境(每执行一个用例都会执行该方法,保证下一个用例执行的环境)
# tearDown该方法是在用例执行后调用,主要用来还原环境如:退出浏览器、关闭数据库等
def tearDown(self):
self.dr.quit()
def suit():
suite = unittest.TestSuite()
suite.addTests([foo('test_dcs'),foo('test_dn'),foo('test_bdqn')])
return suite
# 执行测试用例
if __name__ == '__main__':
yy=suit()
html="d:\\XIAOWANG.HTML" #指定报告路径
fp=file(html,'wb') #'wb'表示只写打开或新建一个二进制文件,只允许写数据
run=HTMLTestRunnerCN.HTMLTestRunner(stream=fp,title=u'百度搜索报告',description=u'用例执行报告')
run.run(yy)
#coding:utf-8
import re
#python+selenium 框架
from selenium import webdriver
from time import sleep
import unittest #导入对应的unittest框架包
#unittest框架结构如下
#首先创建测试类,该类且要继承TestCase类
class foo(unittest.TestCase):
#初始化测试环境
#setUo用于设置用例初始化部分,在测试用例前,这个方法中的函数(脚本)将先会执行
#如:对浏览器操作,对链接数据库
def setUp(self):
self.dr=webdriver.Chrome()
self.dr.get('http://www.baidu.com')
self.dr.maximize_window()
sleep(2)
#所有执行的测试用例一个或者多个
def test_login(self):
self.dr.find_element_by_id('kw').send_keys('111111')
self.dr.find_element_by_id('su').click()
sleep(5)
# def test_info(self):
# pass
#还原测试环境(每执行一个用例都会执行该方法,保证下一个用例执行的环境)
#tearDown该方法是在用例执行后调用,主要用来还原环境,如:退出浏览器,关闭数据库
def tearDown(self):
self.dr.quit()
#执行测试用例
if __name__=='__main__':
unittest.main() #main在这个py文件就是自己的意思
#coding:utf-8
import re
#python+selenium 断言
from selenium import webdriver
from time import sleep
dr=webdriver.Chrome()
dr.get('http://www.baidu.com')
dr.maximize_window()
sleep(2)
#获取文本值 文本值都是><里面的
aa=dr.find_element_by_xpath('//*[@id="u1"]/a[1]').text #xpath里面的是路径是新闻,所以可以走下去,如果不是,就断言走不了
#使用assert False进行断言
if not (aa==u'新闻'):
print '%s'%aa
assert False
#如何获取value值
value=dr.find_element_by_id('su').get_attribute('value')
#使用assert False进行断言
if not (value==u'百度一下'):
print '%s'%value
assert False
dr.find_element_by_id('kw').send_keys(u'世界和平') unittest是python自带的一个框架
使用unittest框架执行用例的优点:提供用例组织方法
提供丰富的日志和清晰用例的执行后的测试报告
unittest中包括:TestCase类
TestSuite类
TextTestRunner类
使用unittest框架执行用例时,对我们用例命名有一定的要求,因为我们的测试类都是以test开头,那么我们的测试用例同样要以test打头进行命名
|
|