PageSourceSearch

https://serenity-bdd.github.io/assets/js/4944066c.a49ccaf0.js

js serenity-bdd.github.io collected 2026-10-03 09:56:58 UTC 6,372 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkserenity_users_guide=globalThis.webpackChunkserenity_users_guide||[]).push([[6877],{5487(e,n,o){o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>t,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"cloud/selenoid","title":"selenoid","description":"Selenoid Selenoid is a powerful Golang implementation of original Selenium hub code. It is using Docker to launch browsers. Please refer to GitHub repository if you need source code.","source":"@site/docs/cloud/selenoid.md","sourceDirName":"cloud","slug":"/cloud/selenoid","permalink":"/docs/cloud/selenoid","draft":false,"unlisted":false,"editUrl":"https://github.com/serenity-bdd/serenity-bdd.github.io/blob/master/docs/cloud/selenoid.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"id":"selenoid","title":"selenoid","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Selenium Grid","permalink":"/docs/cloud/selenium-grid"},"next":{"title":"LambdaTest","permalink":"/docs/cloud/lambdatest"}}');var i=o(4848),s=o(8453);const t={id:"selenoid",title:"selenoid",sidebar_position:1},l="Introduction",d={},c=[];function a(e){const n={a:"a",code:"code",h1:"h1",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://aerokube.com/selenoid/latest/",children:"Selenoid"})," Selenoid is a powerful Golang implementation of original Selenium hub code. It is using Docker to launch browsers. Please refer to GitHub repository if you need source code."]}),"\n",(0,i.jsxs)(n.p,{children:["The simplest way to configure the driver you want to use is in your project's ",(0,i.jsx)(n.code,{children:"serenity.conf"})," file (which you will find in ",(0,i.jsx)(n.code,{children:"src/test/resources"})," folder).\nRefer to ",(0,i.jsx)(n.a,{href:"https://serenity-bdd.github.io/docs/guide/driver_config",children:"Driver Config"})]}),"\n",(0,i.jsx)(n.p,{children:"You can configure your tests to run against this server by setting two properties:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Set the ",(0,i.jsx)(n.code,{children:"webdriver.driver"})," property to ",(0,i.jsx)(n.code,{children:"remote"})]}),"\n",(0,i.jsxs)(n.li,{children:["Set the ",(0,i.jsx)(n.code,{children:"webdriver.remote.url"})," property to the address of your selenoid instance (",(0,i.jsx)(n.a,{href:"http://localhost:4444/wd/hub",children:"http://localhost:4444/wd/hub"})," by default)"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-conf",children:'webdriver {\n  driver = remote\n  remote.url = "http://localhost:4444/wd/hub"\n  }\n }\n'})}),"\n",(0,i.jsx)(n.p,{children:"You can also provide additional properties about the target browser or environment, including:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"browserName"}),':  property to the name of the driver you want to run (e.g. "chrome")']}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"browserVersion"}),': What version of the remote browser to use (e.g. "93")']}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-conf",children:'\nwebdriver {\n  driver = remote\n  remote.url = "http://localhost:4444/wd/hub"\n  capabilities {\n    browserName = "chrome"\n    browserVersion = "93"\n  }\n}\n\n'})}),"\n",(0,i.jsx)(n.p,{children:"If you use serenity.properties:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-properties",children:"\nwebdriver.driver = remote\nwebdriver.remote.url = http://localhost:4444/wd/hub\nwebdriver.capabilities.browserVersion=93.0\nwebdriver.capabilities.browserName=chrome\n\n"})}),"\n",(0,i.jsx)(n.p,{children:"Example with multiple environments for Selenoid and Local browser:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-conf",children:'serenity {\n  project.name = "Project with Remote(selenoid) and L
1ocal browsers"\n  console.colors = true\n  logging = VERBOSE\n  take.screenshots = AFTER_EACH_STEP\n}\n\nenvironment = selenoid\n\nenvironments {\n  selenoid {\n    webdriver {\n      driver = remote\n      remote.url = "http://localhost:4444/wd/hub"\n      capabilities {\n        browserName = "chrome"\n        browserVersion = "118.0"\n        "selenoid:options" {\n            enableVNC = true\n            enableVideo = false\n            sessionTimeout = 10m\n            timeZone = America/Los_Angeles\n          }\n        "goog:chromeOptions" {\n            args = ["--remote-allow-origins=*", "disable-gpu", "disable-setuid-sandbox", "disable-dev-shm-usage"]\n            prefs {\n              profile.profile_default_content_settings.popups = 0\n              profile.default_content_setting_values.notifications = 1\n             }\n          }\n        timeouts {\n           #script = 30000\n           #pageLoad = 300000\n           implicit = 5000\n         }\n      }\n    }\n  }\n  local {\n    webdriver {\n      driver = chrome\n      capabilities {\n        "goog:chromeOptions" {\n            args = ["--remote-allow-origins=*", "disable-gpu", "disable-setuid-sandbox", "disable-dev-shm-usage"]\n            prefs {\n              profile.profile_default_content_settings.popups = 0\n              profile.default_content_setting_values.notifications = 1\n             }\n          }\n        timeouts {\n           #script = 30000\n           #pageLoad = 300000\n           implicit = 5000\n         }\n      }\n    }\n  }\n}\n\n'})}),"\n",(0,i.jsxs)(n.p,{children:["You can run tests on specific environment via comman line.\n",(0,i.jsx)(n.code,{children:"mvn clean verify -Denvironment=selenoid"})]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453(e,n,o){o.d(n,{R:()=>t,x:()=>l});var r=o(6540);const i={},s=r.createContext(i);function t(e){const n=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.