我试图用Selenium和mstest编写测试来测试浏览器不活动状态。我测试的网站将在15分钟不活动后将用户注销。我希望能在几秒钟内测试一下。有没有办法通过selenium伪造浏览器不活动?
答案 0 :(得分:0)
我已经对此类功能进行了类似的测试。应用程序会在30分钟不活动后将用户注销。
我是如何解决这个问题的,只是“睡觉”。
在Java中,我做了类似的事情:
Thread.sleep(60*30*1000);
// after it's done waiting, the user should be logged out
validateTextPresent("You've been logged out");
如果此测试失败,那么表示“您已经注销”没有出现,这意味着用户仍然登录。
答案 1 :(得分:0)
我希望能在几秒钟内测试一下。
问题的关键不在于它吗?
对于我在需要执行此操作的代码,我将使用缩短等待所需的设置启动测试服务器。或者如果逻辑纯粹是客户端,我会告诉客户端代码它应该缩短等待时间。我会在单元测试级别和系统测试中执行此操作。显然,这完全取决于我的代码的结构。没有一般规则。在某些情况下,我只是设置RequireJS将配置传递给我的模块以指示更短的等待。在其他情况下,我通过Selenium执行了任意JavaScript代码来更改超时设置。
对于不属于我的代码,我会尝试弄清楚它的设置位置并将其调整以便更快地完成。如果设置超时的软件不合作,这可能意味着用您自己的setTimeout
替换某些“库存”JavaScript函数。如何执行此操作会因网站上使用的软件而异。
否则,你只需等待超时发生所需的时间,我担心。