1.封装的定义:
就是用新的代码去包装旧代码,通过调用新代码,实际是使用旧代码的过程
2.封装的目的:
为了实现自动化测试框架
3.封装的好处
1)代码的使用性:成本低
2)代码的维护性:容易维护
3)代码安全性:安全性高
4.封装的实现:
from selenium import webdriver
#创建类
class AutoDriver001()://四合院
def __init__(self):
self.driver=webdriver.Firefox()
self.base_url=t('http://localhost/ECShop_V2.7.2_b03/upload')//让地址变活
def max_window(self):
self.driver.maxmize_window()
#清除缓存
def del_all_cookies(self):
self.driver.delete_all_cookies()
#关闭游览器
def close_page(self):
self.driver.close()
#打开URL:
def open_url(self,url):
self.driver.get(self.base_url+url)//让地址变活
#八大定位
def find_e_element(self,by,selector):
if by=='id' or by=='i':
return self.driver.find_element_by_id(selector)
elif by=='name' or by=='n':
return self.driver.find_element_by_name(selector)
elif by=='class_name' or by=='cs':
return self.driver.find_element_by_class_name(selector)
elif by=='tag_name' or by=='tn':
return self.driver.find_element_by_tag_name'(selector)
elif by=='link_text' or by=='lt':
return self.driver.find_element_by_link_text(selector)
elif by=='partial_link_text' or by=='cs':
return self.driver.find_element_by_partial_link_text(selector)
elif by=='xpath' or by=='xp':
return self.driver.find_element_by_xpath(selector)
elif by=='css_selector' or by=='cs':
return self.driver.find_element_by_css_selector(selector)
#封装的调用
class TestCaseEcshopLogin001(unittest.TestCase):
#前置条件
def setUp(self):
#将类实例化对象
self.d=AutoDriver001()
#窗口最大化
self.d.max_window()
#清除缓存
self.d.del_all_cookies()
def tearDown(self):
time.sleep(5)
self.d.close_page()
def test_login(self):
self.d.open_url('/')
self.d.e_element('id',selector).click()
self.d.e_element('id',selector).click()