from selenium import webdriver
import time,unittest
import logging,traceback
import ddt
from selenium.common.exceptions import NoSuchElementException
logger = logging.getLogger('mylogger1')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('C:/test.log')
fh.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
logger.info(u'开始打印日记')
@ddt.ddt
class Testdemo(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Firefox(executable_path="C:\\webdriver\geckodriver")
@ddt.data([u"神奇动物在哪里",u"叶茨"],[u"疯狂动物城",u"古德温"],[u"大话西游之月光宝盒",u"hahaha"])
@ddt.unpack
def test_date(self,testdata,expectdata):
url="http://www.baidu.com"
self.driver.get(url)
self.driver.implicitly_wait(10)
try:
self.driver.find_element_by_id("kw").send_keys(testdata)
self.driver.find_element_by_id("su").click()
time.sleep(3)
self.assertTrue(expectdata in self.driver.page_source)
except NoSuchElementException,e:
logger.error(u"查找的页面元素不存在,异常信息:"+str(traceback.format_exc()))
except AssertionError,e:
logger.info(u"搜索失败")
else:
logger.info(u"搜索通过")
def tearDown(self):
self.driver.quit()
if __name__=='__main__':
unittest.main()