我在某些特定情况下遇到了一些困难。
如果没有错误,页面如下所示。
<script src="includes/js/errorHandling.js?v=5" type="text/javascript"/>
<div class="pmo_title">
<!--end pmo title-->
<div class="spacer2"/>
<div class="pmo-container">
但如果发生任何错误,则会显示其他div类。
<script src="includes/js/errorHandling.js?v=5" type="text/javascript"/>
<div class="pmo_title">
<!--end pmo title-->
<div class="pmo_warning">
<div class="pmo-container">
<span class="message_title">Errors :</span>
<!--display first item of list with no comma-->
<span id="fileError" class="error">File to Upload required</span>
</div>
</div>
<div class="spacer2"/>
<div class="pmo-container">
我想验证我是否上传了无效文件并显示错误抛出异常,否则继续。
我写了以下代码
@FindBy(xpath = "//div[@class='pmo_warning']")
private WebElement errorMessage;
if (errorMessage !=null ){
throw (new IOException("file not found"));
}
return initialize(driver, FileUpload.class);
它会抛出有效和无效输入的异常
我也试过
@FindBy(xpath = "//div[@class='pmo_warning']")
private WebElement errorMessage;
if (errorMessage.IsDisplayed()){
throw (new IOException("file not found"));
}
return initialize(driver, FileUpload.class);
对于没有错误的文件,它显示:
无法找到元素
答案 0 :(得分:3)
driver.findElements(By.xpath(&#34; // div [@class =&#39; pmo_warning&#39;]&#34;))。size()!= 0
答案 1 :(得分:1)
您应该尝试使用WebElement
来获取@FindAll(@FindBy(how = How.CSS, using = "div.pmo_warning"))
List<WebElement> errorMessage;
if (errorMessage.size() > 0 && errorMessage.get(0).isDisplayed()){
throw (new IOException("file not found"));
}
return initialize(driver, FileUpload.class);
的列表,并检查其大小如下: -
{{1}}