摩卡与Selenium,如何在所有情况下使用浏览器?

时间:2015-07-21 14:11:24

标签: javascript selenium typescript mocha chai

我仍然试图让这个东西运行起来,我当前的问题是我不能在我的所有测试用例中使用相同的浏览器。例如:

describe('Check the website', function() {
    var driver: Driver = new Driver();

it('Check website title', function() {
    this.timeout(0);

    driver.Firefox.get("http://google.com");
    driver.Firefox.getTitle().then(function(title){
        expect(title).to.equal('Google');
    });
});

it('Second test', function() {
    this.timeout(0);

    driver.Firefox.get("http://google.bg");
    driver.Firefox.getTitle().then(function(title) {
        expect(title).to.equal('Google24');
    });
    });
});

我想在所有测试中使用相同的浏览器,我该怎么做?

如果我把var driver: Driver = new Driver();放在测试用例中一切正常,问题是在完成第一次测试后它会关闭浏览器,然后再次打开它进行第二次测试,这会花费很多时间。

P.S。驱动程序是我用来初始化浏览器的类我想让它在整个项目中可用,我使用TypeScript,但我想我在JS中会遇到同样的问题,如何在所有测试用例中使用相同的变量?

1 个答案:

答案 0 :(得分:-1)

  

我想在所有测试中使用相同的浏览器,我该怎么做?

不要这样做..这是糟糕的测试设计。

为什么?自动化测试的常见做法是从每个测试的新实例开始。测试依赖性通常是不受欢迎的。请考虑以下事项:

TestSuite
  TestCase1
  TestCase2
  TestCase3
  TestCase4

TestCase2失败..现在34将会失败。

启动浏览器很便宜,在共享浏览器之前,您应该考虑幂等性和可维护性。