From 707dc10d9f2cd7329c59569d1e93f30d69c3fab2 Mon Sep 17 00:00:00 2001 From: aerokube/images Date: Tue, 25 Jul 2023 15:22:47 +0000 Subject: [PATCH] Publishing to gh-pages --- 7.3.1/img/favicon.png | Bin 0 -> 1908 bytes 7.3.1/img/og-image.jpg | Bin 0 -> 117092 bytes 7.3.1/index.html | 6849 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 6849 insertions(+) create mode 100644 7.3.1/img/favicon.png create mode 100644 7.3.1/img/og-image.jpg create mode 100644 7.3.1/index.html diff --git a/7.3.1/img/favicon.png b/7.3.1/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7667a253de682519c97b22e058c6fd2306b6bf76 GIT binary patch literal 1908 zcmV-)2aEWLP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 + + + + + + + + + +Browser Images - A set of browser images for Selenoid and Moon + + + + + + + + + + + + + + + +
+
+
+
+

This reference covers version: 7.3.1

+
+
+

This section contains information about browser images available for using with Selenoid and Moon. Please refer to GitHub repository if you need source code.

+
+
+
+
+

1. Browser Image Information

+
+
+

1.1. Chrome Developer Tools Protocol

+
+

These images should be used with tools and frameworks relying on Chrome Developer Tools Protocol such as Puppeteer.

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Chrome Developer Tools Protocol Images
ImageChrome version

cdtp/chrome:85.0

85.0.4183.121

cdtp/chrome:86.0

86.0.4240.111

cdtp/chrome:87.0

87.0.4280.66

cdtp/chrome:88.0

88.0.4324.182

cdtp/chrome:89.0

89.0.4389.72

cdtp/chrome:90.0

90.0.4430.85

cdtp/chrome:93.0

93.0.4577.63

+
+
+

1.2. Cypress

+
+

These images are used to run Cypress tests in parallel.

+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Chromium Images
ImageAliasesCypress versionChromium version

browsers/cypress-chromium:cypress-6.8.0

-

6.8.0

91.0.4472.101

browsers/cypress-chromium:cypress-6.9.1

-

6.9.1

91.0.4472.101

browsers/cypress-chromium:cypress-7.0.0

-

7.0.0

91.0.4472.101

browsers/cypress-chromium:cypress-7.0.1

-

7.0.1

91.0.4472.101

browsers/cypress-chromium:cypress-7.1.0

-

7.1.0

91.0.4472.101

browsers/cypress-chromium:cypress-7.2.0

-

7.2.0

91.0.4472.101

browsers/cypress-chromium:cypress-7.3.0

-

7.3.0

91.0.4472.101

browsers/cypress-chromium:cypress-7.4.0

-

7.4.0

91.0.4472.101

browsers/cypress-chromium:cypress-7.5.0

-

7.5.0

91.0.4472.101

browsers/cypress-chromium:cypress-7.6.0

-

7.6.0

91.0.4472.101

browsers/cypress-chromium:cypress-7.7.0

-

7.7.0

91.0.4472.101

browsers/cypress-chromium:cypress-8.0.0

-

8.0.0

91.0.4472.101

browsers/cypress-chromium:cypress-8.1.0

-

8.1.0

91.0.4472.101

browsers/cypress-chromium:cypress-8.2.0

-

8.2.0

91.0.4472.101

browsers/cypress-chromium:cypress-8.3.0

browsers/cypress-chromium:91.0

8.3.0

91.0.4472.101

browsers/cypress-chromium:cypress-8.3.1

-

8.3.1

92.0.4515.159

browsers/cypress-chromium:cypress-8.4.0

-

8.4.0

92.0.4515.159

browsers/cypress-chromium:cypress-8.4.1

browsers/cypress-chromium:92.0

8.4.1

92.0.4515.159

browsers/cypress-chromium:cypress-8.5.0

browsers/cypress-chromium:93.0

8.5.0

93.0.4577.63

browsers/cypress-chromium:cypress-8.6.0

-

8.6.0

94.0.4606.71

browsers/cypress-chromium:cypress-8.7.0

browsers/cypress-chromium:94.0

8.7.0

94.0.4606.81

browsers/cypress-chromium:cypress-9.0.0

-

9.0.0

95.0.4638.69

browsers/cypress-chromium:cypress-9.1.0

-

9.1.0

95.0.4638.69

browsers/cypress-chromium:cypress-9.1.1

-

9.1.1

95.0.4638.69

browsers/cypress-chromium:cypress-9.2.0

-

9.2.0

95.0.4638.69

browsers/cypress-chromium:cypress-9.2.1

browsers/cypress-chromium:95.0

9.2.1

95.0.4638.69

browsers/cypress-chromium:cypress-9.3.0

-

9.3.0

97.0.4692.71

browsers/cypress-chromium:cypress-9.3.1

-

9.3.1

97.0.4692.71

browsers/cypress-chromium:cypress-9.4.0

-

9.4.0

97.0.4692.71

browsers/cypress-chromium:cypress-9.4.1

-

9.4.1

97.0.4692.71

browsers/cypress-chromium:cypress-9.5.0

-

9.5.0

97.0.4692.71

browsers/cypress-chromium:cypress-9.5.1

browsers/cypress-chromium:97.0

9.5.1

97.0.4692.71

browsers/cypress-chromium:cypress-9.5.2

-

9.5.2

99.0.4844.51

browsers/cypress-chromium:cypress-9.5.3

-

9.5.3

99.0.4844.84

browsers/cypress-chromium:cypress-9.5.4

browsers/cypress-chromium:99.0

9.5.4

99.0.4844.84

browsers/cypress-chromium:cypress-9.6.0

-

9.6.0

100.0.4896.127

browsers/cypress-chromium:cypress-9.6.1

browsers/cypress-chromium:100.0

9.6.1

100.0.4896.127

browsers/cypress-chromium:cypress-9.7.0

-

9.7.0

101.0.4951.64

browsers/cypress-chromium:cypress-10.0.0

-

10.0.0

101.0.4951.64

browsers/cypress-chromium:cypress-10.0.1

-

10.0.1

101.0.4951.64

browsers/cypress-chromium:cypress-10.0.2

-

10.0.2

101.0.4951.64

browsers/cypress-chromium:cypress-10.0.3

-

10.0.3

101.0.4951.64

browsers/cypress-chromium:cypress-10.1.0

-

10.1.0

101.0.4951.64

browsers/cypress-chromium:cypress-10.2.0

-

10.2.0

101.0.4951.64

browsers/cypress-chromium:cypress-10.3.0

-

10.3.0

101.0.4951.64

browsers/cypress-chromium:cypress-10.3.1

browsers/cypress-chromium:101.0

10.3.1

101.0.4951.64

browsers/cypress-chromium:cypress-10.4.0

-

10.4.0

103.0.5060.134

browsers/cypress-chromium:cypress-10.5.0

-

10.5.0

103.0.5060.134

browsers/cypress-chromium:cypress-10.6.0

browsers/cypress-chromium:103.0

10.6.0

103.0.5060.134

browsers/cypress-chromium:cypress-10.7.0

-

10.7.0

104.0.5112.101

browsers/cypress-chromium:cypress-10.8.0

browsers/cypress-chromium:104.0

10.8.0

104.0.5112.101

browsers/cypress-chromium:cypress-10.9.0

-

10.9.0

105.0.5195.102

browsers/cypress-chromium:cypress-10.10.0

-

10.10.0

105.0.5195.102

browsers/cypress-chromium:cypress-10.11.0

-

10.11.0

105.0.5195.102

browsers/cypress-chromium:cypress-11.0.0

-

11.0.0

105.0.5195.102

browsers/cypress-chromium:cypress-11.0.1

browsers/cypress-chromium:105.0

11.0.1

105.0.5195.102

browsers/cypress-chromium:cypress-11.1.0

-

11.1.0

107.0.5304.87

browsers/cypress-chromium:cypress-11.2.0

browsers/cypress-chromium:107.0

11.2.0

107.0.5304.87

browsers/cypress-chromium:cypress-12.0.0

-

12.0.0

108.0.5359.71

browsers/cypress-chromium:cypress-12.0.1

-

12.0.1

108.0.5359.71

browsers/cypress-chromium:cypress-12.0.2

-

12.0.2

108.0.5359.71

browsers/cypress-chromium:cypress-12.1.0

-

12.1.0

108.0.5359.71

browsers/cypress-chromium:cypress-12.2.0

-

12.2.0

108.0.5359.71

browsers/cypress-chromium:cypress-12.3.0

browsers/cypress-chromium:108.0

12.3.0

108.0.5359.71

browsers/cypress-chromium:cypress-12.4.0

-

12.4.0

109.0.5414.74

browsers/cypress-chromium:cypress-12.4.1

-

12.4.1

109.0.5414.74

browsers/cypress-chromium:cypress-12.5.0

-

12.5.0

109.0.5414.74

browsers/cypress-chromium:cypress-12.5.1

browsers/cypress-chromium:109.0

12.5.1

109.0.5414.74

browsers/cypress-chromium:cypress-12.6.0

browsers/cypress-chromium:110.0

12.6.0

110.0.5481.100

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. Chrome Images
ImageAliasesCypress versionChrome version

browsers/cypress-chrome:cypress-6.8.0

-

6.8.0

91.0.4472.114

browsers/cypress-chrome:cypress-6.9.1

-

6.9.1

91.0.4472.114

browsers/cypress-chrome:cypress-7.0.0

-

7.0.0

91.0.4472.114

browsers/cypress-chrome:cypress-7.0.1

-

7.0.1

91.0.4472.114

browsers/cypress-chrome:cypress-7.1.0

-

7.1.0

91.0.4472.114

browsers/cypress-chrome:cypress-7.2.0

-

7.2.0

91.0.4472.114

browsers/cypress-chrome:cypress-7.3.0

-

7.3.0

91.0.4472.114

browsers/cypress-chrome:cypress-7.4.0

-

7.4.0

91.0.4472.114

browsers/cypress-chrome:cypress-7.5.0

-

7.5.0

91.0.4472.114

browsers/cypress-chrome:cypress-7.6.0

-

7.6.0

91.0.4472.114

browsers/cypress-chrome:cypress-7.7.0

-

7.7.0

91.0.4472.114

browsers/cypress-chrome:cypress-8.0.0

browsers/cypress-chrome:91.0

8.0.0

91.0.4472.164

browsers/cypress-chrome:cypress-8.1.0

-

8.1.0

92.0.4515.107

browsers/cypress-chrome:cypress-8.2.0

-

8.2.0

92.0.4515.131

browsers/cypress-chrome:cypress-8.3.0

-

8.3.0

92.0.4515.159

browsers/cypress-chrome:cypress-8.3.1

browsers/cypress-chrome:92.0

8.3.1

92.0.4515.159

browsers/cypress-chrome:cypress-8.4.0

-

8.4.0

93.0.4577.82

browsers/cypress-chrome:cypress-8.4.1

browsers/cypress-chrome:93.0

8.4.1

93.0.4577.82

browsers/cypress-chrome:cypress-8.5.0

-

8.5.0

94.0.4606.61

browsers/cypress-chrome:cypress-8.6.0

browsers/cypress-chrome:94.0

8.6.0

94.0.4606.81

browsers/cypress-chrome:cypress-8.7.0

-

8.7.0

95.0.4638.54

browsers/cypress-chrome:cypress-9.0.0

-

9.0.0

96.0.4664.45

browsers/cypress-chrome:cypress-9.1.0

-

9.1.0

96.0.4664.45

browsers/cypress-chrome:cypress-9.1.1

-

9.1.1

96.0.4664.45

browsers/cypress-chrome:cypress-9.2.0

browsers/cypress-chrome:96.0

9.2.0

96.0.4664.110

browsers/cypress-chrome:cypress-9.2.1

-

9.2.1

97.0.4692.71

browsers/cypress-chrome:cypress-9.3.0

-

9.3.0

97.0.4692.71

browsers/cypress-chrome:cypress-9.3.1

browsers/cypress-chrome:97.0

9.3.1

97.0.4692.71

browsers/cypress-chrome:cypress-9.4.0

-

9.4.0

98.0.4758.80

browsers/cypress-chrome:cypress-9.4.1

-

9.4.1

98.0.4758.80

browsers/cypress-chrome:cypress-9.5.0

browsers/cypress-chrome:98.0

9.5.0

98.0.4758.102

browsers/cypress-chrome:cypress-9.5.1

-

9.5.1

99.0.4844.51

browsers/cypress-chrome:cypress-9.5.2

browsers/cypress-chrome:99.0

9.5.2

99.0.4844.74

browsers/cypress-chrome:cypress-9.5.3

-

9.5.3

100.0.4896.60

browsers/cypress-chrome:cypress-9.5.4

-

9.5.4

100.0.4896.88

browsers/cypress-chrome:cypress-9.6.0

browsers/cypress-chrome:100.0

9.6.0

100.0.4896.127

browsers/cypress-chrome:cypress-9.6.1

-

9.6.1

101.0.4951.64

browsers/cypress-chrome:cypress-9.7.0

browsers/cypress-chrome:101.0

9.7.0

101.0.4951.64

browsers/cypress-chrome:cypress-10.0.0

-

10.0.0

102.0.5005.115

browsers/cypress-chrome:cypress-10.0.1

-

10.0.1

102.0.5005.115

browsers/cypress-chrome:cypress-10.0.2

-

10.0.2

102.0.5005.115

browsers/cypress-chrome:cypress-10.0.3

-

10.0.3

102.0.5005.115

browsers/cypress-chrome:cypress-10.1.0

browsers/cypress-chrome:102.0

10.1.0

102.0.5005.115

browsers/cypress-chrome:cypress-10.2.0

-

10.2.0

103.0.5060.53

browsers/cypress-chrome:cypress-10.3.0

-

10.3.0

103.0.5060.53

browsers/cypress-chrome:cypress-10.3.1

browsers/cypress-chrome:103.0

10.3.1

103.0.5060.134

browsers/cypress-chrome:cypress-10.4.0

-

10.4.0

104.0.5112.79

browsers/cypress-chrome:cypress-10.5.0

-

10.5.0

104.0.5112.101

browsers/cypress-chrome:cypress-10.6.0

browsers/cypress-chrome:104.0

10.6.0

104.0.5112.101

browsers/cypress-chrome:cypress-10.7.0

-

10.7.0

105.0.5195.52

browsers/cypress-chrome:cypress-10.8.0

browsers/cypress-chrome:105.0

10.8.0

105.0.5195.125

browsers/cypress-chrome:cypress-10.9.0

-

10.9.0

106.0.5249.61

browsers/cypress-chrome:cypress-10.10.0

browsers/cypress-chrome:106.0

10.10.0

106.0.5249.119

browsers/cypress-chrome:cypress-10.11.0

-

10.11.0

107.0.5304.87

browsers/cypress-chrome:cypress-11.0.0

-

11.0.0

107.0.5304.110

browsers/cypress-chrome:cypress-11.0.1

-

11.0.1

107.0.5304.110

browsers/cypress-chrome:cypress-11.1.0

-

11.1.0

107.0.5304.110

browsers/cypress-chrome:cypress-11.2.0

browsers/cypress-chrome:107.0

11.2.0

107.0.5304.110

browsers/cypress-chrome:cypress-12.0.0

-

12.0.0

108.0.5359.98

browsers/cypress-chrome:cypress-12.0.1

-

12.0.1

108.0.5359.98

browsers/cypress-chrome:cypress-12.0.2

-

12.0.2

108.0.5359.98

browsers/cypress-chrome:cypress-12.1.0

-

12.1.0

108.0.5359.98

browsers/cypress-chrome:cypress-12.2.0

-

12.2.0

108.0.5359.124

browsers/cypress-chrome:cypress-12.3.0

browsers/cypress-chrome:108.0

12.3.0

108.0.5359.124

browsers/cypress-chrome:cypress-12.4.0

-

12.4.0

109.0.5414.119

browsers/cypress-chrome:cypress-12.4.1

browsers/cypress-chrome:109.0

12.4.1

109.0.5414.119

browsers/cypress-chrome:cypress-12.5.0

-

12.5.0

110.0.5481.77

browsers/cypress-chrome:cypress-12.5.1

-

12.5.1

110.0.5481.77

browsers/cypress-chrome:cypress-12.6.0

browsers/cypress-chrome:110.0

12.6.0

110.0.5481.100

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Electron Images
ImageCypress version

browsers/cypress-electron:cypress-6.8.0

6.8.0

browsers/cypress-electron:cypress-6.9.1

6.9.1

browsers/cypress-electron:cypress-7.0.0

7.0.0

browsers/cypress-electron:cypress-7.0.1

7.0.1

browsers/cypress-electron:cypress-7.1.0

7.1.0

browsers/cypress-electron:cypress-7.2.0

7.2.0

browsers/cypress-electron:cypress-7.3.0

7.3.0

browsers/cypress-electron:cypress-7.4.0

7.4.0

browsers/cypress-electron:cypress-7.5.0

7.5.0

browsers/cypress-electron:cypress-7.6.0

7.6.0

browsers/cypress-electron:cypress-7.7.0

7.7.0

browsers/cypress-electron:cypress-8.0.0

8.0.0

browsers/cypress-electron:cypress-8.1.0

8.1.0

browsers/cypress-electron:cypress-8.2.0

8.2.0

browsers/cypress-electron:cypress-8.3.0

8.3.0

browsers/cypress-electron:cypress-8.3.1

8.3.1

browsers/cypress-electron:cypress-8.4.0

8.4.0

browsers/cypress-electron:cypress-8.4.1

8.4.1

browsers/cypress-electron:cypress-8.5.0

8.5.0

browsers/cypress-electron:cypress-8.6.0

8.6.0

browsers/cypress-electron:cypress-8.7.0

8.7.0

browsers/cypress-electron:cypress-9.0.0

9.0.0

browsers/cypress-electron:cypress-9.1.0

9.1.0

browsers/cypress-electron:cypress-9.1.1

9.1.1

browsers/cypress-electron:cypress-9.2.0

9.2.0

browsers/cypress-electron:cypress-9.2.1

9.2.1

browsers/cypress-electron:cypress-9.3.0

9.3.0

browsers/cypress-electron:cypress-9.3.1

9.3.1

browsers/cypress-electron:cypress-9.4.0

9.4.0

browsers/cypress-electron:cypress-9.4.1

9.4.1

browsers/cypress-electron:cypress-9.5.0

9.5.0

browsers/cypress-electron:cypress-9.5.1

9.5.1

browsers/cypress-electron:cypress-9.5.2

9.5.2

browsers/cypress-electron:cypress-9.5.3

9.5.3

browsers/cypress-electron:cypress-9.5.4

9.5.4

browsers/cypress-electron:cypress-9.6.0

9.6.0

browsers/cypress-electron:cypress-9.6.1

9.6.1

browsers/cypress-electron:cypress-9.7.0

9.7.0

browsers/cypress-electron:cypress-10.0.0

10.0.0

browsers/cypress-electron:cypress-10.0.1

10.0.1

browsers/cypress-electron:cypress-10.0.2

10.0.2

browsers/cypress-electron:cypress-10.0.3

10.0.3

browsers/cypress-electron:cypress-10.1.0

10.1.0

browsers/cypress-electron:cypress-10.2.0

10.2.0

browsers/cypress-electron:cypress-10.3.0

10.3.0

browsers/cypress-electron:cypress-10.3.1

10.3.1

browsers/cypress-electron:cypress-10.4.0

10.4.0

browsers/cypress-electron:cypress-10.5.0

10.5.0

browsers/cypress-electron:cypress-10.6.0

10.6.0

browsers/cypress-electron:cypress-10.7.0

10.7.0

browsers/cypress-electron:cypress-10.8.0

10.8.0

browsers/cypress-electron:cypress-10.9.0

10.9.0

browsers/cypress-electron:cypress-10.10.0

10.10.0

browsers/cypress-electron:cypress-10.11.0

10.11.0

browsers/cypress-electron:cypress-11.0.0

11.0.0

browsers/cypress-electron:cypress-11.0.1

11.0.1

browsers/cypress-electron:cypress-11.1.0

11.1.0

browsers/cypress-electron:cypress-11.2.0

11.2.0

browsers/cypress-electron:cypress-12.0.0

12.0.0

browsers/cypress-electron:cypress-12.0.1

12.0.1

browsers/cypress-electron:cypress-12.0.2

12.0.2

browsers/cypress-electron:cypress-12.1.0

12.1.0

browsers/cypress-electron:cypress-12.2.0

12.2.0

browsers/cypress-electron:cypress-12.3.0

12.3.0

browsers/cypress-electron:cypress-12.4.0

12.4.0

browsers/cypress-electron:cypress-12.4.1

12.4.1

browsers/cypress-electron:cypress-12.5.0

12.5.0

browsers/cypress-electron:cypress-12.5.1

12.5.1

browsers/cypress-electron:cypress-12.6.0

12.6.0

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. Microsoft Edge Images
ImageAliasesCypress versionEdge version

browsers/cypress-edge:cypress-6.8.0

-

6.8.0

92.0.902.15

browsers/cypress-edge:cypress-6.9.0

-

6.9.0

92.0.902.15

browsers/cypress-edge:cypress-6.9.1

-

6.9.1

92.0.902.15

browsers/cypress-edge:cypress-7.0.0

-

7.0.0

92.0.902.15

browsers/cypress-edge:cypress-7.0.1

-

7.0.1

92.0.902.15

browsers/cypress-edge:cypress-7.1.0

-

7.1.0

92.0.902.15

browsers/cypress-edge:cypress-7.2.0

-

7.2.0

92.0.902.15

browsers/cypress-edge:cypress-7.3.0

-

7.3.0

92.0.902.15

browsers/cypress-edge:cypress-7.4.0

-

7.4.0

92.0.902.15

browsers/cypress-edge:cypress-7.5.0

-

7.5.0

92.0.902.15

browsers/cypress-edge:cypress-7.6.0

-

7.6.0

92.0.902.15

browsers/cypress-edge:cypress-7.7.0

-

7.7.0

92.0.902.40

browsers/cypress-edge:cypress-8.0.0

-

8.0.0

92.0.902.49

browsers/cypress-edge:cypress-8.1.0

browsers/cypress-edge:92.0

8.1.0

92.0.902.62

browsers/cypress-edge:cypress-8.2.0

-

8.2.0

93.0.961.11

browsers/cypress-edge:cypress-8.3.0

-

8.3.0

93.0.961.18

browsers/cypress-edge:cypress-8.3.1

browsers/cypress-edge:93.0

8.3.1

93.0.961.33

browsers/cypress-edge:cypress-8.4.0

-

8.4.0

94.0.992.19

browsers/cypress-edge:cypress-8.4.1

browsers/cypress-edge:94.0

8.4.1

94.0.992.23

browsers/cypress-edge:cypress-8.5.0

-

8.5.0

95.0.1020.9

browsers/cypress-edge:cypress-8.6.0

-

8.6.0

95.0.1020.20

browsers/cypress-edge:cypress-8.7.0

-

8.7.0

95.0.1020.30

browsers/cypress-edge:cypress-9.0.0

browsers/cypress-edge:95.0

9.0.0

95.0.1020.53

browsers/cypress-edge:cypress-9.1.0

-

9.1.0

96.0.4664.45

browsers/cypress-edge:cypress-9.1.1

-

9.1.1

96.0.1054.43

browsers/cypress-edge:cypress-9.2.0

browsers/cypress-edge:96.0

9.2.0

96.0.1054.62

browsers/cypress-edge:cypress-9.2.1

-

9.2.1

97.0.1072.55

browsers/cypress-edge:cypress-9.3.0

-

9.3.0

97.0.1072.62

browsers/cypress-edge:cypress-9.3.1

-

9.3.1

97.0.1072.62

browsers/cypress-edge:cypress-9.4.0

-

9.4.0

97.0.1072.76

browsers/cypress-edge:cypress-9.4.1

browsers/cypress-edge:97.0

9.4.1

97.0.1072.76

browsers/cypress-edge:cypress-9.5.0

-

9.5.0

98.0.1108.56

browsers/cypress-edge:cypress-9.5.1

browsers/cypress-edge:98.0

9.5.1

98.0.1108.62

browsers/cypress-edge:cypress-9.5.2

-

9.5.2

99.0.1150.38

browsers/cypress-edge:cypress-9.5.3

browsers/cypress-edge:99.0

9.5.3

99.0.1150.55

browsers/cypress-edge:cypress-9.5.4

-

9.5.4

100.0.1185.39

browsers/cypress-edge:cypress-9.6.0

browsers/cypress-edge:100.0

9.6.0

100.0.1185.50

browsers/cypress-edge:cypress-9.6.1

-

9.6.1

101.0.1210.39

browsers/cypress-edge:cypress-9.7.0

browsers/cypress-edge:101.0

9.7.0

101.0.1210.53

browsers/cypress-edge:cypress-10.0.0

-

10.0.0

102.0.1245.39

browsers/cypress-edge:cypress-10.0.1

-

10.0.1

102.0.1245.39

browsers/cypress-edge:cypress-10.0.2

-

10.0.2

102.0.1245.39

browsers/cypress-edge:cypress-10.0.3

-

10.0.3

102.0.1245.39

browsers/cypress-edge:cypress-10.1.0

-

10.1.0

102.0.1245.39

browsers/cypress-edge:cypress-10.2.0

browsers/cypress-edge:102.0

10.2.0

102.0.1245.44

browsers/cypress-edge:cypress-10.3.0

-

10.3.0

103.0.1264.37

browsers/cypress-edge:cypress-10.3.1

browsers/cypress-edge:103.0

10.3.1

103.0.1264.71

browsers/cypress-edge:cypress-10.4.0

-

10.4.0

104.0.1293.47

browsers/cypress-edge:cypress-10.5.0

-

10.5.0

104.0.1293.63

browsers/cypress-edge:cypress-10.6.0

-

10.6.0

104.0.1293.63

browsers/cypress-edge:cypress-10.7.0

browsers/cypress-edge:104.0

10.7.0

104.0.1293.70

browsers/cypress-edge:cypress-10.8.0

-

10.8.0

105.0.1343.33

browsers/cypress-edge:cypress-10.9.0

browsers/cypress-edge:105.0

10.9.0

105.0.1343.53

browsers/cypress-edge:cypress-10.10.0

-

10.10.0

106.0.1370.42

browsers/cypress-edge:cypress-10.11.0

browsers/cypress-edge:106.0

10.11.0

106.0.1370.52

browsers/cypress-edge:cypress-11.0.0

-

11.0.0

107.0.1418.35

browsers/cypress-edge:cypress-11.0.1

-

11.0.1

107.0.1418.35

browsers/cypress-edge:cypress-11.1.0

-

11.1.0

107.0.1418.42

browsers/cypress-edge:cypress-11.2.0

browsers/cypress-edge:107.0

11.2.0

107.0.1418.56

browsers/cypress-edge:cypress-12.0.0

-

12.0.0

108.0.1462.46

browsers/cypress-edge:cypress-12.0.1

-

12.0.1

108.0.1462.46

browsers/cypress-edge:cypress-12.0.2

-

12.0.2

108.0.1462.46

browsers/cypress-edge:cypress-12.1.0

-

12.1.0

108.0.1462.46

browsers/cypress-edge:cypress-12.2.0

-

12.2.0

108.0.1462.54

browsers/cypress-edge:cypress-12.3.0

browsers/cypress-edge:108.0

12.3.0

108.0.1462.76

browsers/cypress-edge:cypress-12.4.0

-

12.4.0

109.0.1518.61

browsers/cypress-edge:cypress-12.4.1

-

12.4.1

109.0.1518.61

browsers/cypress-edge:cypress-12.5.0

-

12.5.0

109.0.1518.78

browsers/cypress-edge:cypress-12.5.1

browsers/cypress-edge:109.0

12.5.1

109.0.1518.78

browsers/cypress-edge:cypress-12.6.0

browsers/cypress-edge:110.0

12.6.0

110.0.1587.50

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. Firefox Images
ImageAliasesCypress versionEdge version

browsers/cypress-firefox:cypress-6.8.0

-

6.8.0

89.0.1

browsers/cypress-firefox:cypress-6.9.1

-

6.9.1

89.0.1

browsers/cypress-firefox:cypress-7.0.0

-

7.0.0

89.0.1

browsers/cypress-firefox:cypress-7.0.1

-

7.0.1

89.0.1

browsers/cypress-firefox:cypress-7.1.0

-

7.1.0

89.0.1

browsers/cypress-firefox:cypress-7.2.0

-

7.2.0

89.0.1

browsers/cypress-firefox:cypress-7.3.0

-

7.3.0

89.0.1

browsers/cypress-firefox:cypress-7.4.0

-

7.4.0

89.0.1

browsers/cypress-firefox:cypress-7.5.0

-

7.5.0

89.0.1

browsers/cypress-firefox:cypress-7.6.0

-

7.6.0

89.0.1

browsers/cypress-firefox:cypress-7.7.0

browsers/cypress-firefox:89.0

7.7.0

89.0.2

browsers/cypress-firefox:cypress-8.0.0

-

8.0.0

90.0

browsers/cypress-firefox:cypress-8.1.0

-

8.1.0

90.0

browsers/cypress-firefox:cypress-8.2.0

browsers/cypress-firefox:90.0

8.2.0

90.0.2

browsers/cypress-firefox:cypress-8.3.0

-

8.3.0

91.0

browsers/cypress-firefox:cypress-8.3.1

browsers/cypress-firefox:91.0

8.3.1

91.0.2

browsers/cypress-firefox:cypress-8.4.0

-

8.4.0

92.0

browsers/cypress-firefox:cypress-8.4.1

-

8.4.1

92.0

browsers/cypress-firefox:cypress-8.5.0

browsers/cypress-firefox:92.0

8.5.0

92.0

browsers/cypress-firefox:cypress-8.6.0

-

8.6.0

93.0

browsers/cypress-firefox:cypress-8.7.0

browsers/cypress-firefox:93.0

8.7.0

93.0

browsers/cypress-firefox:cypress-9.0.0

-

9.0.0

94.0

browsers/cypress-firefox:cypress-9.1.0

-

9.1.0

94.0

browsers/cypress-firefox:cypress-9.1.1

browsers/cypress-firefox:94.0

9.1.1

94.0

browsers/cypress-firefox:cypress-9.2.0

-

9.2.0

95.0.1

browsers/cypress-firefox:cypress-9.2.1

browsers/cypress-firefox:95.0

9.2.1

95.0.1

browsers/cypress-firefox:cypress-9.3.0

-

9.3.0

96.0

browsers/cypress-firefox:cypress-9.3.1

-

9.3.1

96.0

browsers/cypress-firefox:cypress-9.4.0

-

9.4.0

96.0

browsers/cypress-firefox:cypress-9.4.1

browsers/cypress-firefox:96.0

9.4.1

96.0

browsers/cypress-firefox:cypress-9.5.0

-

9.5.0

97.0

browsers/cypress-firefox:cypress-9.5.1

browsers/cypress-firefox:97.0

9.5.1

97.0

browsers/cypress-firefox:cypress-9.5.2

-

9.5.2

98.0

browsers/cypress-firefox:cypress-9.5.3

browsers/cypress-firefox:98.0

9.5.3

98.0.2

browsers/cypress-firefox:cypress-9.5.4

-

9.5.4

99.0

browsers/cypress-firefox:cypress-9.6.0

browsers/cypress-firefox:99.0

9.6.0

99.0

browsers/cypress-firefox:cypress-9.6.1

-

9.6.1

100.0

browsers/cypress-firefox:cypress-9.7.0

-

9.7.0

100.0.2

browsers/cypress-firefox:cypress-10.0.0

-

10.0.0

100.0.2

browsers/cypress-firefox:cypress-10.0.1

-

10.0.1

100.0.2

browsers/cypress-firefox:cypress-10.0.2

-

10.0.2

100.0.2

browsers/cypress-firefox:cypress-10.0.3

-

10.0.3

100.0.2

browsers/cypress-firefox:cypress-10.1.0

browsers/cypress-firefox:100.0

10.1.0

100.0.2

browsers/cypress-firefox:cypress-10.2.0

-

10.2.0

101.0.1

browsers/cypress-firefox:cypress-10.3.0

browsers/cypress-firefox:101.0

10.3.0

101.0.1

browsers/cypress-firefox:cypress-10.3.1

browsers/cypress-firefox:102.0

10.3.1

102.0

browsers/cypress-firefox:cypress-10.4.0

-

10.4.0

103.0

browsers/cypress-firefox:cypress-10.5.0

-

10.5.0

103.0

browsers/cypress-firefox:cypress-10.6.0

browsers/cypress-firefox:103.0

10.6.0

103.0

browsers/cypress-firefox:cypress-10.7.0

-

10.7.0

104.0

browsers/cypress-firefox:cypress-10.8.0

browsers/cypress-firefox:104.0

10.8.0

104.0

browsers/cypress-firefox:cypress-10.9.0

browsers/cypress-firefox:105.0

10.9.0

105.0.1

browsers/cypress-firefox:cypress-10.10.0

-

10.10.0

106.0

browsers/cypress-firefox:cypress-10.11.0

-

10.11.0

106.0.2

browsers/cypress-firefox:cypress-11.0.0

browsers/cypress-firefox:106.0

11.0.0

106.0.5

browsers/cypress-firefox:cypress-11.0.1

-

11.0.1

107.0

browsers/cypress-firefox:cypress-11.1.0

-

11.1.0

107.0

browsers/cypress-firefox:cypress-11.2.0

browsers/cypress-firefox:107.0

11.2.0

107.0

browsers/cypress-firefox:cypress-12.0.0

-

12.0.0

108.0

browsers/cypress-firefox:cypress-12.0.1

-

12.0.1

108.0

browsers/cypress-firefox:cypress-12.0.2

-

12.0.2

108.0

browsers/cypress-firefox:cypress-12.1.0

-

12.1.0

108.0

browsers/cypress-firefox:cypress-12.2.0

-

12.2.0

108.0.1

browsers/cypress-firefox:cypress-12.3.0

browsers/cypress-firefox:108.0

12.3.0

108.0.2

browsers/cypress-firefox:cypress-12.4.0

-

12.4.0

109.0

browsers/cypress-firefox:cypress-12.4.1

browsers/cypress-firefox:109.0

12.4.1

109.0.1

browsers/cypress-firefox:cypress-12.5.0

-

12.5.0

110.0

browsers/cypress-firefox:cypress-12.5.1

-

12.5.1

110.0

browsers/cypress-firefox:cypress-12.6.0

browsers/cypress-firefox:110.0

12.6.0

110.0

+
+
+

1.3. Playwright

+
+

These images are used to run Playwright tests in parallel.

+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 7. Chromium Images
ImageAliasesPlaywright versionChromium version

playwright/chromium:playwright-1.1.1

-

1.1.1

85.0.4165.0

playwright/chromium:playwright-1.2.0

playwright/chromium:85.0

1.2.0

85.0.4182.0

playwright/chromium:playwright-1.3.0

-

1.3.0

86.0.4217.0

playwright/chromium:playwright-1.4.0

playwright/chromium:86.0

1.4.0

86.0.4238.0

playwright/chromium:playwright-1.5.1

-

1.5.1

88.0.4287.0

playwright/chromium:playwright-1.6.1

playwright/chromium:88.0

1.6.1

88.0.4316.0

playwright/chromium:playwright-1.7.0

playwright/chromium:89.0

1.7.0

89.0.4344.0

playwright/chromium:playwright-1.8.0

-

1.8.0

90.0.4392.0

playwright/chromium:playwright-1.8.1

-

1.8.1

90.0.4392.0

playwright/chromium:playwright-1.9.0

-

1.9.0

90.0.4421.0

playwright/chromium:playwright-1.9.1

-

1.9.1

90.0.4421.0

playwright/chromium:playwright-1.9.2

-

1.9.2

90.0.4421.0

playwright/chromium:playwright-1.10.0

playwright/chromium:90.0

1.10.0

90.0.4430.0

playwright/chromium:playwright-1.11.0

-

1.11.0

92.0.4498.0

playwright/chromium:playwright-1.11.1

playwright/chromium:92.0

1.11.0

92.0.4498.0

playwright/chromium:playwright-1.12.0

-

1.12.0

93.0.4530.0

playwright/chromium:playwright-1.12.1

-

1.12.1

93.0.4530.0

playwright/chromium:playwright-1.12.2

-

1.12.2

93.0.4530.0

playwright/chromium:playwright-1.12.3

-

1.12.3

93.0.4530.0

playwright/chromium:playwright-1.13.0

-

1.13.0

93.0.4576.0

playwright/chromium:playwright-1.13.1

playwright/chromium:93.0

1.13.1

93.0.4576.0

playwright/chromium:playwright-1.14.0

-

1.14.0

94.0.4595.0

playwright/chromium:playwright-1.14.1

playwright/chromium:94.0

1.14.1

94.0.4595.0

playwright/chromium:playwright-1.15.0

-

1.15.0

96.0.4641.0

playwright/chromium:playwright-1.15.1

-

1.15.1

96.0.4641.0

playwright/chromium:playwright-1.15.2

playwright/chromium:96.0

1.15.2

96.0.4641.0

playwright/chromium:playwright-1.16.0

-

1.16.0

97.0.4666.0

playwright/chromium:playwright-1.16.1

-

1.16.1

97.0.4666.0

playwright/chromium:playwright-1.16.2

-

1.16.2

97.0.4666.0

playwright/chromium:playwright-1.16.3

playwright/chromium:97.0

1.16.3

97.0.4666.0

playwright/chromium:playwright-1.17.0

-

1.17.0

98.0.4695.0

playwright/chromium:playwright-1.17.1

-

1.17.1

98.0.4695.0

playwright/chromium:playwright-1.17.2

playwright/chromium:98.0

1.17.2

98.0.4695.0

playwright/chromium:playwright-1.18.0

-

1.18.0

99.0.4812.0

playwright/chromium:playwright-1.18.1

playwright/chromium:99.0

1.18.1

99.0.4812.0

playwright/chromium:playwright-1.19.0

-

1.19.0

100.0.4863.0

playwright/chromium:playwright-1.19.1

-

1.19.1

100.0.4863.0

playwright/chromium:playwright-1.19.2

playwright/chromium:100.0

1.19.2

100.0.4863.0

playwright/chromium:playwright-1.20.0

-

1.20.0

101.0.4921.0

playwright/chromium:playwright-1.20.1

-

1.20.1

101.0.4921.0

playwright/chromium:playwright-1.20.2

-

1.20.2

101.0.4921.0

playwright/chromium:playwright-1.21.0

-

1.21.0

101.0.4951.26

playwright/chromium:playwright-1.21.1

playwright/chromium:101.0

1.21.1

101.0.4951.26

playwright/chromium:playwright-1.22.0

-

1.22.0

102.0.5005.40

playwright/chromium:playwright-1.22.1

-

1.22.1

102.0.5005.40

playwright/chromium:playwright-1.22.2

playwright/chromium:102.0

1.22.2

102.0.5005.40

playwright/chromium:playwright-1.23.0

-

1.23.0

104.0.5112.20

playwright/chromium:playwright-1.23.1

-

1.23.1

104.0.5112.20

playwright/chromium:playwright-1.23.2

-

1.23.2

104.0.5112.20

playwright/chromium:playwright-1.23.3

-

1.23.3

104.0.5112.20

playwright/chromium:playwright-1.23.4

-

1.23.4

104.0.5112.20

playwright/chromium:playwright-1.24.0

-

1.24.0

104.0.5112.48

playwright/chromium:playwright-1.24.1

-

1.24.1

104.0.5112.48

playwright/chromium:playwright-1.24.2

playwright/chromium:104.0

1.24.2

104.0.5112.48

playwright/chromium:playwright-1.25.0

-

1.25.0

105.0.5195.19

playwright/chromium:playwright-1.25.1

-

1.25.1

105.0.5195.19

playwright/chromium:playwright-1.25.2

playwright/chromium:105.0

1.25.2

105.0.5195.19

playwright/chromium:playwright-1.26.0

-

1.26.0

106.0.5249.30

playwright/chromium:playwright-1.26.1

playwright/chromium:106.0

1.26.1

106.0.5249.30

playwright/chromium:playwright-1.27.0

-

1.27.0

107.0.5304.18

playwright/chromium:playwright-1.27.1

playwright/chromium:107.0

1.27.1

107.0.5304.18

playwright/chromium:playwright-1.28.0

-

1.28.0

108.0.5359.29

playwright/chromium:playwright-1.28.1

playwright/chromium:108.0

1.28.1

108.0.5359.29

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 8. Chrome Images

Image

Aliases

Playwright version

Chrome version

playwright/chrome:playwright-1.7.1

playwright/chrome:89.0

1.7.1

89.0.4389.58

playwright/chrome:playwright-1.8.1

-

1.8.1

90.0.4421.5

playwright/chrome:playwright-1.9.0

-

1.9.0

90.0.4421.5

playwright/chrome:playwright-1.9.1

-

1.9.1

90.0.4427.5

playwright/chrome:playwright-1.9.2

playwright/chrome:90.0

1.9.2

90.0.4430.19

playwright/chrome:playwright-1.10.0

-

1.10.0

91.0.4455.2

playwright/chrome:playwright-1.11.0

-

1.11.0

92.0.4503.0

playwright/chrome:playwright-1.11.1

playwright/chrome:92.0

1.11.0

92.0.4503.0

playwright/chrome:playwright-1.12.0

-

1.12.0

91.0.4472.101

playwright/chrome:playwright-1.12.1

-

1.12.1

91.0.4472.101

playwright/chrome:playwright-1.12.2

-

1.12.2

91.0.4472.101

playwright/chrome:playwright-1.12.3

playwright/chrome:91.0 (switched to stable releases)

1.12.3

91.0.4472.114

playwright/chrome:playwright-1.13.0

-

1.13.0

92.0.4515.107

playwright/chrome:playwright-1.13.1

-

1.13.1

92.0.4515.107

playwright/chrome:playwright-1.14.0

-

1.14.0

92.0.4515.131

playwright/chrome:playwright-1.14.1

-

1.14.1

93.0.4577.63

playwright/chrome:playwright-1.15.0

playwright/chrome:93.0

1.15.0

93.0.4577.82

playwright/chrome:playwright-1.15.1

-

1.15.1

94.0.4606.71

playwright/chrome:playwright-1.15.2

playwright/chrome:94.0

1.15.2

94.0.4606.71

playwright/chrome:playwright-1.16.0

-

1.16.0

95.0.4638.54

playwright/chrome:playwright-1.16.1

-

1.16.1

95.0.4638.54

playwright/chrome:playwright-1.16.2

-

1.16.2

95.0.4638.54

playwright/chrome:playwright-1.16.3

playwright/chrome:95.0

1.16.2

95.0.4638.69

playwright/chrome:playwright-1.17.0

-

1.17.0

96.0.4664.45

playwright/chrome:playwright-1.17.1

playwright/chrome:96.0

1.17.1

96.0.4664.45

playwright/chrome:playwright-1.17.2

-

1.17.2

97.0.4692.71

playwright/chrome:playwright-1.18.0

-

1.18.0

97.0.4692.99

playwright/chrome:playwright-1.18.1

playwright/chrome:97.0

1.18.1

97.0.4692.99

playwright/chrome:playwright-1.19.0

-

1.19.0

98.0.4758.80

playwright/chrome:playwright-1.19.1

-

1.19.1

98.0.4758.102

playwright/chrome:playwright-1.19.2

playwright/chrome:98.0

1.19.2

98.0.4758.102

playwright/chrome:playwright-1.20.0

-

1.20.0

99.0.4844.74

playwright/chrome:playwright-1.20.1

playwright/chrome:99.0

1.20.1

99.0.4844.82

playwright/chrome:playwright-1.20.2

-

1.20.2

100.0.4896.75

playwright/chrome:playwright-1.21.0

-

1.21.0

100.0.4896.127

playwright/chrome:playwright-1.21.1

playwright/chrome:100.0

1.21.1

100.0.4896.127

playwright/chrome:playwright-1.22.0

-

1.22.0

101.0.4951.64

playwright/chrome:playwright-1.22.1

-

1.22.1

101.0.4951.64

playwright/chrome:playwright-1.22.2

playwright/chrome:101.0

1.22.2

101.0.4951.64

playwright/chrome:playwright-1.23.0

-

1.23.0

103.0.5060.53

playwright/chrome:playwright-1.23.1

-

1.23.1

103.0.5060.53

playwright/chrome:playwright-1.23.2

-

1.23.2

103.0.5060.53

playwright/chrome:playwright-1.23.3

-

1.23.3

103.0.5060.53

playwright/chrome:playwright-1.23.4

-

1.23.4

103.0.5060.53

playwright/chrome:playwright-1.24.0

-

1.24.0

103.0.5060.134

playwright/chrome:playwright-1.24.1

-

1.24.1

103.0.5060.134

playwright/chrome:playwright-1.24.2

playwright/chrome:103.0

1.24.2

103.0.5060.134

playwright/chrome:playwright-1.25.0

-

1.25.0

104.0.5112.101

playwright/chrome:playwright-1.25.1

playwright/chrome:104.0

1.25.1

104.0.5112.101

playwright/chrome:playwright-1.25.2

-

1.25.2

105.0.5195.102

playwright/chrome:playwright-1.26.0

playwright/chrome:105.0

1.26.0

105.0.5195.125

playwright/chrome:playwright-1.26.1

-

1.26.1

106.0.5249.61

playwright/chrome:playwright-1.27.0

-

1.27.0

106.0.5249.103

playwright/chrome:playwright-1.27.1

playwright/chrome:106.0

1.27.1

106.0.5249.119

playwright/chrome:playwright-1.28.0

-

1.28.0

107.0.5304.110

playwright/chrome:playwright-1.28.1

playwright/chrome:107.0

1.28.1

107.0.5304.110

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 9. Firefox Images
ImageAliasesPlaywright versionFirefox version

playwright/firefox:playwright-1.1.1

playwright/firefox:77.0

1.1.1

77.0b3

playwright/firefox:playwright-1.2.0

playwright/firefox:78.0

1.2.0

78.0b5

playwright/firefox:playwright-1.3.0

-

1.3.0

78.0b5

playwright/firefox:playwright-1.4.0

playwright/firefox:80.0

1.4.0

80.0b8

playwright/firefox:playwright-1.5.1

playwright/firefox:82.0

1.5.1

82.0b9

playwright/firefox:playwright-1.6.1

playwright/firefox:83.0

1.6.1

83.0b8

playwright/firefox:playwright-1.7.0

playwright/firefox:84.0

1.7.0

84.0b9

playwright/firefox:playwright-1.8.0

-

1.8.0

85.0b5

playwright/firefox:playwright-1.8.1

playwright/firefox:85.0

1.8.1

85.0b5

playwright/firefox:playwright-1.9.0

-

1.9.0

86.0b10

playwright/firefox:playwright-1.9.1

-

1.9.1

86.0b10

playwright/firefox:playwright-1.9.2

playwright/firefox:86.0

1.9.2

86.0b10

playwright/firefox:playwright-1.10.0

playwright/firefox:87.0

1.10.0

87.0b10

playwright/firefox:playwright-1.11.0

-

1.11.0

89.0b6

playwright/firefox:playwright-1.11.1

-

1.11.0

89.0b6

playwright/firefox:playwright-1.12.0

-

1.12.0

89.0

playwright/firefox:playwright-1.12.1

-

1.12.1

89.0

playwright/firefox:playwright-1.12.2

-

1.12.2

89.0

playwright/firefox:playwright-1.12.3

playwright/firefox:89.0

1.12.3

89.0

playwright/firefox:playwright-1.13.0

-

1.13.0

90.0

playwright/firefox:playwright-1.13.1

playwright/firefox:90.0

1.13.1

90.0

playwright/firefox:playwright-1.14.0

-

1.14.0

91.0

playwright/firefox:playwright-1.14.1

playwright/firefox:91.0

1.14.1

91.0

playwright/firefox:playwright-1.15.0

-

1.15.0

92.0

playwright/firefox:playwright-1.15.1

-

1.15.1

92.0

playwright/firefox:playwright-1.15.2

playwright/firefox:92.0

1.15.2

92.0

playwright/firefox:playwright-1.16.0

-

1.16.0

93.0

playwright/firefox:playwright-1.16.1

-

1.16.1

93.0

playwright/firefox:playwright-1.16.2

-

1.16.2

93.0

playwright/firefox:playwright-1.16.3

playwright/firefox:93.0

1.16.3

93.0

playwright/firefox:playwright-1.17.0

-

1.17.0

94.0.1

playwright/firefox:playwright-1.17.1

-

1.17.1

94.0.1

playwright/firefox:playwright-1.17.2

playwright/firefox:94.0

1.17.2

94.0.1

playwright/firefox:playwright-1.18.0

-

1.18.0

95.0

playwright/firefox:playwright-1.18.1

playwright/firefox:95.0

1.18.1

95.0

playwright/firefox:playwright-1.19.0

-

1.19.0

96.0.1

playwright/firefox:playwright-1.19.1

-

1.19.1

96.0.1

playwright/firefox:playwright-1.19.2

playwright/firefox:96.0

1.19.2

96.0.1

playwright/firefox:playwright-1.20.0

-

1.20.0

97.0.1

playwright/firefox:playwright-1.20.1

-

1.20.1

97.0.1

playwright/firefox:playwright-1.20.2

playwright/firefox:97.0

1.20.2

97.0.1

playwright/firefox:playwright-1.21.0

-

1.21.0

98.0.2

playwright/firefox:playwright-1.21.1

playwright/firefox:98.0

1.21.1

98.0.2

playwright/firefox:playwright-1.22.0

-

1.22.0

99.0.1

playwright/firefox:playwright-1.22.1

-

1.22.1

99.0.1

playwright/firefox:playwright-1.22.2

playwright/firefox:99.0

1.22.2

99.0.1

playwright/firefox:playwright-1.23.0

-

1.23.0

100.0.2

playwright/firefox:playwright-1.23.1

-

1.23.1

100.0.2

playwright/firefox:playwright-1.23.2

-

1.23.2

100.0.2

playwright/firefox:playwright-1.23.3

-

1.23.3

100.0.2

playwright/firefox:playwright-1.23.4

playwright/firefox:100.0.2

1.23.4

100.0.2

playwright/firefox:playwright-1.24.0

-

1.24.0

102.0

playwright/firefox:playwright-1.24.1

-

1.24.1

102.0

playwright/firefox:playwright-1.24.2

playwright/firefox:102.0

1.24.2

102.0

playwright/firefox:playwright-1.25.0

-

1.25.0

103.0

playwright/firefox:playwright-1.25.1

-

1.25.1

103.0

playwright/firefox:playwright-1.25.2

playwright/firefox:103.0

1.25.2

103.0

playwright/firefox:playwright-1.26.0

-

1.26.0

104.0

playwright/firefox:playwright-1.26.1

playwright/firefox:104.0

1.26.1

104.0

playwright/firefox:playwright-1.27.0

-

1.27.0

105.0.1

playwright/firefox:playwright-1.27.1

playwright/firefox:105.0

1.27.1

105.0.1

playwright/firefox:playwright-1.28.0

-

1.28.0

106.0

playwright/firefox:playwright-1.28.1

playwright/firefox:106.0

1.28.1

106.0

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 10. Webkit (Safari Desktop) Images
ImageAliasesPlaywright versionSafari version

playwright/webkit:playwright-1.1.1

-

1.1.1

13.2

playwright/webkit:playwright-1.2.0

playwright/webkit:13.2

1.2.0

14.0

playwright/webkit:playwright-1.3.0

-

1.3.0

14.0

playwright/webkit:playwright-1.4.0

-

1.4.0

14.0

playwright/webkit:playwright-1.5.1

-

1.5.1

14.0

playwright/webkit:playwright-1.6.1

playwright/webkit:14.0

1.6.1

14.0

playwright/webkit:playwright-1.7.0

-

1.7.0

14.1

playwright/webkit:playwright-1.8.0

-

1.8.0

14.1

playwright/webkit:playwright-1.8.1

-

1.8.1

14.1

playwright/webkit:playwright-1.9.0

-

1.9.0

14.1

playwright/webkit:playwright-1.9.1

-

1.9.1

14.1

playwright/webkit:playwright-1.9.2

playwright/webkit:14.1

1.9.2

14.1

playwright/webkit:playwright-1.10.0

-

1.10.0

14.2

playwright/webkit:playwright-1.11.0

-

1.11.0

14.2

playwright/webkit:playwright-1.11.1

-

1.11.0

14.2

playwright/webkit:playwright-1.12.0

-

1.12.0

14.2

playwright/webkit:playwright-1.12.1

-

1.12.1

14.2

playwright/webkit:playwright-1.12.2

-

1.12.2

14.2

playwright/webkit:playwright-1.12.3

-

1.12.3

14.2

playwright/webkit:playwright-1.13.0

-

1.13.0

14.2

playwright/webkit:playwright-1.13.1

playwright/webkit:14.2

1.13.1

14.2

playwright/webkit:playwright-1.14.0

-

1.14.0

15.0

playwright/webkit:playwright-1.14.1

-

1.14.1

15.0

playwright/webkit:playwright-1.15.0

-

1.15.0

15.0

playwright/webkit:playwright-1.15.1

-

1.15.1

15.0

playwright/webkit:playwright-1.15.2

playwright/webkit:15.0

1.15.2

15.0

playwright/webkit:playwright-1.16.0

-

1.16.0

15.4

playwright/webkit:playwright-1.16.1

-

1.16.1

15.4

playwright/webkit:playwright-1.16.2

-

1.16.2

15.4

playwright/webkit:playwright-1.16.3

-

1.16.3

15.4

playwright/webkit:playwright-1.17.0

-

1.17.0

15.4

playwright/webkit:playwright-1.17.1

-

1.17.1

15.4

playwright/webkit:playwright-1.17.2

-

1.17.2

15.4

playwright/webkit:playwright-1.18.0

-

1.18.0

15.4

playwright/webkit:playwright-1.18.1

-

1.18.1

15.4

playwright/webkit:playwright-1.19.0

-

1.19.0

15.4

playwright/webkit:playwright-1.19.1

-

1.19.1

15.4

playwright/webkit:playwright-1.19.2

-

1.19.2

15.4

playwright/webkit:playwright-1.20.0

-

1.20.0

15.4

playwright/webkit:playwright-1.20.1

-

1.20.1

15.4

playwright/webkit:playwright-1.20.2

-

1.20.2

15.4

playwright/webkit:playwright-1.21.0

-

1.21.0

15.4

playwright/webkit:playwright-1.21.1

-

1.21.1

15.4

playwright/webkit:playwright-1.22.0

-

1.22.0

15.4

playwright/webkit:playwright-1.22.1

-

1.22.1

15.4

playwright/webkit:playwright-1.22.2

-

1.22.2

15.4

playwright/webkit:playwright-1.23.0

-

1.23.0

15.4

playwright/webkit:playwright-1.23.1

-

1.23.1

15.4

playwright/webkit:playwright-1.23.2

-

1.23.2

15.4

playwright/webkit:playwright-1.23.3

-

1.23.3

15.4

playwright/webkit:playwright-1.23.4

playwright/webkit:15.4

1.23.4

15.4

playwright/webkit:playwright-1.24.0

-

1.24.0

16.0

playwright/webkit:playwright-1.24.1

-

1.24.1

16.0

playwright/webkit:playwright-1.24.2

-

1.24.2

16.0

playwright/webkit:playwright-1.25.0

-

1.25.0

16.0

playwright/webkit:playwright-1.25.1

-

1.25.1

16.0

playwright/webkit:playwright-1.25.2

-

1.25.2

16.0

playwright/webkit:playwright-1.26.0

-

1.26.0

16.0

playwright/webkit:playwright-1.26.1

-

1.26.1

16.0

playwright/webkit:playwright-1.27.0

-

1.27.0

16.0

playwright/webkit:playwright-1.27.1

playwright/webkit:16.0

1.27.1

16.0

playwright/webkit:playwright-1.28.0

-

1.28.0

16.4

playwright/webkit:playwright-1.28.1

playwright/webkit:16.4

1.28.1

16.4

+
+
+

1.4. Selenium

+
+

1.4.1. Android

+
+ + + + + +
+ + +Hardware server or virtual machine with nested virtualization support is required to run Android images. +
+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 11. Android Images
ImageAndroid versionAppium version

browsers/android:4.4

4.4

1.18.1

browsers/android:5.0

5.0

1.18.1

browsers/android:5.1

5.1

1.18.1

browsers/android:6.0

6.0

1.18.1

browsers/android:7.0

7.0

1.18.1

browsers/android:7.1

7.1

1.18.1

browsers/android:8.0

8.0

1.18.1

browsers/android:8.1

8.1

1.18.1

browsers/android:9.0

9.0

1.18.1

browsers/android:10.0

10.0

1.18.1

+
+ + + + + +
+ + +
+
    +
  1. +

    These images include VNC server and Android Quick Boot snapshot.

    +
  2. +
  3. +

    Neither Chromedriver nor Chrome Mobile are installed. To test hybrid apps build your own image using provided automation script.

    +
  4. +
+
+
+
+
+

An example browsers.json for Android images looks like the following:

+
+
+
+
{
+    "android": {
+        "default": "6.0",
+        "versions": {
+            "6.0": {
+                "image": "browsers/android:6.0",
+                "port": "4444",
+                "path": "/wd/hub"
+            }
+        }
+    }
+}
+
+
+
+

An example Java test can be found here.

+
+
+
+

1.4.2. Chrome

+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 12. Chrome Images
ImageVNC ImageChromedriver versionChrome version

selenoid/chrome:48.0

selenoid/vnc_chrome:48.0

2.21

48.0.2564.116

selenoid/chrome:49.0

selenoid/vnc_chrome:49.0

2.22

49.0.2623.112

selenoid/chrome:50.0

selenoid/vnc_chrome:50.0

2.22

50.0.2661.102

selenoid/chrome:51.0

selenoid/vnc_chrome:51.0

2.23

51.0.2704.106

selenoid/chrome:52.0

selenoid/vnc_chrome:52.0

2.24

52.0.2743.116

selenoid/chrome:53.0

selenoid/vnc_chrome:53.0

2.26

53.0.2785.143

selenoid/chrome:54.0

selenoid/vnc_chrome:54.0

2.27

54.0.2840.100

selenoid/chrome:55.0

selenoid/vnc_chrome:55.0

2.28

55.0.2883.87

selenoid/chrome:56.0

selenoid/vnc_chrome:56.0

2.29

56.0.2924.87

selenoid/chrome:57.0

selenoid/vnc_chrome:57.0

2.29

57.0.2987.110

selenoid/chrome:58.0

selenoid/vnc_chrome:58.0

2.29

58.0.3029.81

selenoid/chrome:59.0

selenoid/vnc_chrome:59.0

2.30

59.0.3071.86

selenoid/chrome:60.0

selenoid/vnc_chrome:60.0

2.31

60.0.3112.90

selenoid/chrome:61.0

selenoid/vnc_chrome:61.0

2.32

61.0.3163.79

selenoid/chrome:62.0

selenoid/vnc_chrome:62.0

2.33

62.0.3202.62

selenoid/chrome:63.0

selenoid/vnc_chrome:63.0

2.33

63.0.3239.84

selenoid/chrome:64.0

selenoid/vnc_chrome:64.0

2.35

64.0.3282.119

selenoid/chrome:65.0

selenoid/vnc_chrome:65.0

2.38

65.0.3325.181

selenoid/chrome:66.0

selenoid/vnc_chrome:66.0

2.38

66.0.3359.117

selenoid/chrome:67.0

selenoid/vnc_chrome:67.0

2.39

67.0.3396.62

selenoid/chrome:68.0

selenoid/vnc_chrome:68.0

2.41

68.0.3440.106

selenoid/chrome:69.0

selenoid/vnc_chrome:69.0

2.42

69.0.3497.100

selenoid/chrome:70.0

selenoid/vnc_chrome:70.0

2.44

70.0.3538.110

selenoid/chrome:71.0

selenoid/vnc_chrome:71.0

2.44

71.0.3578.80

selenoid/chrome:72.0

selenoid/vnc_chrome:72.0

2.46

72.0.3626.121

selenoid/chrome:73.0

selenoid/vnc_chrome:73.0

73.0.3683.68

73.0.3683.75

selenoid/chrome:74.0

selenoid/vnc_chrome:74.0

74.0.3729.6

74.0.3729.157

selenoid/chrome:75.0

selenoid/vnc_chrome:75.0

75.0.3770.90

75.0.3770.90

selenoid/chrome:76.0

selenoid/vnc_chrome:76.0

76.0.3809.87

76.0.3809.68

selenoid/chrome:77.0

selenoid/vnc_chrome:77.0

77.0.3865.40

77.0.3865.75

selenoid/chrome:78.0

selenoid/vnc_chrome:78.0

78.0.3904.87

78.0.3904.70

selenoid/chrome:79.0

selenoid/vnc_chrome:79.0

79.0.3945.36

79.0.3945.79

selenoid/chrome:80.0

selenoid/vnc_chrome:80.0

80.0.3987.106

80.0.3987.132

selenoid/chrome:81.0

selenoid/vnc_chrome:81.0

81.0.4044.138

81.0.4044.138

-

-

-

82.0.x.x (release skipped by development team)

selenoid/chrome:83.0

selenoid/vnc_chrome:83.0

83.0.4103.39

83.0.4103.61

selenoid/chrome:84.0

selenoid/vnc_chrome:84.0

84.0.4147.30

84.0.4147.89

selenoid/chrome:85.0

selenoid/vnc_chrome:85.0

85.0.4183.87

85.0.4183.121

selenoid/chrome:86.0

selenoid/vnc_chrome:86.0

86.0.4240.22

86.0.4240.75

selenoid/chrome:87.0

selenoid/vnc_chrome:87.0

87.0.4280.20

87.0.4280.66

selenoid/chrome:88.0

selenoid/vnc_chrome:88.0

88.0.4324.27

88.0.4324.96

selenoid/chrome:89.0

selenoid/vnc_chrome:89.0

89.0.4389.23

89.0.4389.72

selenoid/chrome:90.0

selenoid/vnc_chrome:90.0

90.0.4430.24

90.0.4430.72

selenoid/chrome:91.0

selenoid/vnc_chrome:91.0

91.0.4472.101

91.0.4472.106

selenoid/chrome:92.0

selenoid/vnc_chrome:92.0

92.0.4515.107

92.0.4515.131

selenoid/chrome:93.0

selenoid/vnc_chrome:93.0

93.0.4577.63

93.0.4577.63

selenoid/chrome:94.0

selenoid/vnc_chrome:94.0

94.0.4606.61

94.0.4606.61

selenoid/chrome:95.0

selenoid/vnc_chrome:95.0

95.0.4638.17

95.0.4638.54

selenoid/chrome:96.0

selenoid/vnc_chrome:96.0

96.0.4664.45

96.0.4664.45

selenoid/chrome:97.0

selenoid/vnc_chrome:97.0

97.0.4692.71

97.0.4692.71

selenoid/chrome:98.0

selenoid/vnc_chrome:97.0

98.0.4758.48

98.0.4758.80

selenoid/chrome:99.0

selenoid/vnc_chrome:99.0

99.0.4844.51

99.0.4844.51

selenoid/chrome:100.0

selenoid/vnc_chrome:100.0

100.0.4896.20

100.0.4896.60

selenoid/chrome:101.0

selenoid/vnc_chrome:101.0

101.0.4951.41

101.0.4951.54

selenoid/chrome:102.0

selenoid/vnc_chrome:102.0

102.0.5005.61

102.0.5005.61

selenoid/chrome:103.0

selenoid/vnc_chrome:103.0

103.0.5060.53

103.0.5060.114

selenoid/chrome:104.0

selenoid/vnc_chrome:104.0

104.0.5112.79

104.0.5112.79

selenoid/chrome:105.0

selenoid/vnc_chrome:105.0

105.0.5195.19

105.0.5195.102

selenoid/chrome:106.0

selenoid/vnc_chrome:106.0

106.0.5249.61

106.0.5249.61

selenoid/chrome:107.0

selenoid/vnc_chrome:107.0

107.0.5304.62

107.0.5304.87

selenoid/chrome:108.0

selenoid/vnc_chrome:108.0

108.0.5359.71

108.0.5359.94

selenoid/chrome:109.0

selenoid/vnc_chrome:109.0

109.0.5414.74

109.0.5414.74

selenoid/chrome:110.0

selenoid/vnc_chrome:110.0

110.0.5481.77

110.0.5481.77

selenoid/chrome:111.0

selenoid/vnc_chrome:111.0

111.0.5563.64

111.0.5563.64

selenoid/chrome:112.0

selenoid/vnc_chrome:112.0

112.0.5615.49

112.0.5615.49

selenoid/chrome:113.0

selenoid/vnc_chrome:113.0

113.0.5672.63

113.0.5672.126

selenoid/chrome:114.0

selenoid/vnc_chrome:114.0

114.0.5735.90

114.0.5735.133

+
+ + + + + +
+ + +
+
    +
  1. +

    These images work with any modern Selenium client version.

    +
  2. +
  3. +

    Images for older Chrome versions were not built because we have no Debian packages. If you have such packages - we could create more images.

    +
  4. +
+
+
+
+
+
+

1.4.3. Chrome Mobile

+
+ + + + + +
+ + +Hardware server or virtual machine with nested virtualization support is required to run Chrome Mobile images. +
+
+ + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 13. Chrome Mobile Images
ImageAndroid versionAppium versionChromedriver versionChrome version

selenoid/chrome-mobile:73.0

9.0

1.18.1

73.0.3683.68

73.0.3683.90

selenoid/chrome-mobile:74.0

9.0

1.18.1

74.0.3729.6

74.0.3729.157

selenoid/chrome-mobile:75.0

9.0

1.18.1

75.0.3770.8

75.0.3770.143

selenoid/chrome-mobile:76.0

9.0

1.18.1

76.0.3809.126

76.0.3809.132

selenoid/chrome-mobile:77.0

9.0

1.18.1

77.0.3865.40

77.0.3865.116

selenoid/chrome-mobile:78.0

9.0

1.18.1

78.0.3904.105

78.0.3904.96

selenoid/chrome-mobile:79.0

9.0

1.18.1

79.0.3945.36

79.0.3945.136

selenoid/chrome-mobile:80.0

9.0

1.18.1

80.0.3987.106

80.0.3987.162

selenoid/chrome-mobile:81.0

9.0

1.18.1

81.0.4044.69

81.0.4044.138

-

-

-

-

82.0.x.x (release skipped by development team)

selenoid/chrome-mobile:83.0

9.0

1.18.1

83.0.4103.39

83.0.4103.106

selenoid/chrome-mobile:84.0

9.0

1.18.1

84.0.4147.30

84.0.4147.125

selenoid/chrome-mobile:85.0

9.0

1.18.1

85.0.4183.87

85.0.4183.127

selenoid/chrome-mobile:86.0

9.0

1.18.1

86.0.4240.22

86.0.4240.110

+
+

An example browsers.json for Chrome Mobile images looks like the following:

+
+
+
+
{
+    "chrome": {
+        "default": "mobile-75.0",
+        "versions": {
+            "mobile-75.0": {
+                "image": "selenoid/chrome-mobile:75.0",
+                "port": "4444",
+                "path": "/wd/hub"
+            }
+        }
+    }
+}
+
+
+
+
+

1.4.4. Firefox

+ + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 14. Firefox Images with Selenium Server
ImageVNC ImageSelenium VersionFirefox VersionClient Version

selenoid/firefox:3.6

selenoid/vnc_firefox:3.6

2.20.0

3.6.16 i386 (dialogs may not work)

Java: 2.53.1 and below +Python: not supported +selenium-webdriver.js: not supported

selenoid/firefox:4.0

selenoid/vnc_firefox:4.0

2.20.0

4.0.1 i386

selenoid/firefox:5.0

selenoid/vnc_firefox:5.0

2.20.0

5.0.1 i386

selenoid/firefox:6.0

selenoid/vnc_firefox:6.0

2.20.0

6.0.2 i386

selenoid/firefox:7.0

selenoid/vnc_firefox:7.0

2.20.0

7.0.1 i386

selenoid/firefox:8.0

selenoid/vnc_firefox:8.0

2.20.0

8.0.1 i386

selenoid/firefox:9.0

selenoid/vnc_firefox:9.0

2.20.0

9.0.1

selenoid/firefox:10.0

selenoid/vnc_firefox:10.0

2.32.0

10.0.2

Java: any modern version +Python: not supported +selenium-webdriver.js: not supported

selenoid/firefox:11.0

selenoid/vnc_firefox:11.0

2.32.0

11.0

selenoid/firefox:12.0

selenoid/vnc_firefox:12.0

2.32.0

12.0

selenoid/firefox:13.0

selenoid/vnc_firefox:13.0

2.32.0

13.0

selenoid/firefox:14.0

selenoid/vnc_firefox:14.0

2.32.0

14.0.1

selenoid/firefox:15.0

selenoid/vnc_firefox:15.0

2.32.0

15.0.1

selenoid/firefox:16.0

selenoid/vnc_firefox:16.0

2.32.0

16.0.2

selenoid/firefox:17.0

selenoid/vnc_firefox:17.0

2.32.0

17.0.1

selenoid/firefox:18.0

selenoid/vnc_firefox:18.0

2.32.0

18.0.2

selenoid/firefox:19.0

selenoid/vnc_firefox:19.0

2.32.0

19.0.2

selenoid/firefox:20.0

selenoid/vnc_firefox:20.0

2.32.0

20.0

selenoid/firefox:21.0

selenoid/vnc_firefox:21.0

2.32.0

21.0

selenoid/firefox:22.0

selenoid/vnc_firefox:22.0

2.32.0

22.0

selenoid/firefox:23.0

selenoid/vnc_firefox:23.0

2.35.0

23.0.1

Any modern client version

selenoid/firefox:24.0

selenoid/vnc_firefox:24.0

2.39.0

24.0

selenoid/firefox:25.0

selenoid/vnc_firefox:25.0

2.39.0

25.0.1

selenoid/firefox:26.0

selenoid/vnc_firefox:26.0

2.39.0

26.0

selenoid/firefox:27.0

selenoid/vnc_firefox:27.0

2.40.0

27.0.1

selenoid/firefox:28.0

selenoid/vnc_firefox:28.0

2.41.0

28.0

selenoid/firefox:29.0

selenoid/vnc_firefox:29.0

2.43.1

29.0.1

selenoid/firefox:30.0

selenoid/vnc_firefox:30.0

2.43.1

30.0

selenoid/firefox:31.0

selenoid/vnc_firefox:31.0

2.44.0

31.0

selenoid/firefox:32.0

selenoid/vnc_firefox:32.0

2.44.0

32.0.3

selenoid/firefox:33.0

selenoid/vnc_firefox:33.0

2.44.0

33.0.3

selenoid/firefox:34.0

selenoid/vnc_firefox:34.0

2.45.0

34.0.5

selenoid/firefox:35.0

selenoid/vnc_firefox:35.0

2.45.0

35.0.1

selenoid/firefox:36.0

selenoid/vnc_firefox:36.0

2.45.0

36.0.1

selenoid/firefox:37.0

selenoid/vnc_firefox:37.0

2.45.0

37.0.2

selenoid/firefox:38.0

selenoid/vnc_firefox:38.0

2.45.0

38.0.5

selenoid/firefox:39.0

selenoid/vnc_firefox:39.0

2.45.0

39.0.3

selenoid/firefox:40.0

selenoid/vnc_firefox:40.0

2.45.0

40.0.3

selenoid/firefox:41.0

selenoid/vnc_firefox:41.0

2.45.0

41.0.2

selenoid/firefox:42.0

selenoid/vnc_firefox:42.0

2.47.1

42.0

selenoid/firefox:43.0

selenoid/vnc_firefox:43.0

2.53.1

43.0.4

selenoid/firefox:44.0

selenoid/vnc_firefox:44.0

2.53.1

44.0.2

selenoid/firefox:45.0

selenoid/vnc_firefox:45.0

2.53.1

45.0.2

selenoid/firefox:46.0

selenoid/vnc_firefox:46.0

2.53.1

46.0.1

selenoid/firefox:47.0

selenoid/vnc_firefox:47.0

2.53.1

47.0.1

+
+ + + + + +
+ + +Firefox 53.0+ images require Selenium client 3.4.0 or newer for Java and Node.js and 3.5.0 or newer for Python. +
+
+ + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 15. Firefox Images with Selenoid
ImageVNC ImageSelenoid VersionGeckodriver VersionFirefox Version

selenoid/firefox:48.0

selenoid/vnc_firefox:48.0

1.10.0

0.13.0

48.0.2 (page load timeout, native events and proxies don’t work)

selenoid/firefox:49.0

selenoid/vnc_firefox:49.0

1.10.0

0.13.0

49.0.2 (page load timeout, native events and switching between windows don’t work)

selenoid/firefox:50.0

selenoid/vnc_firefox:50.0

1.10.0

0.13.0

50.0.2 (page load timeout, native events, switching windows and proxies don’t work)

selenoid/firefox:51.0

selenoid/vnc_firefox:51.0

1.10.0

0.14.0

51.0.1 (page load timeout, native events, switching windows and proxies don’t work)

selenoid/firefox:52.0

selenoid/vnc_firefox:52.0

1.10.0

0.15.0

52.0.2 (page load timeout, native events, switching windows and proxies don’t work)

selenoid/firefox:53.0

selenoid/vnc_firefox:53.0

1.10.0

0.16.0

53.0.2 (switching windows may not work)

selenoid/firefox:54.0

selenoid/vnc_firefox:54.0

1.10.0

0.17.0

54.0.1 (switching windows may not work)

selenoid/firefox:55.0

selenoid/vnc_firefox:55.0

1.10.0

0.18.0

55.0.1 (switching windows may not work)

selenoid/firefox:56.0

selenoid/vnc_firefox:56.0

1.10.0

0.19.1

56.0.1

selenoid/firefox:57.0

selenoid/vnc_firefox:57.0

1.10.0

0.19.1

57.0

selenoid/firefox:58.0

selenoid/vnc_firefox:58.0

1.10.0

0.20.1

58.0

selenoid/firefox:59.0

selenoid/vnc_firefox:59.0

1.10.0

0.20.1

59.0.1

selenoid/firefox:60.0

selenoid/vnc_firefox:60.0

1.10.0

0.21.0

60.0.2

selenoid/firefox:61.0

selenoid/vnc_firefox:61.0

1.10.0

0.21.0

61.0

selenoid/firefox:62.0

selenoid/vnc_firefox:62.0

1.10.0

0.22.0

62.0

selenoid/firefox:63.0

selenoid/vnc_firefox:63.0

1.8.1

0.23.0

63.0

selenoid/firefox:64.0

selenoid/vnc_firefox:64.0

1.8.4

0.23.0

64.0

selenoid/firefox:65.0

selenoid/vnc_firefox:65.0

1.9.0

0.24.0

65.0

selenoid/firefox:66.0

selenoid/vnc_firefox:66.0

1.9.1

0.24.0

66.0.1

selenoid/firefox:67.0

selenoid/vnc_firefox:67.0

1.9.1

0.24.0

67.0

selenoid/firefox:68.0

selenoid/vnc_firefox:68.0

1.9.2

0.24.0

68.0

selenoid/firefox:69.0

selenoid/vnc_firefox:69.0

1.9.2

0.24.0

69.0

selenoid/firefox:70.0

selenoid/vnc_firefox:70.0

1.9.2

0.26.0

70.0

selenoid/firefox:71.0

selenoid/vnc_firefox:71.0

1.9.3

0.26.0

71.0

selenoid/firefox:72.0

selenoid/vnc_firefox:72.0

1.9.3

0.26.0

72.0

selenoid/firefox:73.0

selenoid/vnc_firefox:73.0

1.10.0

0.26.0

73.0

selenoid/firefox:74.0

selenoid/vnc_firefox:74.0

1.10.0

0.26.0

74.0.1

selenoid/firefox:75.0

selenoid/vnc_firefox:75.0

1.10.0

0.26.0

75.0

selenoid/firefox:76.0

selenoid/vnc_firefox:76.0

1.10.0

0.26.0

76.0

selenoid/firefox:77.0

selenoid/vnc_firefox:77.0

1.10.0

0.26.0

77.0.1

selenoid/firefox:78.0

selenoid/vnc_firefox:78.0

1.10.0

0.26.0

78.0.1

selenoid/firefox:79.0

selenoid/vnc_firefox:79.0

1.10.0

0.27.0

79.0

selenoid/firefox:80.0

selenoid/vnc_firefox:80.0

1.10.0

0.27.0

80.0

selenoid/firefox:81.0

selenoid/vnc_firefox:81.0

1.10.0

0.27.0

81.0

selenoid/firefox:82.0

selenoid/vnc_firefox:82.0

1.10.0

0.27.0

82.0

selenoid/firefox:83.0

selenoid/vnc_firefox:83.0

1.10.0

0.28.0

83.0

selenoid/firefox:84.0

selenoid/vnc_firefox:84.0

1.10.0

0.28.0

84.0

selenoid/firefox:85.0

selenoid/vnc_firefox:85.0

1.10.1

0.29.0

85.0.1

selenoid/firefox:86.0

selenoid/vnc_firefox:86.0

1.10.1

0.29.0

86.0

selenoid/firefox:87.0

selenoid/vnc_firefox:87.0

1.10.1

0.29.0

87.0

selenoid/firefox:88.0

selenoid/vnc_firefox:88.0

1.10.3

0.29.1

88.0

selenoid/firefox:89.0

selenoid/vnc_firefox:89.0

1.10.3

0.29.1

89.0

selenoid/firefox:90.0

selenoid/vnc_firefox:90.0

1.10.3

0.29.1

90.0

selenoid/firefox:91.0

selenoid/vnc_firefox:91.0

1.10.3

0.29.1

91.0

selenoid/firefox:92.0

selenoid/vnc_firefox:92.0

1.10.5

0.29.1

92.0

selenoid/firefox:93.0

selenoid/vnc_firefox:93.0

1.10.5

0.29.1

93.0

selenoid/firefox:94.0

selenoid/vnc_firefox:94.0

1.10.5

0.29.1

94.0

selenoid/firefox:95.0

selenoid/vnc_firefox:95.0

1.10.7

0.29.1

95.0

selenoid/firefox:96.0

selenoid/vnc_firefox:96.0

1.10.7

0.29.1

96.0

selenoid/firefox:97.0

selenoid/vnc_firefox:97.0

1.10.7

0.29.1

97.0

selenoid/firefox:98.0

selenoid/vnc_firefox:98.0

1.10.7

0.29.1

98.0

selenoid/firefox:99.0

selenoid/vnc_firefox:99.0

1.10.7

0.29.1

99.0

selenoid/firefox:100.0

selenoid/vnc_firefox:100.0

1.10.7

0.29.1

100.0

selenoid/firefox:101.0

selenoid/vnc_firefox:101.0

1.10.7

0.29.1

101.0.1

selenoid/firefox:102.0

selenoid/vnc_firefox:102.0

1.10.7

0.29.1

102.0

selenoid/firefox:103.0

selenoid/vnc_firefox:103.0

1.10.8

0.31.0

103.0

selenoid/firefox:104.0

selenoid/vnc_firefox:104.0

1.10.8

0.31.0

104.0

selenoid/firefox:105.0

selenoid/vnc_firefox:105.0

1.10.8

0.31.0

105.0.1

selenoid/firefox:106.0

selenoid/vnc_firefox:106.0

1.10.8

0.31.0

106.0

selenoid/firefox:107.0

selenoid/vnc_firefox:107.0

1.10.9

0.32.0

107.0.1

selenoid/firefox:108.0

selenoid/vnc_firefox:108.0

1.10.9

0.32.0

108.0

selenoid/firefox:109.0

selenoid/vnc_firefox:109.0

1.10.9

0.32.0

109.0

selenoid/firefox:110.0

selenoid/vnc_firefox:110.0

1.10.9

0.32.2

110.0

selenoid/firefox:111.0

selenoid/vnc_firefox:111.0

1.10.10

0.33.0

111.0.1

selenoid/firefox:112.0

selenoid/vnc_firefox:112.0

1.10.11

0.33.0

112.0

selenoid/firefox:113.0

selenoid/vnc_firefox:113.0

1.10.11

0.33.0

113.0.1

selenoid/firefox:114.0

selenoid/vnc_firefox:114.0

1.10.12

0.33.0

114.0.1

selenoid/firefox:115.0

selenoid/vnc_firefox:115.0

1.10.12

0.33.0

115.0

+
+
+

1.4.5. Microsoft Edge

+
+ + + + + +
+ + +When adding Microsoft Edge to browsers.json - you have to use MicrosoftEdge as browser name. +
+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 16. Microsoft Edge Images
Imagemsedgedriver versionEdge version

browsers/edge:88.0

88.0.673.0

88.0.673.0 (dev)

browsers/edge:89.0

89.0.731.0

89.0.731.0 (dev)

browsers/edge:90.0

90.0.789.1

90.0.789.1 (dev)

browsers/edge:91.0

91.0.831.1

91.0.831.1 (dev)

browsers/edge:92.0

92.0.902.9

92.0.902.62 (dev)

browsers/edge:93.0

93.0.961.2

93.0.961.18 (dev)

browsers/edge:94.0

94.0.992.19

94.0.992.19 (beta)

browsers/edge:95.0

95.0.1020.5

95.0.1020.9 (beta)

browsers/edge:96.0

96.0.1054.34

96.0.1054.34

browsers/edge:97.0

97.0.1072.8

97.0.1072.55

browsers/edge:98.0

98.0.1108.55

98.0.1108.56

browsers/edge:99.0

99.0.1150.7

99.0.1150.30

browsers/edge:100.0

100.0.1185.23

100.0.1185.39

browsers/edge:101.0

101.0.1210.32

101.0.1210.39

browsers/edge:102.0

102.0.1245.30

102.0.1245.30

browsers/edge:103.0

103.0.1264.45

103.0.1264.51

browsers/edge:104.0

104.0.1293.47

104.0.1293.47

browsers/edge:105.0

105.0.1343.27

105.0.1343.33

browsers/edge:106.0

106.0.1370.34

106.0.1370.37

browsers/edge:107.0

107.0.1418.62

107.0.1418.62

browsers/edge:108.0

108.0.1462.54

108.0.1462.54

browsers/edge:109.0

109.0.1518.61

109.0.1518.61

browsers/edge:110.0

110.0.1587.49

110.0.1587.50

browsers/edge:111.0

111.0.1661.41

111.0.1661.44

browsers/edge:112.0

112.0.1722.39

112.0.1722.39

browsers/edge:113.0

113.0.1774.42

113.0.1774.42

browsers/edge:114.0

114.0.1823.43

114.0.1823.43

+
+
+

1.4.6. Opera

+ + ++++++ + + + + + + + + + + + + + + + + +
Table 17. Opera Presto Images
ImageVNC ImageSelenium versionOpera version

selenoid/opera:12.16

selenoid/vnc_opera:12.16

2.37.0

12.16.1860 (dialogs and probably async JS don’t work)

+
+ + + + + +
+ + +
+

Due to bug in Operadriver to work with Opera Blink images you need to pass additional capability:

+
+
+
+
{"browserName": "opera", "operaOptions": {"binary": "/usr/bin/opera"}}
+
+
+
+

We do not consider these images really stable. Many of base operations like working with proxies may not work.

+
+
+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 18. Opera Blink Images
ImageVNC ImageOperadriver versionOpera version

selenoid/opera:33.0

selenoid/vnc_opera:33.0

0.2.2

33.0.1990.115

selenoid/opera:34.0

selenoid/vnc_opera:34.0

0.2.2

34.0.2036.50

selenoid/opera:35.0

selenoid/vnc_opera:35.0

0.2.2

35.0.2066.92

selenoid/opera:36.0

selenoid/vnc_opera:36.0

0.2.2

36.0.2130.65

selenoid/opera:37.0

selenoid/vnc_opera:37.0

0.2.2

37.0.2178.54

selenoid/opera:38.0

selenoid/vnc_opera:38.0

0.2.2

38.0.2220.41

selenoid/opera:39.0

selenoid/vnc_opera:39.0

0.2.2

39.0.2256.71

selenoid/opera:40.0

selenoid/vnc_opera:40.0

0.2.2

40.0.2308.90

selenoid/opera:41.0

selenoid/vnc_opera:41.0

2.27

41.0.2353.69

selenoid/opera:42.0

selenoid/vnc_opera:42.0

2.27

42.0.2393.94

selenoid/opera:43.0

selenoid/vnc_opera:43.0

2.27

43.0.2442.991

selenoid/opera:44.0

selenoid/vnc_opera:44.0

2.27

44.0.2510.857

selenoid/opera:45.0

selenoid/vnc_opera:45.0

2.27

45.0.2552.635

selenoid/opera:46.0

selenoid/vnc_opera:46.0

2.27

46.0.2597.26

selenoid/opera:47.0

selenoid/vnc_opera:47.0

2.29

47.0.2631.39

selenoid/opera:48.0

selenoid/vnc_opera:48.0

2.30

48.0.2685.35

selenoid/opera:49.0

selenoid/vnc_opera:49.0

2.32

49.0.2725.39

selenoid/opera:50.0

selenoid/vnc_opera:50.0

2.32

50.0.2762.45

selenoid/opera:51.0

selenoid/vnc_opera:51.0

2.33

51.0.2830.26

selenoid/opera:52.0

selenoid/vnc_opera:52.0

2.35

52.0.2871.37

selenoid/opera:53.0

selenoid/vnc_opera:53.0

2.36

53.0.2907.68

selenoid/opera:54.0

selenoid/vnc_opera:54.0

2.37

54.0.2952.46

selenoid/opera:55.0

selenoid/vnc_opera:55.0

2.37

55.0.2994.37

selenoid/opera:56.0

selenoid/vnc_opera:56.0

2.40

56.0.3051.31

selenoid/opera:57.0

selenoid/vnc_opera:57.0

2.41

57.0.3098.76

selenoid/opera:58.0

selenoid/vnc_opera:58.0

2.42

58.0.3135.79

-

-

-

59.0.x.x (no stable release exists)

selenoid/opera:60.0

selenoid/vnc_opera:60.0

2.45

60.0.3255.56

-

-

-

61.0.x.x (no stable release exists)

selenoid/opera:62.0

selenoid/vnc_opera:62.0

75.0.3770.100

62.0.3331.99 (need to use browserName = chrome)

selenoid/opera:63.0

selenoid/vnc_opera:63.0

76.0.3809.132

63.0.3368.91

selenoid/opera:64.0

selenoid/vnc_opera:64.0

77.0.3865.120

64.0.3417.73

selenoid/opera:65.0

selenoid/vnc_opera:65.0

78.0.3904.87

65.0.3467.42

selenoid/opera:66.0

selenoid/vnc_opera:66.0

79.0.3945.79

66.0.3515.36

selenoid/opera:67.0

selenoid/vnc_opera:67.0

80.0.3987.100

67.0.3575.53

selenoid/opera:68.0

selenoid/vnc_opera:68.0

81.0.4044.113

68.0.3618.104

selenoid/opera:69.0

selenoid/vnc_opera:69.0

83.0.4103.97

69.0.3686.49

selenoid/opera:70.0

selenoid/vnc_opera:70.0

84.0.4147.89

70.0.3728.133

selenoid/opera:71.0

selenoid/vnc_opera:71.0

85.0.4183.102

71.0.3770.228

selenoid/opera:72.0

selenoid/vnc_opera:72.0

86.0.4240.80

72.0.3815.378

selenoid/opera:73.0

selenoid/vnc_opera:73.0

87.0.4280.67

73.0.3856.329

selenoid/opera:74.0

selenoid/vnc_opera:74.0

88.0.4324.104

74.0.3911.107

selenoid/opera:75.0

selenoid/vnc_opera:75.0

89.0.4389.82

75.0.3969.93

selenoid/opera:76.0

selenoid/vnc_opera:76.0

90.0.4430.85

76.0.4017.107

selenoid/opera:77.0

selenoid/vnc_opera:77.0

91.0.4472.77

77.0.4054.90

selenoid/opera:78.0

selenoid/vnc_opera:78.0

92.0.4515.107

78.0.4093.184

selenoid/opera:79.0

selenoid/vnc_opera:79.0

93.0.4577.63

79.0.4143.22

selenoid/opera:80.0

selenoid/vnc_opera:80.0

94.0.4606.61

80.0.4170.16

selenoid/opera:81.0

selenoid/vnc_opera:81.0

95.0.4638.54

81.0.4196.31

selenoid/opera:82.0

selenoid/vnc_opera:82.0

96.0.4664.45

82.0.4227.23

selenoid/opera:83.0

selenoid/vnc_opera:83.0

97.0.4692.71

83.0.4254.19

selenoid/opera:84.0

selenoid/vnc_opera:84.0

98.0.4758.82

84.0.4316.21

selenoid/opera:85.0

selenoid/vnc_opera:85.0

99.0.4844.51

85.0.4341.18

selenoid/opera:86.0

selenoid/vnc_opera:86.0

100.0.4896.127

86.0.4363.50

-

-

-

87.0.x.x (no published Operadriver exists)

selenoid/opera:88.0

selenoid/vnc_opera:88.0

102.0.5005.61

88.0.4412.40

selenoid/opera:89.0

selenoid/vnc_opera:89.0

103.0.5060.66

89.0.4447.97

selenoid/opera:90.0

selenoid/vnc_opera:90.0

104.0.5112.81

90.0.4480.84

selenoid/opera:91.0

selenoid/vnc_opera:91.0

105.0.5195.102

91.0.4516.20

selenoid/opera:92.0

selenoid/vnc_opera:92.0

106.0.5249.119

92.0.4561.43

selenoid/opera:93.0

selenoid/vnc_opera:93.0

107.0.5304.88

93.0.4585.11

selenoid/opera:94.0

selenoid/vnc_opera:94.0

108.0.5359.99

94.0.4606.26

selenoid/opera:95.0

selenoid/vnc_opera:95.0

108.0.5359.99

94.0.4606.26

selenoid/opera:96.0

selenoid/vnc_opera:95.0

109.0.5414.120

95.0.4635.46

selenoid/opera:96.0

selenoid/vnc_opera:96.0

110.0.5481.100

96.0.4693.31

selenoid/opera:97.0

selenoid/vnc_opera:97.0

111.0.5563.65

97.0.4719.63

selenoid/opera:98.0

selenoid/vnc_opera:98.0

112.0.5615.87

98.0.4759.39

selenoid/opera:99.0

selenoid/vnc_opera:99.0

113.0.5672.127

99.0.4788.77

selenoid/opera:100.0

selenoid/vnc_opera:100.0

114.0.5735.110

99.0.4788.77

+
+ + + + + +
+ + +
+
    +
  1. +

    These images work with any modern Selenium client version.

    +
  2. +
  3. +

    Images for older Opera versions were not built because we have no Debian packages. If you have such packages - we could create more images.

    +
  4. +
+
+
+
+
+
+

1.4.7. Safari

+
+ + + + + +
+ + +Real Safari browser can only run under MacOS \ iOS. These Linux images are using WebKit engine used in Safari browser. From functional point of view real Safari and WebKit browser being used inside these images are equal. However fonts and pixel per pixel rendering could differ. +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + +
Table 19. Safari Images
ImageWebkit version

browsers/safari:13.0

605.x

browsers/safari:14.0

610.4.3.1.7

browsers/safari:15.0

613.1.6.1

+
+
+

1.4.8. Windows Browsers

+
+

We don’t build ready to use images for Internet Explorer and any other browser under Windows because of Windows license limitations. However we provide detailed instructions on building such images here. The same approach can be used for preparing images with Microsoft Edge, Firefox, Chrome and Opera under Windows.

+
+
+
+
+
+
+

2. Features

+
+
+

2.1. Adding Custom Root Certification Authority

+
+

In corporate networks tested environments are often using self-signed TLS certificates. Such certificates are issued by a root certification authority not known to browsers. When trying to open an HTTPS web-page using a self-signed certificate, your browser by default will refuse to do this saying that "Your connection is not private" or "This connection is untrusted". In Selenium tests you can use a standard capability (acceptInsecureCerts = true) to ignore such certificate errors but this will not work when your web-page is using HSTS.

+
+
+

In order to work properly with self-signed certificates, you have to add your root certification authority certificate to a list of trusted certificates. Our images allow to do this using environment variables. For every root certificate stored in cert.pem file:

+
+
+
    +
  1. +

    Encode cert.pem file contents to Base64:

    +
    +
    +
    CERT_CONTENTS=$(cat cert.pem | base64 -w0)
    +
    +
    +
    +

    In case of MacOS respective command would be:

    +
    +
    +
    +
    CERT_CONTENTS=$(cat cert.pem | base64)
    +
    +
    +
  2. +
  3. +

    Set an environment variable to browser image:

    +
    +
    +
    ROOT_CA_<cert-name>="$CERT_CONTENTS"
    +
    +
    +
    +

    In that case <cert-name> will be used as certificate name in the browser certificates storage. For example:

    +
    +
    +
    +
    ROOT_CA_MY_CERT="LS0tL....=="
    +
    +
    +
  4. +
+
+
+
+

2.2. Using Custom Browser Profile with Chrome

+
+

If launching Chrome with a custom profile directory, Devtools will not work unless you +also set the BROWSER_PROFILE_DIR environment variable. E.g. when requesting the session:

+
+
+
+
{
+  "capabilities": {
+    "alwaysMatch": {
+      "browserName": "chrome",
+      "browserVersion": "114.0",
+      "goog:chromeOptions": {
+        "args": [ "user-data-dir=/profiles/custom.XYZ" ]
+      },
+      "selenoid:options": {
+        "env": [ "BROWSER_PROFILE_DIR=/profiles/custom.XYZ" ]
+      }
+    }
+  }
+}
+
+
+
+
+
+
+

3. Building Images

+
+
+

3.1. What’s Inside Images

+
+

Each image consists of 3 layers:

+
+
+
    +
  1. +

    Base layer - contains stuff needed in every image: Xvfb, fonts, locales, cursor blinking fix, timezone definition and so on. You have to build this layer manually.

    +
  2. +
  3. +

    Browser layer - contains browser binary.

    +
  4. +
  5. +

    Driver layer - contains either respective web driver binary or corresponding Selenium \ Selenoid server version.

    +
  6. +
+
+
+
+

3.2. Building Procedure

+
+

Building procedure is automated with a Go binary. All Docker build files are embedded to this binary. To build the binary from source:

+
+
+
+
$ go install github.com/markbates/pkger/cmd/pkger@latest
+$ go generate github.com/aerokube/images
+$ go build
+
+
+
+

To show help:

+
+
+
+
$ ./images --help
+$ ./images firefox --help
+
+
+
+
    +
  • +

    Before building images you can optionally clone tests repository:

    +
    +
    +
    $ git clone https://github.com/aerokube/selenoid-container-tests.git
    +
    +
    +
    +

    These tests require Java and Maven 3 to be installed. Tests directory should be cloned to this repository parent directory:

    +
    +
    +
    +
    images/ # <== this repo
    +selenoid-container-tests/ # <== optional tests repo
    +
    +
    +
  • +
  • +

    To build a Firefox image use the following command:

    +
    +
    +
    $ ./images firefox -b 79.0+build1-0ubuntu0.18.04.1 -d 0.26.0 --selenoid-version 1.10.0 -t selenoid/firefox:79.0
    +
    +
    +
    +

    Here 79.0+build1-0ubuntu0.18.04.1 is firefox package version for Ubuntu 18.04, 1.10.10 is Selenoid version to use inside image (just use latest release version here), selenoid/firefox:79.0 is Docker tag to be applied, 0.26.0 is Geckodriver version to use.

    +
    +
    +

    If you wish to automatically use the latest Selenoid and Geckodriver versions - just omit respective flags or use latest as value:

    +
    +
    +
    +
    $ ./images firefox -b 79.0+build1-0ubuntu0.18.04.1 -t selenoid/firefox:79.0
    +
    +
    +
    +

    If you wish to pack a local Debian package instead of APT - just replace package version with full path to deb file:

    +
    +
    +
    +
    $ ./images firefox -b /path/to/firefox_79.0+build1-0ubuntu0.18.04.1_amd64.deb -t selenoid/firefox:79.0
    +
    +
    +
    +

    It is important to use package files with full version specified name because automation scripts determine browser version by parsing package file name!

    +
    +
    +

    To run the tests after building the image add --test flag:

    +
    +
    +
    +
    $ ./images firefox -b 79.0+build1-0ubuntu0.18.04.1 -t selenoid/firefox:79.0 --test
    +
    +
    +
    +

    To push image after building add --push flag:

    +
    +
    +
    +
    $ ./images firefox -b 79.0+build1-0ubuntu0.18.04.1 -t selenoid/firefox:79.0 --push
    +
    +
    +
  • +
  • +

    To build a Chrome image use the following command:

    +
    +
    +
    $ ./images chrome -b 78.0.3904.97-1 -d 78.0.3904.70 -t selenoid/chrome:78.0
    +
    +
    +
    +

    Here 78.0.3904.97-1 is google-chrome-stable package version for Ubuntu 18.04, 78.0.3904.70 is Chromedriver version, selenoid/chrome:78.0 is Docker tag to be applied.

    +
    +
    +

    If you wish to automatically use the latest compatible Chromedriver version - just omit respective flag or use latest as value:

    +
    +
    +
    +
    $ ./images chrome -b 78.0.3904.97-1 -d latest -t selenoid/chrome:78.0
    +
    +
    +
  • +
  • +

    To build a Microsoft Edge image use the following command:

    +
    +
    +
    $ ./images edge -b 88.0.673.0-1 -d 88.0.673.0 -t selenoid/edge:88.0
    +
    +
    +
  • +
  • +

    To build an Opera image use the following command:

    +
    +
    +
    $ ./images opera -b 64.0.3417.92 -d 77.0.3865.120 -t selenoid/opera:64.0
    +
    +
    +
    +

    Here 64.0.3417.92 is opera-stable package version for Ubuntu 18.04, 77.0.3865.120 is Operadriver version, 64.0 is Docker tag to be applied.

    +
    +
  • +
  • +

    To build a Yandex image use the following command:

    +
    +
    +
    $ ./images yandex -b 20.4.3.268-1 -d 20.4.3.321 -t selenoid/yandex-browser:20.4
    +
    +
    +
    +

    Here 20.4.3.268-1 is yandex-browser-beta package version for Ubuntu 18.04, 20.4.3.321 is Yandexdriver Linux asset version, 20.4 is Docker tag to be applied.

    +
    +
  • +
  • +

    To build an Android image use the following command:

    +
    +
    +
    $ cd selenium
    +$ ./automate_android.sh
    +
    +
    +
    +

    This command is interactive - just answer the questions and it will build an image for you. In order to bundle custom APK to image - put it to selenium/android directory before running the script.

    +
    +
  • +
+
+
+
+

3.3. Selecting Browser Channel

+
+

Apart from the default stable release channel, the following ones are also supported:

+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 20. Available Browser Channels
BrowserChannelPackage

firefox

beta

firefox (PPA)

firefox

dev

firefox-trunk (PPA)

firefox

esr

firefox-esr (PPA)

chrome

beta

google-chrome-beta

chrome

dev

google-chrome-unstable

opera

beta

opera-beta

opera

dev

opera-developer

+
+

To build an image for one of the channels above use the --channel flag as follows:

+
+
+
+
$ ./images firefox -b 72.0~a1~hg20191114r501767-0ubuntu0.18.04.1~umd1 --channel dev -t selenoid/firefox:72.0a1
+
+
+
+
+
+
+ + + + + + + + + + + \ No newline at end of file