硒和硒不断变化的前端

时间:2012-10-23 22:16:12

标签: selenium

我正在运行Selenium测试。 由于DOM更改,测试经常中断,因此我最终不得不进入代码并更改选择器。

有没有其他人遇到同样的问题? 你做了什么来减轻这种麻烦(除了删除魔术字符串,使用变量和实现编程模式来测试代码)?

1 个答案:

答案 0 :(得分:0)

嘿)我在当前项目中使用以下解决方案:

我包含selenium-config.properties文件中的所有定位器:

enter image description here

在我的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文件中的定位器 - 就是这样。 希望它可以帮到你。