آبجکت Browser
گسترشی برای: EventEmitter
آبجکت Browser نمونه شیئی است که برای کنترل مرورگر یا تلفن همراه از آن استفاده میکنید. اگر از اجرا کننده WDIO استفاده میکنید، میتوانید به نمونه WebDriver از طریق شیء جهانی browser
یا driver
دسترسی داشته باشید یا آن را با استفاده از @wdio/globals
ایمپورت کنید. اگر از WebdriverIO در حالت مستقل استفاده می کنید، شی browser از طریق تابع remote
برگردانده می شود.
یک session توسط اجرا کننده تست مقداردهی اولیه می شود. در مورد پایان دادن به session نیز همین امر برقرار است. این امر نیز توسط اجرا کننده تست انجام میپذیرد.
ویژگی ها
یک شی browser دارای ویژگی های زیر است:
نام | نوع | جزئیات |
---|---|---|
قابلیت ها(capabilities) | شیء | Assigned capabilities from the remote server. Example: { |
قابلیت های درخواست شده | شیء | قابلیت (capabilitie) درخواست شده از طرف سرور remote. مثال: { browserName: 'chrome' } |
sessionId | String | Session id که از سرور remote اختصاص داده شده است. |
options | Object | options های WebdriverIO که به این بستگی دارد که شئ browser چگونه ایجاد شده است. اطلاعات بیشتر در راه اندازی types. |
commandList | String[] | لیستی از دستورات ثبت شده در نمونه ی browser |
isW3C | Boolean | Indicates if this is a W3C session |
isChrome | Boolean | Indicates if this Chrome instance |
isFirefox | Boolean | Indicates if this Firefox instance |
isBidi | Boolean | Indicates if this session uses Bidi |
isSauce | Boolean | Indicates if this session is Running on Sauce Labs |
isMacApp | Boolean | Indicates if this session is Running for a native Mac App |
isWindowsApp | Boolean | Indicates if this session is Running for a native Windows App |
isMobile | Boolean | یک session برای تلفن همراه را نشان می دهد. در پرچم های موبایل بیشتر بخوانید. |
isIOS | Boolean | یک session برای ios را نشان می دهد. در پرچم های موبایل بیشتر بخوانید. |
isAndroid | Boolean | یک session برای Android را نشان می دهد. در پرچم های موبایل بیشتر بخوانید. |
isNativeContext | Boolean | Indicates if the mobile is in the NATIVE_APP context. See more under Mobile Flags. |
mobileContext | string | The will provide the current context the driver is in, for example NATIVE_APP , WEBVIEW_<packageName> for Android or WEBVIEW_<pid> for iOS. It will save an extra WebDriver to driver.getContext() . See more under Mobile Flags. |
متود ها(توابع)
بر اساس پشتیبان اتوماسیون مورد استفاده برای session شما، WebdriverIO مشخص می کند که کدام دستور های پروتکل به شی browser متصل می شود. برای مثال، اگر یک session خودکار را در Chrome اجرا کنید، به دستورات خاص Chromium مانند elementHover
دسترسی خواهید داشت اما به هیچ یک از فرمان های Appium دسترسی ندارید.
علاوه بر این WebdriverIO مجموعه ای از روش های راحت را ارائه می دهد که برای تعامل با مرورگر یا عناصر در صف حه توصیه می شود از آنها استفاده کنید.
علاوه بر آن دستورات زیر نیز موجود است:
نام | پارامترها | جزئیات |
---|---|---|
addCommand | - commandName (Type: String )- fn (Type: Function )- attachToElement (Type: boolean ) | اجازه می دهد تا دستورات سفارشی را تعریف کرد که می توان از شی browser برای ترکیب های مختلف فراخوانی شود. در راهنمای Custom Command بیشتر بخوانید. |
overwriteCommand | - commandName (Type: String )- fn (Type: Function )- attachToElement (Type: boolean ) | Allows to overwrite any browser command with custom functionality. با دقت استفاده شود زیرا می تواند کاربران فریمورک را گیج کند. در راهنمای Custom Command بیشتر بخوانید. |
addLocatorStrategy | - strategyName (Type: String )- fn (Type: Function ) | Allows to define a custom selector strategy, read more in the Selectors guide. |