常见的断言 1、assertequal 2、assertnotequal 3、assertFalse 4、assertTrue 5、assertNone 6、assertnotNone #获取文本值
text=dr.find_element_by_xpath('//*[@id="u1"]/a[1]').text
#使用assert False进行断言
if not (text==u'新闻'):
assert False#只要触发这个,下面不会再执行
dr.find_element_by_id('kw').send_keys(u'首付款发') #获取value值
a=dr.find_element_by_id('su').get_attribute('value')
print a
#使用assert False进行断言
if not (a==u'百度一下'):
assert False Unittest是Python自带的框架 使用unittest框架执行用例的优点:提供用例组织方法和用例执行方法, 提供丰富的日志和清晰的用例执行后的测试报告 Unittest中包括:TestCase类 TestSuite类 TextTestRunner类 使用unittest框架执行用例时,对我们的用例命名有一定的要求,因为我们的测试类都是以test开头,那么我们的测试用例同样要以test打头进行命名 import unittest#导入unittest框架包
#unittest框架结构
#首先创建测试类,该类且要继承TestCase类
class foo(unittest.TestCase):
#初始化测试环境,相当于构造函数
def setUp(self):
pass
#所有执行的用例一个或者多个
def test_login(self):
pass
def test_info(self):
pass
#还原测试环境(每执行一个用例都会执行该方法,保证下一个用例执行的环境)
def tearDown(self):
pass
#执行测试用例
if __name__ == '__main__':
unittest.main() import unittest#导入unittest框架包
#unittest框架结构
#首先创建测试类,该类且要继承TestCase类
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_1(self):
self.dr.find_element_by_id('kw').send_keys(u'多测试')
self.dr.find_element_by_id('su').click()
sleep(2)
def test_2(self):
self.dr.find_element_by_id('kw').send_keys(u'达内')
self.dr.find_element_by_id('su').click()
sleep(2)
def test_3(self):
self.dr.find_element_by_id('kw').send_keys(u'北大青鸟')
self.dr.find_element_by_id('su').click()
sleep(2)
#还原测试环境(每执行一个用例都会执行该方法,保证下一个用例执行的环境)
#tearDown该方法是在用例执行后调用,主要用来还原环境如:退出浏览器,关闭数据库等
def tearDown(self):
self.dr.quit()
#执行测试用例
# if __name__ == '__main__':
# unittest.main()
# 用例集
# 在百度中完成对多测试,达内,北大青鸟等机构搜索
#先要
if __name__ == '__main__':
# 构造测试用例集:可以理解为构造一个容器名字为suite后续将用例放在该容器执行
suite=unittest.TestSuite()
suite.addTests([foo('test_1'),foo('test_2'),foo('test_3')])
# suite.addTest(foo('test_dn'))
# suite.addTest(foo('test_bd'))
#执行用例
t=unittest.TextTestRunner()
t.run(suite) 报告:先到网上下载模板放到lib目录下 import HTMLTestRunnerCN 注:‘wb’:只写打开或新建一个二进制文件;只允许写数据。
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。 Python操作数据库 需要先导入mysqldb模块 Cursor():连接数据库获取一个cursor()游标(对象),我们可以通过该对象提供的方法 来完成我们的操作 方法包括两大类:1、执行sql语句 2、接收sql执行后的返回值 什么是游标? 游标:SQL的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针,游标的一个常见用途就是保存查询结果,以便以后使用(游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果) fetchone():该方法是返回单个的元组,也就是一条记录,没有结果则返回None Fetchmany(3)该方法是返回指定行的数据记录,也就是一条记录,没有结果则返回None,这里的3表示数据库中前3行记录 execute():该方法用于执行sql语句
|