zoukankan      html  css  js  c++  java
  • 自动化场景实现 以及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')
  • 相关阅读:
    转换相关内置函数_hex
    转换相关内置函数_oct
    内置函数help
    内置函数_locals_变量相关
    内置函数_globals_变量相关
    智慧工地支撑平台工地一张图在线管控平台
    轨道交通GIS平台的应用分析
    基于BIM+GIS钢结构全生命周期管理平台项目
    应急指挥中心系统的研究与设计
    基于SuperMap10i 开发的全过程咨询管理平台的研究
  • 原文地址:https://www.cnblogs.com/sunzzc/p/13375537.html
Copyright © 2011-2022 走看看