无法监视浏览器窗口,因为它正在被监考/茉莉花测试单击



我正在用量角器,茉莉花,硒,Webdriver-manager测试我的AngularJS应用程序。我试图在测试通过时将浏览器保持在屏幕上,只是为了查看驱动程序是否进行了正确的点击、鼠标悬停和打字,以及我的测试是否属实。

browser.pause()这样的陈述似乎行不通。它确实暂停了浏览器,但显然是在describe块的最开始。我能做些什么来实际控制浏览器(即在单击时观察它,并准确地暂停在我想要的位置)

我的文件如下(所有测试均通过):

.js

exports.config = {
  directConnect: true,
  seleniumAddress: 'http://localhost:4444/wd/hub',
  capabilities: {
    'browserName': 'chrome'
  },
  baseUrl: 'http://localhost:63342/bet/',
  framework: 'jasmine',
  specs: ['my.spec.js'],
  jasmineNodeOpts: {
    defaultTimeoutInterval: 30000,
    showColors: true,
    isVerbose : false
  }
};

我的规格.js

describe('my test suite', function () {
    describe('log file menu', function () {
        var logMenu = by.repeater('logfile in availableLogs');
        browser.get('index.html');
        it('show details', function () {
            element(by.css('[show="showDetail"]')).click().then(function () {
                expect($('.max-occupancy-detail').isDisplayed()).toBeTruthy();
            });
        });
        it('should verify number of log files', function () {
            element.all(logMenu).then(function(elements){
                expect(elements.length).toEqual(6);
            });
        });
        it('should verify the first option is selected', function () {
            var first = element.all(logMenu).first();
            expect(first.getAttribute('selected')).not.toBeNull();
        });
        it('should verify the second option is not selected', function () {
            var second = element.all(logMenu).get(1);
            expect(second.getAttribute('selected')).toBeNull();
        });
        it('should select the third option', function () {
            var third = element.all(logMenu).get(2);
            third.click().then(function () {
                expect(third.getAttribute('selected')).not.toBeNull();
            });
        });
        browser.pause();
    });
});

要使浏览器在测试期间暂停,需要将 browser.pause() 放入要暂停的测试中。

it()函数不直接求值,而是保存您传递的测试函数以供以后运行。这就是为什么暂停直接发生在您的示例中的原因。

最新更新