前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sqlite3数据库在自动化中的使用

sqlite3数据库在自动化中的使用

作者头像
无涯WuYa
发布2018-10-25 16:16:40
1.6K0
发布2018-10-25 16:16:40
举报
文章被收录于专栏:Python自动化测试

之前介绍了在python中怎么对sqlite3数据库进行操作,今天再详细的介绍,怎么把自动化中使用到的数据存储在sqlite3数据库的文件中,然后在自动化中引用。下面详细的介绍,把页面的元素,输入的数据,以及系统返回的错误信息存储在数据库,然后从数据库中读取,来引入到实际的自动化项目中,就已百度登录为实例,创建表element.db,字段见如下的截图:

存储的测试数据为:

读取这些数据的方法为:

defsqliteData(value1,value2):

rows=[]

try:

conn=sqlite3.connect('D:\\sqlite.db')

sql="select * from element;"

cur=conn.cursor()

cur.execute(sql)

for db in cur.fetchall():

rows.append(db)

print rows[value1][value2]

except:

print u'Database operation failed'

finally:

cur.close()

conn.close()

实现的自动化测试脚本见如下的代码:

#!/usr/bin/envpython

#coding:utf-8

fromselenium import webdriver

import selenium.webdriver.common.by as by

import DataDriven as data

import time,unittest

deferrorText(driver):

time.sleep(2)

returndriver.find_element_by_xpath(".//*[@id='TANGRAM__PSP_8__error']").text

deflogin(driver,username,password):

driver.find_element_by_id('u1').find_element_by_class_name('lb').click()

time.sleep(2)

driver.find_element_by_id('TANGRAM__PSP_8__userName').send_keys(username)

time.sleep(2)

driver.find_element_by_id('TANGRAM__PSP_8__password').send_keys(password)

time.sleep(2)

driver.find_element_by_id('TANGRAM__PSP_8__submit').click()

classbaiduTest(unittest.TestCase):

def setUp(self):

self.driver=webdriver.Firefox()

self.driver.maximize_window()

self.driver.implicitly_wait(30)

self.driver.get('http://www.baidu.com')

def test_001(self):

'''验证只输入用户名返回的错误信息'''

login(self.driver,data.sqliteData(1,1),data.sqliteData(1,2))

self.assertEqual(data.sqliteData(1,3),errorText(self.driver))

def test_002(self):

'''验证用户名密码错误'''

login(self.driver,data.sqliteData(2,1),data.sqliteData(2,2))

self.assertEqual(data.sqliteData(2,3),errorText(self.driver))

def test_003(self):

login(self.driver,data.sqliteData(3,1),data.sqliteData(3,2))

self.assertEqual(data.sqliteData(3,3),errorText(self.driver))

def tearDown(self):

self.driver.quit()

if__name__=='__main__':

unittest.main(verbosity=2)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档