使用webdriver.io项目的一些记录

 

 

 问题一、 

webdriver.io 框架内置功能会下载不同浏览器的最新的driver,在node_module这个文件夹下面,所以每次运行项目的时间都会比较久

 

 

会卡在这个地方很久

而且可能还会出现下载失败

 

 

 

 

查阅相关文档,

 

 

 

之前会卡在run onpreparehook这个步骤好几分钟这个问题
代码wdio.conf 里除非是刚下载下来第一次使用, 第一次使用后就可以把里面的skipSeleniumInstall:设置为true,这样就很快开始执行,之前onpreparehook这个步骤回去执行skipSeleniumInstall:false 导致每次执行都去下载selenium-standalone服务要很久,

现在可以通过手动设为true直接使用这个服务没必要每次执行去重新下载就很快开始执行了,当然第一次还是要让它为false去下载这个服务

node_modules/.bin/selenium-standalone

默认是false,会去下载,改为true就不下了,可以提高项目的运行速度

 

 

 

 

 

2.出现缺少 geckodriver 文件

 

 

要下载两个文件并且改名然后并放到两个不同的路径,版本和当前使用的浏览器版本要对应
1.下载最新的geckodriver.exe, 改名为latest-x64-geckodriver(不能有后缀)放到geckodriver目录下
2.下载最新的chromedriver.exe, 改名为latest-x64-chromedriver(不能有后缀)放到chromedriver目录下

 

 

 

 

具体操作见下面:

chromedriver下载操作:
1.http://chromedriver.storage.googleapis.com/index.html下载跟本地chrome浏览器版本一致的chromedriver.zip

如果上面的下载不到 则到 淘宝的镜像库网站

淘宝npm镜像库网站:https://www.npmmirror.com/

chromedriver是谷歌浏览器驱动,用来模拟谷歌运行操作的一个工具,用其他的浏览器也要下载相对应的驱动。

下载的版本要与浏览器版本一致 


2.解压后复制chromedriver.exe到"$项目目录/node_modules\selenium-standalone\.selenium\chromedriver"下
3.重命名chromedriver.exe为latest-x64-chromedriver(备注:不带后缀)

 

 

geckodriver下载操作:
1.https://github.com/mozilla/geckodriver/releases/里下载最新的包,
2.解压后复制geckodriver.exe到"$项目目录/node_modules\selenium-standalone\.selenium\geckodriver"下
3.重命名geckodriver.exe为latest-x64-geckodriver(备注:不带后缀)

 

 

selenium-server-4.0.0.jar下载操作:

Error: Could not download https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0/selenium-server-4.0.0.jar
at Request.<anonymous> (E:\Project\NetDragon\Portal2.0\portal-functional-tests\node_modules\selenium-standalone\lib\install.js:292:17)

 

直接点击链接下载指定的jar包 ,并放到指定的文件夹

node_modules/selenium-standalone/.selenium/selenium-server/4.0.0/selenium-server.jar

 

 

 

 

【问题记录】

2023-05-31T03:44:12.408Z ERROR @wdio/selenium-standalone-service: Error: Missing E:\Project\NetDragon\Portal2.0\portal-functional-tests\node_modules\selenium-standalone\.selenium\chrome
driver\latest-x64\chromedriver

【问题解决】

文件夹内明明有对应的 文件但是显示 找不到文件,需要更改后缀名,点击【查看】,选择【文件扩展名】,勾选【文件扩展名】,得去掉,所以实际上 【【这个文件 】】才是 真的使用的 driver

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

出现当前问题,这样解决

 

 ./node_modules/.bin/selenium-standalone install

 

 

 

 

 

 

找不到 selenium-server.jar

2022-12-07T07:26:24.855Z ERROR @wdio/selenium-standalone-service: Error: Missing E:\Project\NetDragon\portal-functional-tests\node_modules\selenium-standalone\.selenium\selenium-server\4.4.0\selenium-server.jar
at E:\Project\NetDragon\portal-functional-tests\node_modules\selenium-standalone\lib\check-paths-existence.js:13:15
at async Promise.all (index 1)
at Object.start (E:\Project\NetDragon\portal-functional-tests\node_modules\selenium-standalone\lib\start.js:147:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! portal-functional-tests@2.0.0 local: `wdio run wdio.conf.js --skipSeleniumInstall true "--web" "--tag" "200309"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the portal-functional-tests@2.0.0 local script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

 

cmd下查看selenium-server.jar 是否正常 

java -jar selenium-server.jar

 

 

 解决方法:重新跑一次npm run test 重新按照地址下载selenium-server

 

 

问题无法创建webdriver的session

[0-26] RUNNING in chrome - E:\Project\NetDragon\Portal2.0\portal-functional-tests\tests\features\web\UserManagement\Users\userFilter.feature
[0-26] 2022-12-07T08:18:18.313Z WARN webdriver: Request failed with status 500 due to Could not start a new session. Error while creating session with the driver service. Stopping driver service: Could not start a new session. Respo
nse code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 106
[0-26] Current browser version is 108.0.5359.95 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

 

属于当前的driver和实际的浏览器不匹配 需要根据浏览器去选择匹配的driver

 

 

 

posted @ 2021-09-29 17:10  陈晓猛  阅读(433)  评论(0编辑  收藏  举报