【发布时间】:2013-06-10 15:16:08
【问题描述】:
我正在尝试为这种情况找到合适的 ExpectedConditions 方法。我有一个图表,我想在重新排序图表后检查每一行中的文本。问题是,当图表刷新时,文本仍然存在,只是变灰了。因此,当我单击一个按钮以重新排序图表,然后立即查找我要查找的文本时,测试失败,因为文本尚未更改。我不能使用visibilityOfElementLocated,因为刷新图表时元素仍然可见,我只是在等待元素更改。
不确定这是否有意义!这是一个很难解释的问题。
一点背景知识:我正在使用 Selenium Java 并使用 Chrome 进行测试。到目前为止,这是我的方法。它工作正常,我只需要弄清楚如何让程序等待足够长的时间让图表刷新而不使用睡眠语句。
非常感谢大家!我知道这不是很清楚,但如果您需要任何澄清,请告诉我。
public void Check_for_text_in_column(String text, String row, String column)
{
By by = By.xpath("//*[@id=\"table_Table_table_ktg\"]/tbody/tr[" + row + "]/td[" + column + "]/div/div/span");
WebDriverWait wait = new WebDriverWait(getWebDriver(), WAIT_TIME);
//This is the line that I need to change:
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(by));
if(!element.getText().equals(text))
{
fail("\nDid not find text: " + text + "\nFound text: " + element.getText() + "\n");
}
}
干杯!
【问题讨论】:
-
您当前的
WAIT_TIME设置为多长时间? -
WAIT_TIME 当前设置为“30”,超时间隔为 30 秒。
标签: java testing refresh selenium-webdriver