【问题标题】:Is there a way to spoof the date on a browser visit with PhantomJS?有没有办法使用 PhantomJS 在浏览器访问中欺骗日期?
【发布时间】:2016-03-03 14:08:37
【问题描述】:

我想使用 PhantomJS 运行一个测试套件,该套件需要访问基于当前日期记录统计信息的页面。

但我也希望能够记录过去日期的测试数据点 - 问题是,记录统计数据的代码当前使用用户的当前时间戳。

在使用 PhantomJS(或类似工具)打开页面时,有什么方法可以“欺骗”“当前日期”?

【问题讨论】:

  • 没有。日期来自操作系统,显然您的浏览器无法控制它。你能不能让它使用一个变量作为日期,然后你可以在测试时简单地覆盖这个值?
  • 问题似乎不对...你问的是环境而不是测试代码本身

标签: javascript unit-testing testing phantomjs


【解决方案1】:

一些想法:

  • set the system time - 你应该在虚拟机上运行它,最好不要弄乱你自己机器的系统时间
  • 使用覆盖您语言中时间函数的工具(例如,Ruby 中的timecop,或for Javascript);或者如果不可能,创建一个可以返回测试注入的值的新时间函数,并调用它而不是调用系统时间函数

【讨论】:

    猜你喜欢
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 2010-09-18
    相关资源
    最近更新 更多