1

有時webdriver的運行過程中停止和警告「沒有會話」 /「沒有窗戶目標」和等。的webdriver並不穩定,有時會崩潰時正在運行的

我用的量角器節點。 JS用於我的自動化測試。

錯誤不是Constantine,有時候所有的200個測試用例都可以正常工作,直到運行結束。

錯誤:

10:38:20.745 INFO - Executing: [get current url]) 
10:38:20.766 INFO - Done: [get current url] 
10:38:20.799 INFO - Executing: [take screenshot]) 
10:38:21.299 INFO - Done: [take screenshot] 
10:38:22.002 INFO - Executing: [get: http://app.vcita.com/auth/login]) 
10:38:27.870 INFO - Done: [get: http://app.vcita.com/auth/login] 
10:38:29.917 INFO - Executing: [find elements: By.cssSelector: [ng-click="connectWithGoogle()"]]) 
10:38:30.009 INFO - Done: [find elements: By.cssSelector: [ng-click="connectWithGoogle()"]] 
10:38:30.049 INFO - Executing: [is enabled: 762 [[ChromeDriver: chrome on XP (4c9896194733dc6b787bf75f84f48ec2)] -> css selector: [ng-click="connectWithGoogle()"]]]) 
10:38:30.148 INFO - Done: [is enabled: 762 [[ChromeDriver: chrome on XP (4c9896194733dc6b787bf75f84f48ec2)] -> css selector: [ng-click="connectWithGoogle()"]]] 
10:38:30.243 INFO - Executing: [find elements: By.cssSelector: [ng-click="connectWithGoogle()"]]) 
10:38:30.341 INFO - Done: [find elements: By.cssSelector: [ng-click="connectWithGoogle()"]] 
10:38:30.387 INFO - Executing: [is displayed: 762 [[ChromeDriver: chrome on XP (4c9896194733dc6b787bf75f84f48ec2)] -> css selector: [ng-click="connectWithGoogle()"]]]) 
10:38:30.467 INFO - Done: [is displayed: 762 [[ChromeDriver: chrome on XP (4c9896194733dc6b787bf75f84f48ec2)] -> css selector: [ng-click="connectWithGoogle()"]]] 
10:38:30.523 INFO - Executing: [find elements: By.cssSelector: [ng-click="connectWithGoogle()"]]) 
10:38:30.569 INFO - Done: [find elements: By.cssSelector: [ng-click="connectWithGoogle()"]] 
10:38:30.613 INFO - Executing: [click: 762 [[ChromeDriver: chrome on XP (4c9896194733dc6b787bf75f84f48ec2)] -> css selector: [ng-click="connectWithGoogle()"]]]) 
10:38:30.760 INFO - Done: [click: 762 [[ChromeDriver: chrome on XP (4c9896194733dc6b787bf75f84f48ec2)] -> css selector: [ng-click="connectWithGoogle()"]]] 
10:38:32.812 INFO - Executing: [get window handles]) 
10:38:32.842 INFO - Done: [get window handles] 
10:38:34.873 INFO - Executing: [get window handles]) 
10:38:34.908 INFO - Done: [get window handles] 
10:38:34.961 INFO - Executing: [switch to window: CDwindow-FC9091C4-87E2-45A2-B125-D658EADF49ED]) 
10:38:35.009 INFO - Done: [switch to window: CDwindow-FC9091C4-87E2-45A2-B125-D658EADF49ED] 
10:38:35.037 INFO - Executing: [find elements: By.id: choose-account-0]) 
10:38:38.163 WARN - Exception thrown 
java.lang.NullPointerException 
     at org.openqa.selenium.remote.RemoteWebDriver.findElements(RemoteWebDriver.java:386) 
     at org.openqa.selenium.remote.RemoteWebDriver.findElementsById(RemoteWebDriver.java:397) 
     at org.openqa.selenium.By$ById.findElements(By.java:206) 
     at org.openqa.selenium.remote.RemoteWebDriver.findElements(RemoteWebDriver.java:340) 
     at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:497) 
     at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke(EventFiringWebDriver.java:101) 
     at com.sun.proxy.$Proxy1.findElements(Unknown Source) 
     at org.openqa.selenium.support.events.EventFiringWebDriver.findElements(EventFiringWebDriver.java:173) 
     at org.openqa.selenium.remote.server.handler.FindElements.call(FindElements.java:49) 
     at org.openqa.selenium.remote.server.handler.FindElements.call(FindElements.java:1) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:168) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
10:38:38.454 WARN - Exception: null 
10:38:39.551 INFO - Executing: [take screenshot]) 
10:38:39.584 WARN - Exception thrown 
org.openqa.selenium.NoSuchWindowException: no such window: target window already closed 
from unknown error: web view not found 
    (Session info: chrome=48.0.2564.109) 
    (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Windows NT 10.0 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 22 milliseconds 
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' 
System info: host: 'vCitaQA', ip: '10.0.0.5', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_65' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=C:\Users\idan\AppData\Local\Temp\scoped_dir9468_8071}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=48.0.2564.109, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] 
Session ID: 4c9896194733dc6b787bf75f84f48ec2 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
     at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204) 
     at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156) 
     at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599) 
     at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:622) 
     at org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:324) 
     at org.openqa.selenium.remote.server.handler.CaptureScreenshot.call(CaptureScreenshot.java:35) 
     at org.openqa.selenium.remote.server.handler.CaptureScreenshot.call(CaptureScreenshot.java:1) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:168) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
10:38:39.965 WARN - Exception: no such window: target window already closed 
from unknown error: web view not found 
    (Session info: chrome=48.0.2564.109) 
    (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Windows NT 10.0 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 22 milliseconds 
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' 
System info: host: 'vCitaQA', ip: '10.0.0.5', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_65' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=C:\Users\idan\AppData\Local\Temp\scoped_dir9468_8071}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=48.0.2564.109, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] 
Session ID: 4c9896194733dc6b787bf75f84f48ec2 

請幫我弄清楚爲什麼會發生什麼更好的解決辦法,以避免它..

感謝。

+0

這是僅在Chrome中發生的嗎?你在Firefox嘗試過嗎?你有沒有嘗試升級量角器?謝謝。 – alecxe

+0

嗨@alecxe,實際上IDK,因爲我不能再使用FF了,還有一些最新版本的問題,量角器現在無法在這個瀏覽器上運行..我也應該解決這個問題。 IE在打字時工作緩慢,並延緩了運行。所以,它可能不會發生,只能通過Chrome,但我不確定它。 –

回答

0

根據chromedriverchangelogchromedriver 2.14您正在使用的是支持Chrome 39-42的。我懷疑您的情況可能存在兼容性問題,因爲Chrome是全新的(版本48),但chromedriver已過時。

請將Protractor升級到,最好是最新版本,然後運行webdriver-manager update以更新chromedriver

+0

謝謝,我會稍後再嘗試並更新你。 –

0

由於您使用的是chromedriver 2.14,請使用chrome v39.0。量角器版本爲1.64。 這將解決您的問題。