5
我有一些測試。有時如果找不到元素,只需點擊屏幕的左上角即可。然而,這並不是一直髮生的,但它確實發生了。我不知道爲什麼會發生這種情況。在我的setUp方法中,我告訴它單擊元素「Maximize」,但是如果它找不到那個元素,我把它放入catch並忽略它。出於某種原因,當它找不到該元素時,只需點擊具有應用程序會話的屏幕的左上角。硒點擊錯誤的元素
有任何人任何想法,爲什麼發生這種情況還是硒有時只是如何響應
我的代碼如下
private string wordId = OfficeVersion.Word();
private string excelId = OfficeVersion.Excel();
private string powerPointId = OfficeVersion.PowerPoint();
private const string AppDriverUrl = "http://127.0.0.1:4723";
public static WindowsDriver<WindowsElement> excelSession;
public static WebDriverWait webDriverWait;
xl.Workbook WB;
public static bool skipTearDown = false;
WindowsElement create;
WindowsElement blankWorkBook;
public static DesiredCapabilities appCapabilities = new DesiredCapabilities();
[TestInitialize]
appCapabilities.SetCapability("app", excelId);
var initialSession = new WindowsDriver<WindowsElement>(new Uri(AppDriverUrl), appCapabilities);
var capabilities = new DesiredCapabilities();
capabilities.SetCapability("app", "Root");
excelSession = new WindowsDriver<WindowsElement>(new Uri(AppDriverUrl), capabilities);
webDriverWait = new WebDriverWait(excelSession, TimeSpan.FromSeconds(10));
CommonMethods.keyCheck(excelSession);
webDriverWait = new WebDriverWait(excelSession, TimeSpan.FromSeconds(10));
CommonMethods.IsElementDisplayed(excelSession, new StackTrace(true).GetFrame(0).GetFileLineNumber(), new StackTrace(true).GetFrame(0).GetMethod(), "CreateErrorIcon", "Create error when launching Excel");
try
{
這是我無法忽略,如果它不」的元素不存在
webDriverWait.Until(ExpectedConditions.ElementToBeClickable(excelSession.FindElementByName("Maximize"))).Click();
}
catch (Exception)
{
//ignore
}
我的硒的記憶是模糊的。但它可能是它實際上在DOM中查找元素,即使它不在頁面上?找到該元素後,您可能需要在嘗試點擊該元素之前檢查該元素是否可見。 – jpaugh