File tree Expand file tree Collapse file tree 4 files changed +26
-0
lines changed
test-runner-webdriver/src Expand file tree Collapse file tree 4 files changed +26
-0
lines changed Original file line number Diff line number Diff line change 1
1
import { TestRunnerPlugin } from '@web/test-runner-core' ;
2
2
import type { ChromeLauncher } from '@web/test-runner-chrome' ;
3
3
import type { PlaywrightLauncher } from '@web/test-runner-playwright' ;
4
+ import type { WebdriverLauncher } from '@web/test-runner-webdriver' ;
4
5
5
6
export interface Viewport {
6
7
width : number ;
@@ -50,6 +51,12 @@ export function setViewportPlugin(): TestRunnerPlugin {
50
51
return true ;
51
52
}
52
53
54
+ if ( session . browser . type === 'webdriver' ) {
55
+ const browser = session . browser as WebdriverLauncher ;
56
+ await browser . setWindowSize ( session . id , payload . width , payload . height ) ;
57
+ return true ;
58
+ }
59
+
53
60
throw new Error (
54
61
`Setting viewport is not supported for browser type ${ session . browser . type } .` ,
55
62
) ;
Original file line number Diff line number Diff line change 1
1
import { TestRunnerCoreConfig } from '@web/test-runner-core' ;
2
2
import { Browser , Element } from 'webdriverio' ;
3
3
import { validateBrowserResult } from './coverage.js' ;
4
+ import { setWindowSize } from 'webdriverio/build/commands/browser.js' ;
4
5
5
6
/**
6
7
* Manages tests to be executed in iframes on a page.
@@ -155,6 +156,13 @@ export class IFrameManager {
155
156
return this . driver . keys ( keys ) ;
156
157
}
157
158
159
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
160
+ async setWindowSize ( _ : string , _width : number , _height : number ) {
161
+ throw new Error (
162
+ 'Unsupported operation. In order to set window size in Webdriver, set "concurrency" to 1.' ,
163
+ ) ;
164
+ }
165
+
158
166
// eslint-disable-next-line @typescript-eslint/no-unused-vars
159
167
async performActions ( _ : string , _actions : object [ ] ) {
160
168
throw new Error (
Original file line number Diff line number Diff line change @@ -80,6 +80,10 @@ export class SessionManager {
80
80
return { testCoverage : this . config . coverage ? testCoverage : undefined } ;
81
81
}
82
82
83
+ async setWindowSize ( _ : string , width : number , height : number ) {
84
+ return this . driver . setWindowSize ( width , height ) ;
85
+ }
86
+
83
87
async performActions ( _ : string , actions : object [ ] ) {
84
88
return this . driver . performActions ( actions ) ;
85
89
}
Original file line number Diff line number Diff line change @@ -229,6 +229,13 @@ export class WebdriverLauncher implements BrowserLauncher {
229
229
return this . driverManager . sendKeys ( sessionId , keys ) ;
230
230
}
231
231
232
+ setWindowSize ( sessionId : string , width : number , height : number ) {
233
+ if ( ! this . driverManager ) {
234
+ throw new Error ( 'Not initialized' ) ;
235
+ }
236
+ return this . driverManager . setWindowSize ( sessionId , width , height ) ;
237
+ }
238
+
232
239
takeScreenshot ( sessionId : string , locator : string ) {
233
240
if ( ! this . driverManager ) {
234
241
throw new Error ( 'Not initialized' ) ;
You can’t perform that action at this time.
0 commit comments