我有一个用python机器人框架编写的测试脚本,它通过网站导航并测试其页面。网站有时需要从服务器上刷新其所有内容,即它需要一个无缓存刷新。
Robot Framework selenium2library有一个简单执行Refresh-If-Modified的reload page
方法。在Python中,我可以使用driver.refresh()
来做同样的事情。
我在机器人框架中尝试Press Key
,在python中尝试driver.send_keys(Keys.COMMAND + Keys.F5)
和driver.get(url)
;没有一个是成功的!
你知道怎么做吗?
澄清一下,一个No-Cache Refresh
,检索所有的网站数据从它的服务器,不管它在服务器上的变化,但是一个Refresh-If-Modified
首先发送一个请求到服务器并请求更改,然后它只是请求检索修改的数据。
Chrome和Firefox以不同的方式处理缓存。
确保浏览器缓存被清除,我使用关闭所有浏览器关键字,因为它重置浏览器缓存(http://robotframework.org/Selenium2Library/doc/Selenium2Library.html#Close%20All%20Browsers),然后我再次打开浏览器。
也许你还会使用Delete All Cookies关键字
你可以通过javascript的location.reload()
,传递true
到调用- https://developer.mozilla.org/en-US/docs/Web/API/Location/reload
Execute Javascript window.location.reload(true);
然而,YMMV -一些浏览器试图超越它,这是js开发人员的一个常见问题。