gpt4 book ai didi

selenium - 无法使用 NightwatchJS 关闭浏览器

转载 作者:行者123 更新时间:2023-12-03 06:26:50 25 4
gpt4 key购买 nike

我正在尝试使用 Nightwatch 打开我的网址,但之后无法关闭浏览器。

我尝试使用 timeouts ,以及 browser.end()browser.closeWindow()。它们似乎都不适用于我的网址。

module.exports = {
'Demo test mywrkouts' : function (browser) {
browser.url('https://www.mywrkouts.com/workouts/search')
browser.timeouts('script', 10000, function(result) {
browser.end();
console.log("Test result"+result);
});
//browser.closeWindow();
}
};

它会打开页面,但不会关闭浏览器。我正在使用带有 chromedriver 的 Chrome 浏览器。我希望关闭窗口,但它不起作用。

如有任何建议,我们将不胜感激。

最佳答案

LE:就像我在下面详细描述的那样,您不需要在测试结束时显式关闭浏览器(通过browser.end()),因为 Nightwatch 测试运行程序会在每个功能文件的末尾为您执行此操作。

但是,如果您需要执行一些拆卸操作,然后显式关闭 session ,请在 after (或 afterEach)中执行此操作钩。尝试以下代码片段:

module.exports = {

before(browser) {
browser.maximizeWindow();
},

'My Wrkouts Test': (browser) => {

browser.url('https://www.mywrkouts.com/');
// Check if the website logo is visible:
browser.expect.element('#barbell-homepage-top-image-desktop img.app-bar-desktop-logo').to.be.visible;
// Check the articles heading text:
browser.expect.element('h3.blog-carousel-title.primary-blue-text.center').text.to.contain('Foundational Education Series');
},

after(browser, done) {
browser.end(() => {
console.info('*--*--*--*--*--*--*--*--*--*--*--*--*');
console.info('*-- Clossing session... Good bye! --*');
console.info('*--*--*--*--*--*--*--*--*--*--*--*--*');
done();
});
}
};
<小时/>

无论如何,我觉得您对 NightwatchJS/WebdriverIO/Protractor(或任何其他基于 Webdriver 的测试解决方案)处理浏览器 session 的方式感到困惑。

首先,您不必担心关闭事件 session 。 Nightwatch 在每个测试功能文件的末尾为您完成此操作。因此,运行一组三个测试套件(login.jsregister.jsforgot_password.js)将依次生成并关闭三个不同的浏览器 session 。

此外,browser.closeWindow()仅用于关闭窗口实例(考虑到您有多个窗口与同一个浏览器 session 关联)。它不会关闭您的主窗口,除非您已切换到另一个窗口实例(之前在测试运行期间打开)。

如果您使用browser.end()在测试过程中,您基本上会终止事件 session ,从而使功能文件中的以下逻辑无效:

INFO Request: DELETE /wd/hub/session/4a4bb4cb1b38409ee466b0fc8af78101
- data:
- headers: {"Content-Length":0,"Authorization":"Basic Z29wcm86YmM3MDk2MGYtZGE0Yy00OGUyLTk5MGMtMzA5MmNmZGJhZTMz"}
INFO Response 200 DELETE /wd/hub/session/4a4bb4cb1b38409ee466b0fc8af78101 (56ms) { sessionId: '4a4bb4cb1b38409ee466b0fc8af78101',
status: 0,
value: null }
LOG → Completed command end (57 ms)

之后的一切都会像这样:

INFO Response 404 POST /wd/hub/session/null/elements (11ms) { sessionId: 'null',
value:
{ error: 'invalid session id',
message: 'No active session with ID null',
stacktrace: '' },
status: 6 }

!Note: There is no support for doing what you are trying to do, nor is it a common use-case, thus the lack of support for it across all of these testing solutions.

他们说一张图片值 1000 个单词,所以让我简单地这样说...您想要做的与以下内容同义:

enter image description here

关于selenium - 无法使用 NightwatchJS 关闭浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54507540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com