এইচটিএমএল স্বয়ংক্রিয়ভাবে উপাদানগুলির মধ্যে শ্বেতক্ষেত্রকে স্বাভাবিক করে তোলে, শীর্ষস্থানীয় / পিছনের স্থানগুলি উপেক্ষা করে অতিরিক্ত স্থান, ট্যাব এবং নিউলাইনগুলিকে একক জায়গায় রূপান্তর করে। যখন সেলেনিয়াম পৃষ্ঠার বাইরে পাঠ্য পাঠ করে, এটি এই আচরণটির সদৃশ করার চেষ্টা করে, তাই আপনি আপনার HTML এর সমস্ত ট্যাব এবং নিউলাইনগুলিকে উপেক্ষা করতে পারেন এবং রেন্ডার করার সময় ব্রাউজারে পাঠ্যটি কীভাবে দেখায় তার উপর ভিত্তি করে দৃ do়তা জানাতে পারেন। আমরা সমস্ত অ-দৃশ্যমান শ্বেত স্পেস (অ-ব্রেকিং স্পেস সহ
") একক স্পেসে প্রতিস্থাপন করে এটি করি । সমস্ত দৃশ্যমান নিউলাইনগুলি ( <br>
, <p>
এবং <pre>
ফর্ম্যাট করা নতুন লাইন) সংরক্ষণ করা উচিত।
আমরা এইচটিএমএল সেলিনিজ পরীক্ষার কেস সারণীর পাঠ্যে একই স্বাভাবিককরণের যুক্তি ব্যবহার করি। এর অনেকগুলি সুবিধা রয়েছে। প্রথমত, আপনার দাবিগুলি কী হওয়া উচিত তা নির্ধারণ করার জন্য আপনাকে পৃষ্ঠার এইচটিএমএল উত্সটি দেখার দরকার নেই; "
" প্রতীকগুলি শেষ ব্যবহারকারীর কাছে অদৃশ্য এবং সুতরাং সেলিনিজ পরীক্ষাগুলি লেখার সময় আপনার সেগুলি সম্পর্কে চিন্তা করার দরকার নেই। ("
" যে ক্ষেত্র "
" রয়েছে এমন ক্ষেত্রের প্রতিস্থাপনের জন্য আপনাকে " " পরীক্ষার ক্ষেত্রে " " চিহ্নিতকারী লাগানোর দরকার নেই )) আপনি নিজের সেলিনিজ <td>
ট্যাগগুলিতে অতিরিক্ত নতুন লাইন এবং স্পেসও রেখে যেতে পারেন
; যেহেতু আমরা পরীক্ষার ক্ষেত্রে যেমন একইসাথে সাধারণীকরণের যুক্তি ব্যবহার করি তেমনি আমরা নিশ্চিত করতে পারি যে উত্সগুলি এবং নিষ্কাশিত পাঠ্যটি ঠিক মিলবে।
আপনি যখন সত্যিই আপনার পরীক্ষার ক্ষেত্রে অতিরিক্ত শ্বেত স্পেস toোকানোর প্রয়োজন চান তখন এই বিরল ঘটনাগুলিতে কিছুটা সমস্যা তৈরি করে। উদাহরণস্বরূপ, আপনার এই জাতীয় ক্ষেত্রে পাঠ্য টাইপ করতে হতে পারে: " foo
"। তবে আপনি যদি কেবল <td>foo </td>
নিজের সেলিনিজ পরীক্ষার ক্ষেত্রে লিখেন তবে আমরা আপনার অতিরিক্ত স্থানটি কেবলমাত্র একটি স্থানের সাথে প্রতিস্থাপন করব।
এই সমস্যাটির একটি সাধারণ কাজ রয়েছে। আমরা সেলেনিজে একটি পরিবর্তনশীল সংজ্ঞায়িত করেছি
${space}
, যার মান একক স্থান। আপনি ${space}
এমন একটি স্থান সন্নিবেশ করতে ব্যবহার করতে পারেন যা স্বয়ংক্রিয়ভাবে ছাঁটাই হবে না: এর মতো
<td>foo${space}${space}${space}</td>
। আমরা একটি ভেরিয়েবলও অন্তর্ভুক্ত করেছি ${nbsp}
, যা আপনি একটি অবিচ্ছেদ্য
স্থান .োকাতে ব্যবহার করতে পারেন।
লক্ষ্য করুন XPaths না না স্বাভাবিক হোয়াইটস্পেস আমরা যেভাবে না। তোমার মত একটি জন্য XPath লিখতে করার প্রয়োজন হলে
//div[text()="hello world"]
কিন্তু লিংক এইচটিএমএল সত্যিই হয় " hello world
", আপনি একটি বাস্তব সন্নিবেশ করতে হবে "
এই মত, এটা মেলে পেতে আপনার Selenese পরীক্ষা ক্ষেত্রে মধ্যে":
//div[text()="hello${nbsp}world"]
।