在selenium web driver test 中,遇到的一个问题。
问题
进行fill form操作时,会抛出error:
unknown error: call function result missing ‘value’
其中:chrome version 65,chromedriver version 2.34, Mac OS Sierra 10.12
解决
Google后,很快看到解答:来自stack overflow的Q: CodeceptJS “unknown error”: call function result missing ‘value’
chrome悄无声息地升级到了65,这个坑真的是让人无言以对……
解决方法也就是升级chrome driver ,那就开始吧。
升级
Mac下,使用brew:
brew upgrade chromedriver
OK, 搞定!一步更新到最新版2.36。
再次运行测试,passed。
后记下:
现在看升级方法,很简单,但是最开始的时候,我用brew upgrade chromedriver
出错了,以为不能这么升级【现在想想,当时应该是翻墙的原因】,然后我竟然脑抽地改用了npm install chromedriver --chromedriver_version=LATEST
!! 报错 http request error, Google后看ChromeDriver installation failed Error with http request: Error,是翻墙的原因,还一本正经地采用了cdn的迂回方法,结果各种惨不忍睹 ……
写下这个,主要是希望同我一般的小白,别再踩坑了,白白浪费了大好时光,Mac下,直接brew upgrade chromedriver
即可。当然,Linux下,还是用npm : P
参考
Q: CodeceptJS “unknown error”: call function result missing ‘value’
org.openqa.selenium.WebDriverException: unknown error: call function result missing ‘value’