selenium+log4j+eclipse相关问题及解决方案

问题一:

 

如何获取新打开的浏览器窗口,用selenium进行UI自动化测试时,经常会遇到这个问题,现总结如下:

 

// 存储现在窗口句柄

String winHandleBefore = driver.getWindowHandle();

 

//跳转到新打开的窗口

for(String winHandle : driver.getWindowHandles()){

driver.switchTo().window(winHandle);

}

 

// 执行相关操作

...

 

// 关掉当前新的窗口

driver.close();

 

// 跳转到之前的窗口

driver.switchTo().window(winHandleBefore);

 

// 接着进行相关操作

 

问题二:

在项目中添加log时出现了WARN,如下所示:

log4j:WARN No appenders could be found for logger .

log4j:WARN Please initialize the log4j system properly.

log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

 

费劲周折也没找到原因:最后在Stack Overflow上找到了答案,希望与君共勉。

有两种方法:

第一种:在卖你代码中加上如下代码

BasicConfigurator.configure();

 

第二种:添加如下标准log4j.properties文件到classpath

# Set root logger level to DEBUG and its only appender to A1.

log4j.rootLogger=DEBUG, A1

 

# A1 is set to be a ConsoleAppender.

log4j.appender.A1=org.apache.log4j.ConsoleAppender

 

# A1 uses PatternLayout.

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

 

问题三:

eclipse项目报错如下所示:

Project 'MyProgram' is missing required library: 'D:\Selenium_workspace\MyProgram\src\test\resource\selenium-server-standalone-2.45.0.jar'

The project cannot be built until build path errors are resolved

原因是项目所在目录中.classpath文件中存在如下声明:

(之前没有在maven中添加selenium的依赖,手动添加的selenium的环境变量,当用maven添加selenium依赖后,将此目录中的 selenium删除,eclipse找不到手动设置的seleniumjar包的位置导致出错。),将此行删掉问题就解决了。

<classpathentry kind="lib" path="D:/Selenium_workspace/MyProgram/src/test/resource/selenium-server-standalone-2.45.0.jar"/>

 

金阳光测试,个人培训永远免费
1.官网:http://www.goldensunshine.cc/
2.新浪微博:金阳光woody
3.qq群:212260449
4.微信公众账号:金阳光自动化测试

posted @ 2017-08-11 14:37  若风随雨  阅读(233)  评论(0编辑  收藏  举报