Selenium WebDriver

Selenium IDE Roundel
Selenium Roundel

امروزه با افزایش تمایل بازار به تحویل سریع محصولات توسط شرکت‌های انفورماتیک، تمام همّ و غمّ در عرصه تست نرم‌افزار موضوع افزایش سرعت در اجرای تست است. همین موضوع باعث شده است که Test Automation یا اتوماتیک‌سازی تست نرم‌افزار به یکی از پرطرفدارترین راهکارهای موجود در دنیا بدل شود. راهکاری که برای ورود به آن باید از یک ابزار Test Automation استفاده نمود. در میان تمام ابزارهای اتوماسیون تست، به ضرس قاطع می‌توان گفت Selenium پرطرفدارترین ابزار تست در تمام دنیاست، چرا که از امتیازاتی از قبیل Open Source بودن، رایگان بودن، برخورداری از یک تیم پشتیبانی قوی و همراهی اکثر مرورگرها بهره می‌گیرد.

Selenium WebDriver ابزاری برای Test Automation به صورت Open Source است که از طریق درایور مخصوص مرورگر(Browser Specific Driver) اجرا می‌شود، و با استفاده از آن دستورات را به مرورگر ارسال کرده و سپس نتایج را بازیابی می‌کند. آخرین نسخه Selenium 3 ویژگی‌های جدید زیادی را به همراه دارد که شیوه استفاده و تنظیم Selenium WebDriver را تغییر می‌دهد. این دوره تمام آن ویژگی‌ها، به همراه Source Code، و یک وبسایتِ دِمو که به شما امکان می‌دهد با یک برنامه HMTL5 و نمونه‌های دیگر در سراسر دوره کار کنید، را ارائه می‌دهد.

از ابزار سلنیوم علاوه بر تست خودکار مرورگرها می‌توان برای Screen Scraping و خودکارسازی فعالیت‌های تکراری در یک پنجره مرورگر استفاده نمود. سلنیوم، اتوماسیون را در همه مرورگرهای اصلی از جمله Firefox ، Internet Explorer ، Google Chrome ، Safari و Opera پشتیبانی می‌کند.

Selenium WebDriver با استفاده از پروتکل JSON-Wire (که Client API نیز نامیده می‌شود) دستوراتی را پذیرفته و آنها را برای مرورگری که توسط Driver Class خاص(مانند ChromeDriver ، FirefoxDriver یا IEDriver) راه‌اندازی شده ارسال می‌کند. چنین چیزی توسط یک Browser Driver خاص منظوره برای Browser عملیاتی می‌شود، که به صورت زیر کار می‌کند:

  1. Driver به دستوراتی که از سوی Selenium می‌آیند گوش فرا می‌دهد.
  2. Driver مذبور این دستورات را به API بومیِ Browser تبدیل می‌کند.
  3. Driver نتیجه دستورات بومی را گرفته و این نتایج را به سلنیوم ارسال می‌کند.

ما می توانیم از Selenium WebDriver برای انجام امور زیر استفاده کنیم:

  • ایجاد یک اتوماسیون رگرسیون مستحکم و مبتنی بر مرورگر.
  • توزین و توزیع اسکریپت‌ها در بسیاری از مرورگرها و سیستم عامل‌ها
  • نوشتن اسکریپت‌ها با زبان برنامه‌نویسی مورد علاقه نویسنده آن

Selenium WebDriver مجموعه‌ای از Bindingهای خاص زبان(Client Library) را برای Drive کردن مرورگر ارائه می‌دهد. WebDriver با مجموعه‌ای از API ها ارائه می‌شود که انتظارات اکثر توسعه دهندگان را با شبیه بودن به برنامه نویسی شی گرا در اجرای آن، برآورده می‌کند. Selenium Client API یک کتابخانه Selenium مخصوص به زبان است که Selenium API سازگار با زبان‌های برنامه نویسی مانند Java ، C # ، Python ، Ruby و JavaScript را فراهم می‌کند. این Binding به زبان‌ها به شما امکان می‌دهد تا یک WebDriver session راه‌اندازی کرده و با مرورگر یا سرور سلنیوم ارتباط برقرار کنند.

ما در این دوره قصد داریم تا استفاده از سلنیوم را، با بهره‌گیری از زبان Java، آموزش دهیم.

انواع برگزاری: حضوری/مجازی آنلاین

برگزاری‌های مختلف این دوره: لیست ادوار

وضعیت ثبت نام: در حال ثبت نام

  • رئوس مطالب
  • مدت
  • پیشنیاز
  • مخاطبین رویداد
  • انتظارات پس از رویداد
  • ملاحظات مهم
  • مدرس/سخنران

این دوره آموزشی مشتمل بر دو قسمت است:

آموزش پیشنیازها(Java و تکنولوژی‌های جانبی) | حدود ۳۵ ساعت

آموزش پیشنیازها(Java و تکنولوژی‌های جانبی) | حدود ۳۵ ساعت

نکته: عزیزانی که در این پیشنیازها توانمندی دارند، لزومی به گذارندن این بخش از دوره ندارند و می‌توانند صرفا بلیت دوره Selenium WebDriver 3 را تهیه نمایند.

آموزش تمام پیشنیازها تا حدی انجام می‌شود که برای کار کردن در Selenium WebDriver 3 به آن نیاز دارید. سرفصل‌ها عبارتند از:

  • کدنویسی به زبان Java
    • نصب و راه‌اندازی Java و یک IDE
    • Variableها و Data Typeها
    • Operatorها
    • ساختارهای کنترلی(شرط و حلقه)
    • Class و مفاهیم حاکم بر آن
    • آرایه‌ها و رشته‌ها
    • ارث‌بری(Inheritance)
    • Packageها
    • Interfaceها
    • Errorها، Exceptionها و دیباگ کردن
  • تکنولوژی‌های جانبی
    • آموزش HTML
    • آموزش CSS
    • آموزش JSON
    • آموزش xPath

Selenium WebDriver 3 | حدود ۵۵ ساعت

Selenium WebDriver 3 | حدود ۵۵ ساعت

  • معرفی WebDriver و WebElements
    • ابزار تست Selenium
    • تفاوت‌ها میاین Selenium 2 و Selenium 3
    • ستاپ کردن پروژه در Eclipse با Maven و TestNG با استفاده از Java
    • WebElementها
    • مکان‌یابی(Locating) WebElementها با استفاده از WebDriver
    • تعامل با WebElementها
  • WebDriverهای موجود
    • Firefox Driver
    • Chrome Driver
    • IE Driver
    • Edge Driver
    • Safari Driver
  • استفاده از امکانات Java 8 در Selenium
    • Java 8 Stream API
    • استفاده از Stream API در Selenium WebDriver
  • امکانات WebDriver
    • Screenshot گرفتن
    • مکان‌یابی(Locating) برای Windowها و Frameهای مورد نظر
    • Navigate و هدایت
    • انتظار برای بارگذاری WebElementها
    • Handle کردن کوکی‌ها
  • تعاملات پیشرفته WebDriver
    • Build کردن و اجرای Actionها
    • تعاملات مبتنی بر Mouse
    • تعاملات مبتنی بر Keyboard
  • درک Eventهای WebDriver
    • کلاس‌های eventFiringWebDriver و eventListener
    • ایجاد Instance از EventListener
    • EventListener مختلف در WebDriver

فصولی که در ادامه می‌آیند(از فصل هشتم به بعد)، مباحث از Selenium WebDriver صرف خارج شده، و مباحث دیگری از Selenium، مطرح می‌شوند.

  • RemoteWebDriver
    • درک و استفاده از RemoteWebDriver
    • درک JSON wire protocol
  • ستاپ کردن Selenium Grid
    • کاوشی در Selenium Grid
    • درک Hub
    • درک Node
    • اصلاح Test Script موجود برای استفاده Selenium Grid
    • پیکربندی Selenium Grid
    • استفاده از Gridهای Cloud Base برای Cross-Browser Testing
  • PageObject Pattern
    • ایجاد Test Caseها برای یک بلاگ WordPress
    • PageObject Pattern چیست؟
    • Practiceهای خوب برای طراحی PageObject ها
    • کار روی یک مثال End-to-End از WordPress
  • Data-Driven Testing با استفاده از TestNG
    • مروری بر Data-Driven Testing
    • پارامتریزه کردن تست‌ها با استفاده از Suite Parameterها
    • پارامتریزه کردن تست‌ها با استفاده از Data Providerها

بخش پیشنیاز کارگاه سلنیوم پیش از این به مدت ۳۰ ساعت برگزار می‌شد، که اکنون این زمان به ۳۵ ساعت افزایش یافته است. ضمنا بخش آموزش سلنیوم نیر سابقا به مدت ۴۰ ساعت برگزار می‌شد، که اکنون این زمان به ۵۵ ساعت ارتقا یافته است. علت این ارتقائات نیز مشخص شدن کمبود زمان برای تدریس سیلابس مورد نظر بوده است. لذا سیلابس این دوره که سابقا به صورت ۷۰ ساعته برگزار می‌شد، با ۲۰ ساعت رشد به مدت ۹۰ ساعت ارتقا یافته است. جلسات برگزار شده، بسته به طول هر جلسه شامل ساعات تنفس محدودی نیز می‌شوند، که مجموع زمان تدریس و تنفس در کل دوره کارگاهی برابر با ۹۰ ساعت خواهد بود.

در صورت گذراندن تمام دوره کارگاهی ۹۰ ساعته(مشتمل بر پیشنیازها و Selenium WebDriver)، نیازی به هیچگونه پیشنیازی نخواهید داشت. اما اگر صرفا بنا دارید در ۵۵ ساعت دوره آموزشی  Selenium WebDriver 3 حضور داشته باشید، باید تمام سرفصل‌های آموزشی پیشنیاز را به صورت شخصی بیاموزید.

تمامی نقش‌های زیر که به دنبال ایجاد مجموعه‌ای از تست‌های اتوماتیک برای اپلیکیشن‌های وب هستند:

  • متخصص QA
  • متخصص تست
  • توسعه دهنده نرم‌افزار(وب اپلیکیشن)

  • کسب دانش کامل در مورد Selenium WebDriver
  • توانایی نوشتن تست‌های اتوماتیک با استفاده از Selenium WebDriver
  • کسب دانش پایه کدنویسی به زبان Java که می‌توانید آنرا برای تبدیل شدن به کدنویس حرفه‌ای Java تعمیم داده و گسترش دهید.

آنچه باید داشته باشید

  • اکانت اسکایپ. این دوره در بستر اسکایپ برگزار می‌شود.
  • داشتن یک دستگاه لپتاپ، با حداقل مشخصات سخت افزاری که توانایی بارگذاری سریع Windows 10، مرورگر Chrome، Firefox، Edge، و IE.
  • علیرغم اینکه سلنیوم روی اکثر OSها امکان اجرای عملیات دارد، اما آموزش الزاما باید در بستر یک OS انجام شود، که در این میان Windows 10 انتخاب شده است. لذا شرکت کنندگان الزاما باید دارای یک سیستم Windows 10 باشند، و باقی OSها در زمان آموزش توسط مدرس پشتیبانی نخواهند شد.

امکانات دوره

  • اجازه صدابرداری و Capture کردن صفحه مانیتور دانش‌پژوه توسط خود وی وجود دارد. اما دانش پژوه به لحاظ اخلاقی و حرفه‌ای مجاز به انتشار فیلم ضبط شده نخواهدد بود.
  • در صورتی که دانش‌پژوه در حین برگزاری دوره دچار یک مشکل عملیاتی در راستای آموزش شود، مدرس دوره با استفاده از نرم‌افزار AnyDesk به سیستم دانش‌پژوه متصل شده و در صورت امکان، مشکل را رفع می‌نماید.

استرداد وجه

  • پس از تهیه بلیت و پرداخت وجه، امکان مرجوعی بلیت وجود ندارد. لطفا در خرید خود دقت فرمایید.
  • در صورتیکه کارگاه به هر دلیلی لغو شود، که مقصر آن ثبت نام کنندگان نباشند، وجه ثبت نام به طور کامل و بدون کم و کاست، حداکثر ظرف ۴۸ ساعت به شماره کارت ثبت نام کننده مسترد شده و واریز می‌گردد.

محدودیت‌های برگزاری دوره

  • کارگاه راس ساعت آغاز می‌گردد، حتی اگر فقط یک نفر از ثبت نام شدگان در کلاس حضور داشته باشد. لذا خواهشمند است راس ساعت و یا کمی قبلتر از آن در جلسه کارگاهی حضور یابید.

مطول شدن برگزاری دوره

  • بسته به شرایط برگزاری از جمله پرسش و پاسخ زیاد، یا عدم برگزاری برخی از کلاس‌ها به دلیل رویدادهای فورس ماژور، احتمالا اینکه دوره از ۹۰ ساعت فراتر رود، و یا روزهایی به عنوان جایگزین به علت رویدادهای فورس ماژور در نظر گرفته شود وجود. به هر حال در هیچ یک از موارد هزینه اضافه‌ای شامل حال دانشپژوهان نخواهد شد.

Abolfazl Khajeh Dizaji

ابوالفضل خواجه دیزجی، مشاور، مدرس، مترجم و مولف کتب دوره‌های تست نرم‌افزار

آموزش

۱۴ دیدگاه

  1. من کاملا از شرکت در این دوره راضی بودم،با اینکه به خاطر مشکلات تدریس مجازی از جمله ضعف سرعت اینترنتم مقداری از کلاس عقب موندم،ولی با مشاهده فیلم جلسات تونستم مطالب رو به خوبی یاد بگیرم.
    تدریس ایشون متناسب برای افراد با هر سطحی از دانش جاوا هست و اصلا نگران این نباشید که به چه میزان با جاوا آشنایی دارید،چون خود من سال ها بود از حوزه برنامه نویسی دور بودم ولی خیلی راحت در دوره اول که تدریس جاوا بود، مطالب مورد نیاز برای دوره سلنیوم رو آموختم.
    و اینکه به نظر من استاد دیزجی بر روی تمامی مباحث مطرح شده در این دوره تسلط کامل دارند و فن بیان ایشون هم برای تدریس مطالب عالی هست.

  2. من با معرفی یکی از دوستان در این دوره شرکت کردم و از تدریس استاد بسیار راضی بودم که استاد واقعا توان گذاشتن و نمیتونم هیچ ایرادی به تدریس ایشون بگیرم و به نظرم حتی اگر در طول دوره زمان کم باشه برای مطالعه .ارزش داره دوره رو شرکت کنید و با توجه به داکیومنت ها و فیلم های جامعی که در اختیار دارید از تدریس استفاده کنید و به هدفتون برسید .

  3. سلام ضمن تشکر از استاد بابت آموزش کامل و جامعی که داشتن و هم چنین بابت حوصله و صبر بالا در پاسخ گویی به سوالات مطروحه
    به جهت حجم بالای مطالب در دوره ی جاوا که پیش نیاز دوره ی سلنیوم هم هست بهتر بود که یه جزوه ی آموزشی از مفاهیم ابتدایی و پایه ای که در این دوره قرار بود آموزش داده بشه در نظرگرفته میشد تا زمان مرور مطالب در صورت ایجاد ابهام در هر یک از مفاهیم به اون جزوه مراجعه بشه تا هم جنبه ی راهنما رو داشته باشه و هم یاد آوری

  4. من دوره جاوا و سلنیوم زمانی ثبت نام کردم که جلسات اخر جاوا بود و قسمت جاوا رو با ویدیو های ظبط شده یاد گرفتم و توضیحات انقدر کامل و قابل فهم بود که نیازپیدا نکردم سوالی در این زمینه بپرسم , تدریس سلنیوم خیلی جامع و کامل و قابل فهم بود .
    دوره به علت های زیادی طولانی شد که اگه با زمان بندی اولیه که ارائه شده بود تموم میشد خیلی بهتر بود .
    اگه تصمیم دارید سلنیوم یادبگیرید پیشنهاد میکنم تو دوره استاد دیزجی ثبت نام کنید.

  5. به نظرم اگر میخواهید یه مطلب به طور عمیق و کامل و کاربردی یاد بگیرید حتما در این دوره شرکت کنید. استاد واقعا عالی درس میده و نمیذاری مفهومی گنگ بمونه. اما با توجه به حجم مطالب و مدت زمان برگزاری کلاسها باید دوبرابر زمانی که سر کلاس هستید برای تمرین و یادگیری مفاهیم وقت بذارید تا بتونید به مطالب تسلط داشته باشید.
    اگر از عزمتون جزم کردید برای یادگیری سلنیوم وب درایور یه لحظه برای انتخاب این دوره با این استاد شک نکنید.

  6. من تو دوره جاوا و سلنیوم وب درایور شرکت کردم مطالبی که گفته میشد کاملا با جزییات بود برای من که خیلی وقت بود که از برنامه نویسی دور بودم خیلی مفید بود.استاد با صبوری پاسخگوی همه سوالات بودن.من متاسفانه از یه جایی به بعد نتونستم تو کلاس شرکت کنم ولی ویدئو های کلاس و میدیدم و میتونم بگم بسیار کاربردی و مفیدبود.ممنونم

  7. با سلام
    دوره بسیار عالی و خوبی بود
    حوصله استاد تو جوابگویی به مشکلات بسیار عالی بود

  8. من تو دوره اول حضور Selenium WebDriver 3 بودم. شوق فراوونی هم برای یادگیری داشتم. مرتبم به تیستن سر میزنم. دیدم یه سری نظر تو بخش نظرات فوتر سایت هست. منم ترجیح دادم نظر بدم.
    آخر وقت جمعس و منم تو خونه بیکار:) . دوره اولی که من بودم شامل دو قسمت جاوا و سلنیوم بود. بخش جاوا خوب بود. با مثالهای خیلی زیاد و پرسش و پاسخ فراوون. دوره سلنیوم هم خوب بود. تا چند فصل رفتیم جلو. شیوه هم اینطوری بود که استاد دیزجی تدریس میکردو بعد مساله میداد و بچه ها هم حل میکردن. بعد بچه ها صفحه رو شیر میکردن تا همه بتونیم از کدایی که شخص دیگه ای زده استفاده کنیم. خیلی خوب بود. به نظرم همه راضی بودن. بعضی از جلسات به خاطر مسائلی که گویا فورس بود برگزارنشد. اما به هر حال طبق مدت دوره که اون موقع ۷۰ ساعت بود کلاس آنلاین داشتیم. ولی کلاس تو زمان دوره تموم نشد و مطالب زیادی موند. فکر کنم علتش همون داستانی بود که استاد درس میداد و بچه ها کد میزدن. این موضوع خیلی وقت رو گرفت. خود استاد هم همین موضوع رو گفت. البته باقی دوره به صورت آفلاین تدریس شد، و ضبط شد و برامون ارسال شد. و فرصت شد تو عید مطالعه بشه.
    به جز این مساله که دوره طول کشید نکته منفی دیگه ای نداشت. البته گویا تو دور دوم چنین چیزی پیش نیومده بود. چون چند تا از بچه های دور دوم رو از قبل میشناسم.
    اما پشتیبانی ایشون خوب بود. تقریبا سوالی بدون جواب نمیموند. حتی آخر شب هم اگر لازم بود، پاسخگو بودن. و موضوع بعدی که برام جالب بود، وجدان کار ایشون بود. ایشون چند بار بعد از اتمام دوره در گروه مطرح کردن اگر کسی از موضوع تدریس در دور اول ناراضیه، اولا ازش عذر میخوام چون تقصیر منه، و دوم اینکه اگر تمایل داشته باشه هزینه دوره رو بر میگردونم.
    ولی یه موضوع دیگه هم هست. دوست ندارن سوال خارج از سیلابس پرسیده بشه. شاید دلیلش حجم زیادی مطالبیه که باید تدریس شه.

    در کل به نظرم دوره اول یه استثنا بود و اون اتفاقات بعیده دوباره رخ بده. چون تقریبا همه چه افراد دوره و چه خارج دوره میگفتن کیفیت تدریس ایشون بالاس.
    در کل خوب بود. من راضی بودم. فکر کنم اکثر بچه ها هم راضی بودن. البته یکی دو نفر هم که تو گروه ناراضی بودن پیام دادن و به نظرم هم به خاطر طولانی شدن دوره حق داشتن

    • ابوالفضل خواجه دیزجی
      ابوالفضل خواجه دیزجی

      بله متاسفانه در دور اول شرمنده دوستان شدم و دوره طول کشید. ولی باز خدا رو شکر که به صورت آنلاین و آفلاین بالاخره تدریس تقریبا کاملی ارائه شد.
      همه دوستان هم بزرگواری کردند، و موضوع مطول شدن دوره رو به روی من نیاوردن.
      به حمدلله همونطور که نوشتید این موضوع در دوم تکرار نشد، و دور دوم منظم برگزار شد. فقط به دلیل تعدد جلسات زیاد که خب طبعا به دلیل فورس ممکنه بعضی امکان برگزاری نداشته باشه، و برخی از جلساتی که به درخواست دانش پژوهان کنسل شد، به انتهای دوره اضافه شد، و تقریبا دوره در حدود خودش تمام شد.
      البته با نظر مجموعه برای سری جدید دیگه این دوره رو به صورت ۷۰ ساعته برگزار نمی‌کنیم، بلکه مدت دوره به ۹۰ ساعت ارتقا پیدا کرده، که دیگه حتی شبیه این مشکل هم ان شا ا… پیش نیاد.
      ممنونم که نظرتون رو نوشتید، و برخی از نکات منفی رو هم متذکر شدید.

  9. من در دوره Selenium webdriver شرکت کردم و از دوره برگزار شده و سرفصل های مطرح شده، راضی بودم. مباحث به دقت مطرح میشد. پس از پایان دوره هم جناب دیزجی پاسخگو اشکالات و ابهامات ما هستن. برای اینکه بتوان حداکثر استفاده از دوره برد، توصیه میکنم همزمان با کلاس پیش برن و تمرین کنن.

  10. دوره جاوا سلنیوم شرکت کردم که خیلی راضی هستم جون با مباحث جاوا از پایه اشنا شدم و همراه استاد سر کلاس دستورها رو میتونستیم بنویسیم و اجرا کنم و دوره کاملا عملی و کاربردی بودش . و یکی از خوبی های کلاس استاد دیزجی این هستش که سعی میکنن مباحث رو حوری بیان کنن که برای همه قابل فهم و قابل درک باشه و خیلی باحوصله تمامی سوالات جه به صورت انلاین و آفلاین پاسخگو هستن.

  11. از ویژگی های مهم دوره ای که شرکت کردم دقت زیاد در فهم مطلب برای همه بود ، به عنوان مثال اگر حس شده بود که ممکنه مطلبی در زمان برگزاری کلاس گنگ بوده باشه ، مجدد به صورت آفلاین اون مبحث توضیح داده شده و در اختیار شرکت کنندگان قرار می گرفت ، یا پاسخگویی به سوالات و رفع اشکال در خارج از تایم کلاس و حتی پس از پایان دوره انجام میشه و این به نظرم با ارزش هست و در کل دوره ی پرباری بود .

  12. من دوره جاوا سلنیوم را شرکت کردم، خیلی از این دوره راضی بودم، سرفصل هایی که تدریس شد بسیار کامل بود، تمامی سوالاتی که داشتم در ساعت کلاس و در خارج از ساعت کلاس به طور کامل از طرف استاد پاسخ داده می شد .
    و به طور کلی این دوره را به تمام کسانی که در فیلد تست نرم افزار مشغول به کار هستند پیشنهاد می کنم.

  13. من دوره جاوا و سلنیوم وب درایور را شرکت کردم. خوب برای من که سالها بود برنامه نویسی انجام نمیدم اول از همه این مزیت را داشت که جاوا از ابتدایی ترین مفاهیم و با جزئیات تدریس شد که بنظرم خیلی خوب بود. طبق معمول هر سوالی که بچه ها میپرسیدند با حوصله و با مثال توضیح داده میشد. برای دوره جاوا خیلی خیلی مثال زده شد سر کلاس و‌ ما فرصت اینو داشتیم که همزمان با استاد سر کلاس خودمون پای سیستممون برنامه را بنویسیم که بنظرم عالی بود. دوره سلنیوم هم همینطور. با مثالهای خیلی زیاد درس داده شد. مزیت کلاسهای مهندس دیزجی اینه که ایشون بشدت براشون مهمه که همه بچه ها کاملا همه مفاهیمو یاد بگیرن و اگه سوالی تکراری چندین بار هم پرسیده بشه ایشون با حوصله پاسخ میدن. جلسه رفع اشکال برامون گذاشتن و اصلا براشون مساله ای نیست که ساعتها بیشتر از اون زمان از قبل تعیین شده برای کلاس وقت بذارن، چون اصرار دارن که همه سوالات جواب داده بشه و همه بچه ها تا میتونن از دوره استفاده کرده باشن. در مجموع راضی بودم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *