موقعیتیابی بوسیله DOM و dom:name
همانطور که قبلا ذکر شد، این متد فقط در صورتی کار میکند که عنصری که میخواهید بدان دسترسی داشته باشید، در یک فرم دارای نام حضور داشته باشد.
سینتکس | شرح |
---|---|
document.forms["name of the form"].elements["name of the element"] |
|
مرحله ۱- به Mercury Tours homepage بروید و از Firebug برای بازرسی Text Box مربوط به User Name استفاده کنید. توجه داشته باشید که این Text Box در یک فرم به نام “home” قرار گرفته است.
مرحله ۲- در Selenium IDE مورد زیر را تایپ کرده و سپس کلید Find را کلیک نمایید:
document.forms[“home”].elements[“userName”]
Selenium IDE باید بتواند با موفقیت به این عنصر دسترسی پیدا کند.
موقعیتیابی بوسیله DOM و dom:index
این متد حتی وقتیکه عنصر مد نظر در یک فرم فاقد نام وجود داشته باشد کار میکند، چرا که به جای نام مربوط به فرم از Index آن استفاده میکند.
سینتکس | شرح |
---|---|
document.forms[index of the form].elements[index of the element] |
|
ما باید به Text Box مربوط به Phone در صفحه Mercury Tours Registration دسترسی پیدا کنیم. فرم مربوط به این صفحه فاقد Attributeهای name و ID است، بنابراین این مثال خوبی خواهد بود.
مرحله ۱- به صفحه Mercury Tours Registration رفته و Phone Text Box را بازرسی نمایید. توجه داشته باشید که فرمی که این Text Box در آن قرار گرفته است، فاقد Attributeهای name و ID است.
مرحله ۲- در Selenium IDE Target box عبارت زیر را تایپ کرده و کلید Find را کلیک کنید:
document.forms[0].elements[3]
Selenium IDE باید بتواند به درستی به Phone Text Box دسترسی پیدا کند.
مرحله ۳- همچنین شما می توانید از نام(name) عنصر به جای Index آن استفاده کنید و نتایج مشابهی به دست آورید. در Selenium IDE Target box عبارت زیر را تایپ کنید:
document.forms[0].elements[“phone”]
Text Box مربوط به Phone باید هایلایت شود.
موقعیتیابی بوسیله XPath
XPath زبان مورد استفاده در هنگام موقعیتیابی XML Nodeهاست(XML=Extensible Markup Language) است. از آنجا که HTML را میتوان به عنوان یک پیادهسازی از XML در نظر گرفت، میتوان از XPath برای موقعیتیابی عناصر HTML استفاده کنیم.
- مزیت: میتواند تقریبا به هر عنصر(حتی آنهایی که فاقد Class، name و یا ID هستند) دسترسی پیدا کند.
- عیب: این متد به دلیل برخورداری از قوانین و ملاحظات مختلف پیچیدهترین متد برای شناسایی عناصر به شمار میرود.
خوشبختانه، Firebug میتواند به طور خودکار XPath Locatorها را ایجاد کند. در مثال زیر ما به یک تصویر دسترسی پیدا میکنیم که از طریق روشهایی که قبلا مورد بحث قرار گرفته است نمیتوان به آن دسترسی یافت.
مرحله ۱- به وب سایت Mercury Tours بروید و از Firebug برای بازرسی مستطیل نارنجی در سمت راست باکس زرد رنگ Links استفاده نمایید. به تصویر زیر مراجعه کنید.
مرحله ۲- بر روی کد HTML آن عنصر راست کلیک کرده و سپس گزینه “Copy XPath” را انتخاب کنید.
مرحله ۳- در Selenium IDE، در Target Box علامت “/” را تایپ کرده و سپس XPath را که در مرحله قبلی کپی کردیم در ادامه Paste کنید. این ورودی در Target Box اکنون باید با “//” شروع شود.
مرحله ۴- بر روی دکمه Find کلیک کنید. Selenium IDE باید بتواند جعبه نارنجی را همانند شکل زیر هایلایت کند.
Method | سینتکس مورد نظر | مثال |
---|---|---|
By ID | id= id_of_the_element | id=email |
By Name | name=name_of_the_element | name=userName |
By Name Using Filters | name=name_of_the_element | name=tripType value=oneway |
By Link Text | link=link_text | link=REGISTER |
Tag and ID | css=tag#id | css=input#email |
Tag and Class | css=tag.class | css=input.inputtext |
Tag and Attribute | css=tag[attribute=value] | css=input[name=lastName] |
Tag, Class, and Attribute | css=tag.class[attribute=value] | css=input.inputtext[tabindex=1] |
این یک آموزش طولانی مدت است. بنابراین قسمتهای بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دستهبندی شده از اینجا نیز در دسترس است.