আমারো একই ইস্যু ছিল. আমার জন্য, কোনও ব্যবহারকারীর অনুমতি স্তরের উপর নির্ভর করে কিছু লিঙ্ক, বোতাম এবং অন্যান্য উপাদান পৃষ্ঠাতে প্রদর্শিত হবে না। আমার স্যুটটির একটি অংশ পরীক্ষা করছিল যে যে উপাদানগুলি নিখোঁজ হওয়া উচিত, সেগুলি নিখোঁজ রয়েছে। আমি এটি বুঝতে চেষ্টা করে ঘন্টা ব্যয় করেছি। অবশেষে আমি নিখুঁত সমাধান খুঁজে পেয়েছি।
এটি যা করে তা হ'ল ব্রাউজারকে নির্দিষ্ট কোনও ভিত্তিক এবং সমস্ত উপাদান সন্ধান করতে বলে। যদি ফলাফল হয়0
, এর অর্থ স্পেসিফিকেশনের ভিত্তিতে কোনও উপাদান পাওয়া যায় নি। তারপরে আমার কাছে কোডটি যদি একটি বিবৃতি কার্যকর করে আমাকে তা জানতে দেয় যে এটি পাওয়া যায় নি।
এই হল C#
তাই অনুবাদের কাজ করা প্রয়োজন হবে, Java
। তবে খুব শক্ত হতে হবে না।
public void verifyPermission(string link)
{
IList<IWebElement> adminPermissions = driver.FindElements(By.CssSelector(link));
if (adminPermissions.Count == 0)
{
Console.WriteLine("User's permission properly hidden");
}
}
আপনার পরীক্ষার জন্য যা প্রয়োজন তার উপর নির্ভর করে আপনি আরও একটি পথ নিতে পারেন।
নিম্নলিখিত স্নিপেটটি পৃষ্ঠায় খুব নির্দিষ্ট উপাদান উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখছে। উপাদানটির অস্তিত্বের উপর নির্ভর করে আমার কাছে পরীক্ষাটি যদি অন্য কোনটি সম্পাদন করে।
যদি উপাদানটি বিদ্যমান থাকে এবং পৃষ্ঠাতে প্রদর্শিত হয় তবে আমার কাছে রয়েছে console.write
আমাকে জানাতে এবং এগিয়ে যেতে বলেছি। যদি প্রশ্নের মধ্যে উপাদান উপস্থিত থাকে তবে আমি আমার প্রয়োজনীয় পরীক্ষা চালাতে পারি না, এটি সেট আপ করার প্রয়োজনের পিছনে মূল কারণ।
যদি উপাদানটি বিদ্যমান না থাকে এবং পৃষ্ঠাতে প্রদর্শিত না হয়। আমার কাছে অন্যটি রয়েছে যদি অন্যটি পরীক্ষা চালায়।
IList<IWebElement> deviceNotFound = driver.FindElements(By.CssSelector("CSS LINK GOES HERE"));
//if the element specified above results in more than 0 elements and is displayed on page execute the following, otherwise execute whats in the else statement
if (deviceNotFound.Count > 0 && deviceNotFound[0].Displayed){
//script to execute if element is found
} else {
//Test script goes here.
}
আমি জানি ওপির প্রতিক্রিয়ায় আমি একটু দেরি করছি। আশা করি এটি কাউকে সাহায্য করবে!