自动化场景实现 以及selenium关键字驱动运用

自动化测试岗位,一定会涉及到 测试框架的设计

自动化的目的:设计一款独属于自己的测试框架

现阶段测试框架的核心内容一定是基于关键字驱动的

  解决代码的冗余

  解决可读性

  解决维护性

  解决代码的复用性

最根本的解决方式:关键字驱动(selenium的二次封装)

关键字驱动的劣势:

  它没有办法结合到一个系统完全百分百切合,只能做通用型的项目自动化,没有办法做精 

 

简单的封装关键字驱动

有点在于 如果页面元素进行了变化 只需修改 脚本入口 下的参数即可

大大优化了代码量 以及维护性 复用性

简单实例:

from selenium import webdriver

class TestKeyWords(object):

# 初始化
def __init__(self,url,browser_type):
self.browser = self.open_browser(browser_type)
self.browser.get(url)

# 调用浏览器 判断用户使用的浏览器
def open_browser(self,browser_type):

if browser_type == 'chrome':
browser = webdriver.Chrome()
return browser

elif browser_type == 'firefox':
browser = webdriver.Firefox()
return browser

else:
print('type error')

# 元素定位 进行封装
def locator(self,locator_type,value):
if locator_type == 'xpath':
el = self.browser.find_element_by_xpath(value)
return el
elif locator_type == 'id':
el = self.browser.find_element_by_id(value)
return el
elif locator_type == 'name':
el = self.browser.find_element_by_name(value)
return el

# 调用定位函数 进行输入
def inupt_text(self,locator_type,value,text):
self.locator(locator_type,value).send_keys(text)

# 点击
def click_element(self,locator_type,value):
self.locator(locator_type, value).click()

# 关闭浏览器释放资源
def quit_browser(self):
self.browser.quit()

if __name__ == '__main__':

# 对类传入 url 已经浏览器
sr = TestKeyWords('http://www.baidu.com','chrome')

# 传入 定位方法 元素属性 已经输入内容
sr.inupt_text('id','kw','老祝头')
# 点击方法
sr.click_element('id','su')

 

posted @ 2020-07-25 09:09  老祝头  阅读(514)  评论(0编辑  收藏  举报