我们维护一个由测试脚本使用的库来进行系统级测试。测试系统的一部分是一个网站,为了导航和与网站交互,我们使用JPype控制selenium2.0的webdriver。Selenium 2.0有一个Java和C接口,目前我们不能使用Java或C重写测试库,这就是为什么我们使用JPype来控制它。这个系统是由一个最近离开公司的人建立的,我现在正在加速。在
每当我们与网站交互时,我们都在使用时间。睡觉公司名称:
self.browserDict['Driver'].findElement(self.browserDict['By'].id(byId)).click()
time.sleep(_AJAX_TIMEOUT)
>>> self.browserDict['Driver']
<jpype._jclass.org.openqa.selenium.firefox.FirefoxDriver object at 0x0626DD30>
>>> byId
'login_submit'
任何时候我们点击“无”的时候时间。睡觉()等待加载下一页。我们有很多AJAX,但似乎应该有一种方法来等待AJAX完成加载。在离开之前,这个工具的作者解释说JPype或Selenium有一个问题阻止了这一点。到目前为止,我找不到这个问题,但我也不知道这里将使用的等待命令。在
编辑:
一种选择是使用implicitlyWait,假设如果超时为6秒,它将在找到元素后立即返回,但是在加载页面时似乎总是等待整整6秒。在
编辑2:Python bindings直接到selenium 2.0的版本现在已经过时了,但是似乎也没有办法等待Ajax加载完成这个库:time.sleep(0.2) # Let the page load, will be added to the AP
(从他们的例子中)。在
也许http://wiki.openqa.org/display/SEL/waitForCondition能满足你的标准吗?在
隐式等待通过JPype和Java绑定工作,可以满足这里所需的需求。在
相关问题 更多 >
编程相关推荐