Selenium テストを実行しています。DOM の変更によりテストが頻繁に中断されるため、最終的にはコードを調べてセレクターを変更する必要があります。
他の誰かが同じ問題に遭遇しますか? この頭痛を軽減するために何をしましたか (マジック ストリングの削除、変数の使用、コードをテストするためのプログラミング パターンの実装は別として)。
Selenium テストを実行しています。DOM の変更によりテストが頻繁に中断されるため、最終的にはコードを調べてセレクターを変更する必要があります。
他の誰かが同じ問題に遭遇しますか? この頭痛を軽減するために何をしましたか (マジック ストリングの削除、変数の使用、コードをテストするためのプログラミング パターンの実装は別として)。
heh) 現在のプロジェクトで次のソリューションを使用しています。
すべてのロケーターを selenium-config.properties
ファイルに含めます。
私の BaseSeleniumTest.java には、次のものがあります。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.core.io.support.PropertiesLoaderUtils;
....
public class BaseSeleniumTest extends SeleneseTestBase {
static WebDriver driver;
@Before
public void homePageRefresh() throws IOException {
driver.manage().deleteAllCookies();
//usage example of loading value by key from .properties file
driver.get(propertyKeysLoader("login.base.url"));
}
......
......
public String propertyKeysLoader(String key) throws IOException {
Properties props = PropertiesLoaderUtils.loadAllProperties("selenium-config.properties");
PropertyPlaceholderConfigurer props2 = new PropertyPlaceholderConfigurer();
props2.setProperties(props);
return (String)props.get(key) ;
}
}
したがって、DOM が変更された場合は、.properties ファイルのロケーターを変更するだけです。それだけです。お役に立てば幸いです。