前段時(shí)間在學(xué)習(xí)selenium2.0的時(shí)候亚茬,發(fā)現(xiàn)網(wǎng)上很多教程都是一些基礎(chǔ)的語法汇在,包括:安裝,調(diào)用chromeDriver琢感,獲取標(biāo)簽等等一些基本的語法丢间,但是我相信大家在自己寫的時(shí)候肯定遇到了這些在網(wǎng)上找不到答案的問題。我用的是Java+selenium寫的驹针,瀏覽器用的chrome烘挫;
1、driver.get(url);調(diào)不開頁面或者調(diào)用不了WebDriver
這個(gè)原因是因?yàn)槟愕腸hrome的版本和chromeDriver的版本號(hào)不對(duì)應(yīng)柬甥,下圖為版本對(duì)應(yīng)號(hào)
需要用到的chromedriver的下載鏈接http://chromedriver.storage.googleapis.com/index.html
2.selenium中運(yùn)行為404,500等頁面時(shí)饮六,控制臺(tái)運(yùn)行結(jié)果依然是正確的
根據(jù)自己的的判斷條件,可直接在想要輸出錯(cuò)誤的地方調(diào)用方法 ?fail("錯(cuò)誤反饋");
fail方法是繼承于Assert.class的苛蒲。
3.selenium監(jiān)聽web頁面中的js錯(cuò)誤
在URL自動(dòng)化測試中卤橄,涉及上工具部署的時(shí)候會(huì)直接黑屏運(yùn)行,一些頁面上的錯(cuò)誤或頁面加載不出來的時(shí)候臂外,一般情況下都會(huì)在WebDriver的console中打印出來窟扑,但是因?yàn)槭呛谄吝\(yùn)行,所以根本看不到運(yùn)行頁面的時(shí)候寄月,就需要打印出來這個(gè)log辜膝,以便前端小伙伴的修改判斷无牵⊙梗可以用以下方法進(jìn)行打印:
1.在設(shè)置setup()中設(shè)置一下driver
DesiredCapabilitiescaps =DesiredCapabilities.chrome();
LoggingPreferences logPrefs =newLoggingPreferences();
logPrefs.enable(LogType.BROWSER, Level.ALL);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
driver=newChromeDriver(caps);
2.在具體需要監(jiān)聽的地方加上方法 analyzeLog()茎毁,建議封裝一下克懊,方便在需要的地方直接調(diào)用
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("錯(cuò)誤反饋");
? ? ?}
}