import unittest
from time import sleep from ddt import ddt, data
from pymysql import connect
from selenium import webdriver def getMySQLTestData():
# 查询数据库的方法
db = connect(host="localhost",
user="root",
password="123456",
db="world",
port=3306,
charset="utf8")
# 打开数据库连接
cur = db.cursor()
# 使用cursor()方法获取操作游标
sql = "SELECT `search_word`, `search_result` FROM testdata;"
# sql语句
cur.execute(sql)
# 执行sql语句
results = cur.fetchall()
# 获取查询的结果
db.commit()
# 提交
cur.close()
# 关闭游标
db.close()
# 断开数据库连接
return results
# 返回一个元祖 @ddt
# ddt驱动
class MyTestCase(unittest.TestCase): def setUp(self):
self.driver = webdriver.Firefox()
self.base_url = "https://www.baidu.com/"
self.driver.get(self.base_url)
self.driver.maximize_window()
sleep(2) @data(*getMySQLTestData())
# 传参
def test_something(self, sqlTestData):
searchTerm, searchResult = sqlTestData
driver = self.driver
driver.find_element_by_xpath(".//*[@id='kw']").send_keys(searchTerm)
driver.find_element_by_xpath(".//*[@id='su']").click()
sleep(2)
responseText = driver.find_element_by_xpath(".//*[@id='1']/h3/a").text
self.assertEqual(responseText, searchResult) def tearDown(self):
self.driver.close()
self.driver.quit() if __name__ == '__main__':
unittest.main()

												

最新文章

  1. JVM中,对象在内存中的布局
  2. 二叉树的实现与一些基本操作(C++环境)
  3. javascript console 函数详解 js开发调试的利器
  4. Linux netstat详解
  5. windos命令行下的程序编写
  6. Be quiet
  7. http返回状态代码及含义
  8. android105 jni概念
  9. Winform Textbox实现滚动条始终在最下面
  10. 多线程下不反复读取SQL Server 表的数据
  11. 每天一个JavaScript实例-推断图片是否载入完毕
  12. sql二进制数据权限
  13. mac 剪切文件
  14. Tomcat使用Memcached Session Manager管理Session
  15. openJDK之如何下载各个版本的openJDK源码
  16. Power BI和 Visio 集成优缺点
  17. virtual、abstract、interface区别以及用法
  18. AngularJS中实现显示或隐藏动画效果的3种方式
  19. HashMap源码学习
  20. 线程池ThreadPoolExecutor使用原理

热门文章

  1. cascade rcnn
  2. Knowledge Point 20180303 详解main函数
  3. 开发机器上利用vs2013调试远程IIS上的c#程序
  4. Spring的jar包不同版本的下载地址
  5. Linux查看MAC地址方法
  6. 获取当前对象的key的名称
  7. Linux中JDK的安装步骤
  8. 使用ContentType处理大量的外键关系
  9. QP总体结构
  10. Android 串口蓝牙通信开发Java版本