This reference covers version: latest

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. Android

Hardware server or virtual machine with nested virtualization support is required to run Android images.
Table 1. Android Images
Image Android version Appium 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. Neither Chromedriver nor Chrome Mobile are installed. To test hybrid apps build your own image using provided automation script.

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.2. Chrome Developer Tools Protocol

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

Table 2. Chrome Developer Tools Protocol Images
Image Chrome 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:91.0

91.0.4472.77

1.3. Chrome

Table 3. Chrome Images
Image VNC Image Chromedriver version Chrome 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.19

91.0.4472.77

  1. These images work with any modern Selenium client version.

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

1.4. Chrome Mobile

Hardware server or virtual machine with nested virtualization support is required to run Chrome Mobile images.
Table 4. Chrome Mobile Images
Image Android version Appium version Chromedriver version Chrome 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.5. Firefox

Table 5. Firefox Images with Selenium Server
Image VNC Image Selenium Version Firefox Version Client 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 6. Firefox Images with Selenoid
Image VNC Image Selenoid Version Geckodriver Version Firefox 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

1.6. Microsoft Edge

When adding Microsoft Edge to browsers.json - you have to use MicrosoftEdge as browser name.
Table 7. Microsoft Edge Images
Image msedgedriver version Edge 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.8 (dev)

browsers/edge:93.0

93.0.910.5

93.0.910.5 (dev)

1.7. Opera

Table 8. Opera Presto Images
Image VNC Image Selenium version Opera 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 9. Opera Blink Images
Image VNC Image Operadriver version Opera 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

  1. These images work with any modern Selenium client version.

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

1.8. Playwright

These images are used to run Playwright tests in parallel.

Table 10. Chromium Images
Image Aliases Playwright version Chrome 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

playwright/chromium:93.0

1.12.2

93.0.4530.0

Table 11. 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

playwright/chrome:91.0 (switched to stable releases)

1.12.2

91.0.4472.101

Table 12. Firefox Images
Image Aliases Playwright version Firefox 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

playwright/firefox:89.0

1.12.2

89.0

Table 13. Webkit (Safari Desktop) Images
Image Aliases Playwright version Safari 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

playwright/webkit:14.2

1.12.2

14.2

1.9. 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 14. Safari Images
Image Webkit version

browsers/safari:13.0

605.x

browsers/safari:14.0

610.4.3.1.7

1.10. 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. 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....=="

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. Browser layer - contains browser binary.

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

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 get github.com/markbates/pkger/cmd/pkger
$ 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 15. Available Browser Channels
Browser Channel Package

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