unittest+ddt自动化测试
from selenium import webdriver
import time
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class BasePage(object):
def __init__(self,selenium_driver,url):
self.driver = selenium_driver
self.url =url
def open(self):
self.driver.get(self.url)
# def locator_element(self,*locator):
# return self.driver.find_element(*locator)
def locator_element(self,*locator):
# return self.driver.find_element(*loc)
try:
#确保元素是可见的。
#注意:以下入参为元组的元素,需要加*。Python存在这种特性,就是将入参放在元组里。
# WebDriverWait(self.driver,10).until(lambda driver: driver.find_element(*loc).is_displayed())
#注意:以下入参本身是元组,不需要加*
WebDriverWait(self.driver,10).until(EC.visibility_of_element_located(locator))
return self.driver.find_element(*locator)
except:
print ("%s 页面中未能找到 %s 元素" %(self, locator))
def quit(self):
self.driver.quit()
from selenium.webdriver.common.by import By
class SearchPage(BasePage)