casperjs和a / b测试

时间:2013-11-05 18:43:13

标签: automated-tests phantomjs casperjs

我有一个signup.js测试,可以自动注册我的网络应用程序(显然)。我们目前正在测试一个新流程,它会将您带到另一个页面('。com / signupa'与'.com / signupb'),我想知道在我的测试中反映这一点的最佳方法是什么。

选项:

  • 使用evaluateOrDie并使其死于.com / signupb(这看起来很愚蠢)
  • 对.com / signupb的测试进行充实测试,如果碰到那个测试(这是可能的吗?)就让它去那条路线。这样的话......

    casper.waitForResource("classic.png",
       function success() {
          this.echo('on the old signup flow ');
          <continue with regular signup test>
      },  
      function fail() {
          this.test.assertExists("classic.png");
          <do something else>
      });
    

任何其他想法非常感谢!

1 个答案:

答案 0 :(得分:2)

我的偏好是隐藏每个页面中的一些信息,以便您可以干净地打开它们。 E.g。

<span id="version1"></span>

VS

<span id="version2"></span>

然后,在提交表格后:

casper.then(function(){
  if (this.exists('#version2')) {
    testNewSite(this);
    } else {
    testOldSite(this);
    }
  });

但检测你已经知道的东西只在其中一个页面中,比如&#34; classic.png&#34;你在问题中表明,也没关系。 (它只是感觉有点脆弱:Web开发团队可以通过重命名该图像,或者在新版本中放置具有该名称的图像等来破坏您的测试。)

相关问题