Mocha with Selenium,如何在所有情况下使用浏览器

Mocha with Selenium, how to use the browser in all cases?

本文关键字:情况下 浏览器 Selenium with Mocha      更新时间:2023-09-26

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

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();放在测试用例中一切都很好,问题是,在它完成第一次测试后,它关闭浏览器,然后再次打开浏览器进行第二次测试,这花费了很多时间。

注:驱动程序是一个类,我为初始化我的浏览器,我想使它在整个项目中可用,我使用TypeScript,但我想我会在JS中有同样的问题,如何在所有测试用例中使用相同的变量?

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

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

为什么?对于自动化测试来说,通常的做法是每个测试都从一个新的实例开始。测试依赖通常是不受欢迎的。考虑以下内容:

TestSuite
  TestCase1
  TestCase2
  TestCase3
  TestCase4

假设TestCase2失败…现在34将失效。

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

相关文章: