WebDriver的JS错误监听
前段时间在学习selenium2.0的时候,发现网上很多教程都是一些基础的语法,包括:安装,调用chromeDriver,获取标签等等一些基本的语法,但是我相信大家在自己写的时候肯定遇到了这些在网上找不到答案的问题。我用的是Java+selenium写的,浏览器用的chrome;
1、driver.get(url);调不开页面或者调用不了WebDriver
这个原因是因为你的chrome的版本和chromeDriver的版本号不对应,下图为版本对应号
需要用到的chromedriver的下载链接http://chromedriver.storage.googleapis.com/index.html
2.selenium中运行为404,500等页面时,控制台运行结果依然是正确的
根据自己的的判断条件,可直接在想要输出错误的地方调用方法 fail("错误反馈");
fail方法是继承于Assert.class的。
3.selenium监听web页面中的js错误
在URL自动化测试中,涉及上工具部署的时候会直接黑屏运行,一些页面上的错误或页面加载不出来的时候,一般情况下都会在WebDriver的console中打印出来,但是因为是黑屏运行,所以根本看不到运行页面的时候,就需要打印出来这个log,以便前端小伙伴的修改判断。可以用以下方法进行打印:
1.在设置setup()中设置一下driver
DesiredCapabilitiescaps =DesiredCapabilities.chrome();
LoggingPreferences logPrefs =newLoggingPreferences();
logPrefs.enable(LogType.BROWSER, Level.ALL);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
driver=newChromeDriver(caps);
2.在具体需要监听的地方加上方法 analyzeLog(),建议封装一下,方便在需要的地方直接调用
public void analyzeLog() {
LogEntries logEntries =driver.manage().logs().get(LogType.BROWSER);
for(LogEntry entry : logEntries) {
System.out.println("\nchrome.console===="+newDate(entry.getTimestamp()) +" "+ entry.getLevel() +" "+ entry.getMessage());
//do something useful with the data
fail("错误反馈");
}
}