| Index: test/wrappers/pages.js |
| =================================================================== |
| --- a/test/wrappers/pages.js |
| +++ b/test/wrappers/pages.js |
| @@ -140,15 +140,43 @@ |
| }).then(() => |
| getSections(this.driver) |
| ).then(sections => |
| - takeScreenshot(sections[i][1]) |
| - ).then(screenshot => |
| - assert.ok( |
| - screenshot.width == expectedScreenshot.width && |
| - screenshot.height == expectedScreenshot.height && |
| - screenshot.data.compare(expectedScreenshot.data) == 0, |
| - title |
| - ) |
| - ); |
| + { |
| + let element = sections[i][1]; |
| + |
| + if (title.startsWith("$popup ")) |
| + { |
| + return element.findElement( |
| + By.css("a[href],button") |
| + ).click().then(() => |
| + this.driver.sleep(100) |
| + ).then(() => |
| + this.driver.getAllWindowHandles() |
| + ).then(handles => |
| + { |
| + if (title.startsWith("$popup Exception -")) |
| + { |
| + assert.equal(handles.length, 3, title); |
| + |
| + return this.driver.switchTo().window(handles[2]).then(() => |
| + this.driver.close() |
| + ).then(() => |
| + this.driver.switchTo().window(handles[1]) |
| + ); |
| + } |
| + |
| + assert.equal(handles.length, 2, title); |
| + }); |
| + } |
| + |
| + return takeScreenshot(element).then(screenshot => |
| + assert.ok( |
| + screenshot.width == expectedScreenshot.width && |
| + screenshot.height == expectedScreenshot.height && |
| + screenshot.data.compare(expectedScreenshot.data) == 0, |
| + title |
| + ) |
| + ); |
| + }); |
| } |
| return p2; |
| }); |