1- // file: playwright/config/browser-config.ts
21import { devices , type Project } from '@playwright/test'
32
4- // Extend Playwright's Project type to guarantee a name
3+ export enum Nettlesernavn {
4+ DESKTOP_CHROME = 'Desktop Chrome' ,
5+ DESKTOP_CHROME_MED_DEKORATOR = 'Desktop Chrome med dekorator' ,
6+ MOBILE_CHROME = 'Mobile Chrome' ,
7+ MOBILE_CHROMIUM_MED_DEKORATOR = 'Mobile Chromium med dekorator' ,
8+ DESKTOP_FIREFOX = 'Desktop Firefox' ,
9+ DESKTOP_FIREFOX_MED_DEKORATOR = 'Desktop Firefox med dekorator' ,
10+ FIREFOX_RESPONSIVE = 'Firefox (responsive)' ,
11+ MOBILE_FIREFOX_MED_DEKORATOR = 'Mobile Firefox med dekorator' ,
12+ DESKTOP_WEBKIT = 'Desktop WebKit' ,
13+ DESKTOP_WEBKIT_MED_DEKORATOR = 'Desktop WebKit med dekorator' ,
14+ MOBILE_WEBKIT = 'Mobile WebKit' ,
15+ MOBILE_WEBKIT_MED_DEKORATOR = 'Mobile WebKit med dekorator' ,
16+ }
17+
518export type NamedProject = Project & { name : string }
619
7- export function commonBrowserConfigs ( opts : { baseURL : string } ) : NamedProject [ ] {
20+ export function commonBrowserConfigs ( opts : { baseURL : string } , optsMedDekorator : { baseURL : string } ) : NamedProject [ ] {
821 return [
922 {
10- name : 'Desktop Chromium' ,
23+ name : Nettlesernavn . DESKTOP_CHROME ,
1124 use : {
1225 ...devices [ 'Desktop Chrome' ] ,
1326 viewport : { width : 1920 , height : 1080 } ,
@@ -16,7 +29,16 @@ export function commonBrowserConfigs(opts: { baseURL: string }): NamedProject[]
1629 testIgnore : '**/brodsmuler.spec.ts' ,
1730 } ,
1831 {
19- name : 'Mobile Chromium' ,
32+ name : Nettlesernavn . DESKTOP_CHROME_MED_DEKORATOR ,
33+ use : {
34+ ...devices [ 'Desktop Chrome' ] ,
35+ viewport : { width : 1920 , height : 1080 } ,
36+ baseURL : optsMedDekorator . baseURL ,
37+ } ,
38+ testMatch : '**/brodsmuler.spec.ts' ,
39+ } ,
40+ {
41+ name : Nettlesernavn . MOBILE_CHROME ,
2042 use : {
2143 ...devices [ 'Pixel 5' ] ,
2244 viewport : { width : 375 , height : 667 } ,
@@ -26,7 +48,17 @@ export function commonBrowserConfigs(opts: { baseURL: string }): NamedProject[]
2648 testIgnore : '**/brodsmuler.spec.ts' ,
2749 } ,
2850 {
29- name : 'Desktop Firefox' ,
51+ name : Nettlesernavn . MOBILE_CHROMIUM_MED_DEKORATOR ,
52+ use : {
53+ ...devices [ 'Pixel 5' ] ,
54+ viewport : { width : 375 , height : 667 } ,
55+ isMobile : true ,
56+ baseURL : optsMedDekorator . baseURL ,
57+ } ,
58+ testMatch : '**/brodsmuler.spec.ts' ,
59+ } ,
60+ {
61+ name : Nettlesernavn . DESKTOP_FIREFOX ,
3062 use : {
3163 ...devices [ 'Desktop Firefox' ] ,
3264 viewport : { width : 1920 , height : 1080 } ,
@@ -35,17 +67,37 @@ export function commonBrowserConfigs(opts: { baseURL: string }): NamedProject[]
3567 testIgnore : '**/brodsmuler.spec.ts' ,
3668 } ,
3769 {
38- name : 'Mobile Firefox' ,
70+ name : Nettlesernavn . DESKTOP_FIREFOX_MED_DEKORATOR ,
3971 use : {
40- ...devices [ 'Pixel 5' ] ,
72+ ...devices [ 'Desktop Firefox' ] ,
73+ viewport : { width : 1920 , height : 1080 } ,
74+ baseURL : optsMedDekorator . baseURL ,
75+ } ,
76+ testMatch : '**/brodsmuler.spec.ts' ,
77+ } ,
78+ {
79+ name : Nettlesernavn . FIREFOX_RESPONSIVE ,
80+ use : {
81+ browserName : 'firefox' ,
4182 viewport : { width : 375 , height : 667 } ,
42- isMobile : true ,
83+ userAgent :
84+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/40.0 Mobile/15E148 Safari/605.1.15' ,
4385 baseURL : opts . baseURL ,
4486 } ,
4587 testIgnore : '**/brodsmuler.spec.ts' ,
4688 } ,
4789 {
48- name : 'Desktop WebKit' ,
90+ name : Nettlesernavn . MOBILE_FIREFOX_MED_DEKORATOR ,
91+ use : {
92+ ...devices [ 'Pixel 5' ] ,
93+ viewport : { width : 375 , height : 667 } ,
94+ isMobile : true ,
95+ baseURL : optsMedDekorator . baseURL ,
96+ } ,
97+ testMatch : '**/brodsmuler.spec.ts' ,
98+ } ,
99+ {
100+ name : Nettlesernavn . DESKTOP_WEBKIT ,
49101 use : {
50102 ...devices [ 'Desktop Safari' ] ,
51103 viewport : { width : 1920 , height : 1080 } ,
@@ -54,7 +106,16 @@ export function commonBrowserConfigs(opts: { baseURL: string }): NamedProject[]
54106 testIgnore : '**/brodsmuler.spec.ts' ,
55107 } ,
56108 {
57- name : 'Mobile WebKit' ,
109+ name : Nettlesernavn . DESKTOP_WEBKIT_MED_DEKORATOR ,
110+ use : {
111+ ...devices [ 'Desktop Safari' ] ,
112+ viewport : { width : 1920 , height : 1080 } ,
113+ baseURL : optsMedDekorator . baseURL ,
114+ } ,
115+ testMatch : '**/brodsmuler.spec.ts' ,
116+ } ,
117+ {
118+ name : Nettlesernavn . MOBILE_WEBKIT ,
58119 use : {
59120 ...devices [ 'iPhone 12' ] ,
60121 viewport : { width : 375 , height : 667 } ,
@@ -63,6 +124,16 @@ export function commonBrowserConfigs(opts: { baseURL: string }): NamedProject[]
63124 } ,
64125 testIgnore : '**/brodsmuler.spec.ts' ,
65126 } ,
127+ {
128+ name : Nettlesernavn . MOBILE_WEBKIT_MED_DEKORATOR ,
129+ use : {
130+ ...devices [ 'iPhone 12' ] ,
131+ viewport : { width : 375 , height : 667 } ,
132+ isMobile : true ,
133+ baseURL : optsMedDekorator . baseURL ,
134+ } ,
135+ testMatch : '**/brodsmuler.spec.ts' ,
136+ } ,
66137 ]
67138}
68139
0 commit comments