この状況に適した ExpectedConditions メソッドを見つけようとしています。チャートがあり、チャートを再ソートした後、各行のテキストを確認したいと考えています。問題は、グラフが更新されたときにテキストがまだ存在し、グレー表示されていることです。ボタンをクリックしてグラフを再ソートし、探しているテキストをすぐに探しても、テキストがまだ変更されていないため、テストは失敗します。グラフが更新されているときに要素がまだ表示されているため、visibilityOfElementLocated を使用できません。要素が変更されるのを待っているだけです。
それが意味をなすかどうかはわかりません!! 説明するのは本当に難しい問題です。
ちょっとした背景: 私は Selenium Java を使用しており、Chrome を使用してテストしています。これまでの私の方法は次のとおりです。それは正常に動作します。sleep ステートメントを使用せずに、グラフが更新されるのに十分な時間プログラムを待機させる方法を理解する必要があります。
みんなありがとう!明確ではないことは承知していますが、説明が必要な場合はお知らせください。
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");
}
}
乾杯!