码迷,mamicode.com
首页 > 编程语言 > 详细

Python编程_Selenium2Library源码分析

时间:2016-10-28 19:45:58      阅读:427      评论:0      收藏:0      [点我收藏+]

标签:函数嵌套   for   传递   函数   erro   bsp   max   log   调用   

[Package] keywords

所有关键字封装

[Class] _waiting.py

等待函数的条件判断, 替换sleep, 在依次以条件逻辑执行较多用例时可以有效节省执行等待时间, 快速定位问题

_wait_until(self, timeout, error, function, *args)

概述: 直到function(*args)为True时return None, 为False则return error, 超时时间timeout

参数:

  error: 初始化为超时异常

  function: 条件判断, 返回True or False  

return: None or error

1     def _wait_until(self, timeout, error, function, *args):
2         error = error.replace(<TIMEOUT>, self._format_timeout(timeout))
3         def wait_func():
4             return None if function(*args) else error
5         self._wait_until_no_error(timeout, wait_func)

 

_wait_until_no_error(self, timeout, wait_func, *args)

概述: 直到wait_func(*args)为False时return, 超时则抛出超时异常

 

1     def _wait_until_no_error(self, timeout, wait_func, *args):
2         timeout = robot.utils.timestr_to_secs(timeout) if timeout is not None else self._timeout_in_secs
3         maxtime = time.time() + timeout
4         while True:
5             timeout_error = wait_func(*args)
6             if not timeout_error: return
7             if time.time() > maxtime:
8                 raise AssertionError(timeout_error)
9             time.sleep(0.2)

 

 最终调用的都是_wait_until_no_error(self, timeout, wait_func, *args). 在层层调用中, 使用到的Python语法, 一是函数嵌套, 而是"一切皆为对象", 函数也可做参数传递

Python编程_Selenium2Library源码分析

标签:函数嵌套   for   传递   函数   erro   bsp   max   log   调用   

原文地址:http://www.cnblogs.com/elsarong/p/6008998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!