ฉันมีปัญหาเดียวกัน สำหรับฉันขึ้นอยู่กับระดับการอนุญาตของผู้ใช้ลิงก์บางปุ่มและองค์ประกอบอื่น ๆ จะไม่ปรากฏบนหน้าเว็บ ส่วนหนึ่งของชุดทดสอบของฉันกำลังทดสอบว่าองค์ประกอบที่ควรหายไปหายไป ฉันใช้เวลาหลายชั่วโมงในการคิดออก ในที่สุดฉันก็พบทางออกที่สมบูรณ์แบบ
สิ่งนี้จะบอกเบราว์เซอร์ให้ค้นหาองค์ประกอบใด ๆ และทั้งหมดตามที่ระบุ ถ้ามันส่งผลให้0
ให้แสดงว่าไม่พบองค์ประกอบตามข้อมูลจำเพาะ แล้วฉันมีรหัสรันคำสั่ง if เพื่อแจ้งให้เราทราบว่าไม่พบ
นี้อยู่ในดังนั้นคำแปลที่จะต้องมีการดำเนินการเพื่อ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.
}
ฉันรู้ว่าฉันสายเล็กน้อยในการตอบสนองต่อ OP หวังว่านี่จะช่วยให้ใครบางคน!