一个简单的装饰器,以及传递公共的参数

来源:互联网 发布:mac系统恢复出厂设置 编辑:程序博客网 时间:2024/06/17 02:04

背景:做web自动化的时候,有的时候需要校验系统中的打印页面功能,打印页面的,打开,跳转以及关闭是可以通用的,这样就考虑把每个页面的校验独立开来,运用装饰器能很好的解决这类问题。

def print1(func):    def wrapper(*args):        co.login(args[0])        implement=args[0].find_element_by_link_text("发货管理")        chain=ActionChains(args[0])        chain.move_to_element(implement).perform()        a.click_link(args[0],"打印拣货单")        a.xpath(args[0],"//table/tr[1]/td[9]/div/a[2]")        a.xpath(args[0],"//table/tr[4]/td[text()='打印地址标签']")        getwindowhandles=args[0].window_handles        args[0].switch_to_window(getwindowhandles[1])  #选取打印窗口        time.sleep(3)        func(*args)        args[0].close()        args[0].switch_to_window(getwindowhandles[0])  #切换到主窗口    return wrapper@print1def check_page(browser):    u'页面校验项'    a.check_xpath(browser,"//table/tr[1]/td[3]/div/div/a")     check_page(webdriver.Firefox())



原创粉丝点击