PageSourceSearch

https://webdriver.io/assets/js/6cd4e6e1.22420910.js

js webdriver.io collected 2026-09-24 08:35:13 UTC 10,947 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[28105],{1001:(e,n,r)=>{r.d(n,{A:()=>I});var t=r(7378),i=r(23372),a=r(41129),s=r(82434),o=r(30505),l=r(90703),c=r(8663),d=r(39164),u=r(60534);function p(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){const{values:n,children:r}=e;return(0,t.useMemo)(()=>{const e=n??function(e){return p(e).map(({props:{value:e,label:n,attributes:r,default:t}})=>({value:e,label:n,attributes:r,default:t}))}(r);return function(e){const n=(0,d.XI)(e,(e,n)=>e.value===n.value);if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,r])}function v({value:e,tabValues:n}){return n.some(n=>n.value===e)}function m({queryString:e=!1,groupId:n}){const r=(0,o.W6)(),i=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,c.aZ)(i),(0,t.useCallback)(e=>{if(!i)return;const n=new URLSearchParams(r.location.search);n.set(i,e),r.replace({...r.location,search:n.toString()})},[i,r])]}function f(e){const{defaultValue:n,queryString:r=!1,groupId:i}=e,a=h(e),[s,o]=(0,t.useState)(()=>function({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!v({value:e,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const r=n.find(e=>e.default)??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:a})),[c,d]=m({queryString:r,groupId:i}),[p,f]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[r,i]=(0,u.Dv)(n);return[r,(0,t.useCallback)(e=>{n&&i.set(e)},[n,i])]}({groupId:i}),w=(()=>{const e=c??p;return v({value:e,tabValues:a})?e:null})();(0,l.A)(()=>{w&&o(w)},[w]);return{selectedValue:s,selectValue:(0,t.useCallback)(e=>{if(!v({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),f(e)},[d,f,a]),tabValues:a}}var w=r(17933);const b={tabList:"tabList_PGOh",tabItem:"tabItem_Wr1C"};var g=r(86106);function x({className:e,block:n,selectedValue:r,selectValue:t,tabValues:a}){const o=[],{blockElementScrollPositionUntilNextRender:l}=(0,s.a_)(),c=e=>{const n=e.currentTarget,i=o.indexOf(n),s=a[i].value;s!==r&&(l(n),t(s))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const r=o.indexOf(e.currentTarget)+1;n=o[r]??o[0];break}case"ArrowLeft":{const r=o.indexOf(e.currentTarget)-1;n=o[r]??o[o.length-1];break}}n?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.A)("tabs",{"tabs--block":n},e),children:a.map(({value:e,label:n,attributes:t})=>(0,g.jsx)("li",{role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,ref:e=>{o.push(e)},onKeyDown:d,onClick:c,...t,className:(0,i.A)("tabs__item",b.tabItem,t?.className,{"tabs__item--active":r===e}),children:n??e},e))})}function y({lazy:e,children:n,selectedValue:r}){const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=a.find(e=>e.props.value===r);return e?(0,t.cloneElement)(e,{className:(0,i.A)("margin-top--md",e.props.className)}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==r}))})}function j(e){const n=f(e);return(0,g.jsxs)("div",{className:(0,i.A)(a.G.tabs.container,"tabs-container",b.tabList),
1children:[(0,g.jsx)(x,{...n,...e}),(0,g.jsx)(y,{...n,...e})]})}function I(e){const n=(0,w.A)();return(0,g.jsx)(j,{...e,children:p(e.children)},String(n))}},20380:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"wdio-ywinappdriver-service","title":"ywinappdriver Service","description":"wdio-ywinappdriver-service is a 3rd party package, for more information please see GitHub | npm","source":"@site/docs/_wdio-ywinappdriver-service.md","sourceDirName":".","slug":"/wdio-ywinappdriver-service","permalink":"/docs/wdio-ywinappdriver-service","draft":false,"unlisted":false,"editUrl":"https://github.com/licanhua/wdio-ywinappdriver-service/edit/main/README.md","tags":[],"version":"current","frontMatter":{"id":"wdio-ywinappdriver-service","title":"ywinappdriver Service","custom_edit_url":"https://github.com/licanhua/wdio-ywinappdriver-service/edit/main/README.md"},"sidebar":"docs","previous":{"title":"winappdriver Service","permalink":"/docs/wdio-winappdriver-service"},"next":{"title":"PerformanceTotal Service","permalink":"/docs/wdio-performancetotal-service"}}');var i=r(86106),a=r(22002);r(1001),r(87780);const s={id:"wdio-ywinappdriver-service",title:"ywinappdriver Service",custom_edit_url:"https://github.com/licanhua/wdio-ywinappdriver-service/edit/main/README.md"},o=void 0,l={},c=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Options",id:"options",level:2},{value:"logPath",id:"logpath",level:3},{value:"command",id:"command",level:3},{value:"args",id:"args",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["wdio-ywinappdriver-service is a 3rd party package, for more information please see ",(0,i.jsx)(n.a,{href:"https://github.com/licanhua/wdio-ywinappdriver-service",children:"GitHub"})," | ",(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/wdio-ywinappdriver-service",children:"npm"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["This service helps you to run the ywinappdriver server seamlessly when running tests with the ",(0,i.jsx)(n.a,{href:"https://webdriver.io/guide/testrunner/gettingstarted.html",children:"WDIO testrunner"}),". It starts the ",(0,i.jsx)(n.a,{href:"https://github.com/licanhua/YWinAppDriver",children:"ywinappdriver"})," in a child process."]}),"\n",(0,i.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm install wdio-ywinappdriver-service --save-dev\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Instructions on how to install ",(0,i.jsx)(n.code,{children:"WebdriverIO"})," can be found ",(0,i.jsx)(n.a,{href:"https://webdriver.io/docs/gettingstarted.html",children:"here."})]}),"\n",(0,i.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsxs)(n.p,{children:["In order to use the service you need to add ",(0,i.jsx)(n.code,{children:"ywinappdriver"})," to your service array:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"// wdio.conf.js\nexport.config = {\n    // ...\n    services: ['ywinappdriver'],\n    // ...\n};\n"})}),"\n",(0,i.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,i.jsxs)(n.p,{children:["The following options can be added to the wdio.conf.js file. To define options for the service you need to add the service to the ",(0,i.jsx)(n.code,{children:"services"})," list in the following way:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"// wdio.conf.js\nexport.config = {\n    // ...\n    services: [\n        ['ywinappdriver', {\n            // ywinappdriver service options here\n            // ...\n        }]\n    ],\n    // ...\n};\n"})}),"\n",(0,i.jsx)(n.h3,{id:"logpath",children:"logPath"}),"\n",(0,i.jsx)(n.p,{children:"Path where all logs from the ywinappdriver server should be stored."}),"\n",(0,i.jsxs)(n.p,{children:["Type: ",(0,i.jsx)(n.code,{children:"String"})]}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"export.config = {\n    // ...\n    services: [\n        ['ywinappdriver', {\n            logPath : './'\n        }]\n    ],\n    // ...\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"command",children:"command"}),"\n",(0,i.jsx)(n.p,{children:"To use your own installation of winappdriver, e.g. globally installed, specify the command which should be started."}),"\n",(0,i.jsxs)(n.p,{children:["Type: ",(0,i.jsx)(n.code,{children:"String"})]}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"export.config = {\n    // ...\n    services: [\n        ['ywinappdriver', {\n            command : 'c:\\\\xx\\\\ywinappdriver.exe'\n        }]\n    ],\n    // ...\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"args",children:"args"}),"\n",(0,i.jsxs)(n.p,{children:["List of arguments passed directly to ",(0,i.jsx)(n.code,{children:"ywinappdriver"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"https://github.com/licanhua/ywinappdriver",children:"the documentation"})," for possible arguments."]}),"\n",(0,i.jsxs)(n.p,{children:["Type: ",(0,i.jsx)(n.code,{children:"Array"})]}),"\n",(0,i.jsxs)(n.p,{children:["Default: ",(0,i.jsx)(n.code,{children:"[]"})]}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"export.config = {\n    // ...\n    services: [\n        ['ywinappdriver', {\n            args: ['--urls' 'http://127.0.0.1:4723' '--basepath' '/wd/hub']\n        }]\n    ],\n    // ...\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},22002:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var t=r(7378);const i={},a=t.createContext(i);function s(e){const n=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(a.Provider,{value:n},e.children)}},87780:(e,n,r)=>{r.d(n,{A:()=>s});r(7378);var t=r(23372);const i={tabItem:"tabItem_l0gC"};var a=r(86106);function s({children:e,hidden:n,className:r}){return(0,a.jsx)("div",{role:"tabpanel",className:(0,t.A)(i.tabItem,r),hidden:n,children:e})}}}]);

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.