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
費勁周折也沒找到原因:最後在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