Selenium 当窗口选项卡自行关闭时,测试脚本出现错误
在我的应用程序中有一个功能,当提交报告时,报告选项卡将自动关闭,但在自动化中,我得到以下错误,如何解决这个问题 错误是Selenium 当窗口选项卡自行关闭时,测试脚本出现错误,selenium,selenium-webdriver,jasmine,protractor,Selenium,Selenium Webdriver,Jasmine,Protractor,在我的应用程序中有一个功能,当提交报告时,报告选项卡将自动关闭,但在自动化中,我得到以下错误,如何解决这个问题 错误是 D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\error.js:580 throw new ctor(value['message'] + '');
D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\error.js:580
throw new ctor(value['message'] + '');
^
NoSuchWindowError: no such window: target window already closed
from unknown error: web view not found
(Session info: chrome=67.0.3396.87)
(Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.16299 x86_64)
at Object.checkLegacyResponse (D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\error.js:580:13)
at D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\lib\webdriver.js:360:15
at Promise.invokeCallback_ (D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\lib\promise.js:1329:14)
at TaskQueue.execute_ (D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\lib\promise.js:2790:14)
at TaskQueue.executeNext_ (D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\lib\promise.js:2773:21)
at asyncRun (D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\lib\promise.js:2652:27)
at D:\e2eWorkspace\fem_e2e\node_modules\selenium-webdriver\lib\promise.js:639:7
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
使用以下代码返回上一个选项卡:
browser.getAllWindowHandles().then(function(handles) {
newWindowHandle = handles[1]; // this is your new window
browser.switchTo().window(newWindowHandle);
});
提交报告时您会做什么?在提交表单之前,您可以切换到默认驱动器window@Oleksii“报告”的意思是,有一个表单需要提交,它是强制性的,当该表单在“新”选项卡中打开并提交时,窗口会自动关闭。@AnkurSingh我在关闭选项卡之前就尝试过这个方法,我试着切换回“家长”选项卡,但事实并非如此working@SuhailAhmed您需要共享您的执行代码、它是如何处理的以及哪里出了问题。
browser.getAllWindowHandles().then(function(handles) {
newWindowHandle = handles[1]; // this is your new window
browser.switchTo().window(newWindowHandle);
});