【问题标题】:How to set stepTimeout option in CasperJS in test environment?如何在测试环境中的 CasperJS 中设置 stepTimeout 选项?
【发布时间】:2014-06-16 18:02:33
【问题描述】:

当测试无法完成并且没有默认超时时,我在编写 UI 测试时遇到了这个问题。我可以在创建这样的 casper 实例时设置它

var casper = casper.create({stepTimeout: 5000});

但是当我在测试模式casperjs test test.js 下启动 casper 时,我不能这样做。我有一个错误Fatal: you can't override the preconfigured casper instance in a test environment

有没有办法在测试环境中设置这个超时时间?

【问题讨论】:

    标签: casperjs


    【解决方案1】:

    已经有一个预配置的 casper 实例处于测试模式 (casperjs test ...),因此您无法使用 casper.create() 创建另一个。

    使用这个:casper.options.waitTimeout = 10000;casper.options.stepTimeout = 10000;

    【讨论】:

    • 你的意思是你被卡在了一步,对吧?您应该编辑您的消息以获取更多信息。本主题:Page polls remote url 可能会对您有所帮助。
    • @VitaliiKorsakov 您可能想为此设置尝试不同的位置,例如在脚本的开头test.begin内部但在casper.start之前或 i> 在casper.start.
    • 无论如何,我不认为增加 stepTimeout 会改变什么,对我来说你的问题在别处。你想达到什么目标?我们可以看到带有页面url的html和js代码吗?
    【解决方案2】:

    我在我的方法中使用了一个全局常量 TIMEOUT 来完成这个

    if(ADD_DONATION){
    casper.click(DONATION_ADD_TAB);
      casper.waitForSelector(DONOR_WEIGHT_ID, function success(){
            test.pass('Add Donation --> Donations Loaded Successfully') },function timeout(){
              test.fail('Add Donation --> Donations page timeout')},**TIMEOUT**);
    
      }else
            test.pass('Add Donation -- No Permission to view Add Donations Page');
    
    });
    

    【讨论】:

    • 这会设置waitTimeout,但不会设置被询问的stepTimeout
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2013-01-09
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2021-07-11
    相关资源
    最近更新 更多