机器人框架Selenium2Library中的无缓存刷新



我有一个用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开发人员的一个常见问题。

最新更新