1.封装的定义:
就是用新的代码去包装旧代码,通过调用新代码,实际是使用旧代码的过程
2.封装的目的:
为了实现自动化测试框架
3.封装的好处
1)代码的使用性:成本低
2)代码的维护性:容易维护
3)代码安全性:安全性高
4.封装的实现:
from selenium import webdriver
#创建类
class AutoDriver001()://四合院
def __init__(self):
self.driver=webdriver.Firefox()
self.base_url=\'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()
断言:
self.except_text=\'修改成功\'
self.actual_text=self.d.find_e_element(\'xp\',\'\').text
self.assertIn(self.except_text,self.actual_text,\'使用正确账号竟然失败\')