首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在appium中启用chromedriver_autodownload功能?

如何在appium中启用chromedriver_autodownload功能?
EN

Stack Overflow用户
提问于 2020-07-04 00:02:50
回答 1查看 3.4K关注 0票数 4

我试图在android真正的设备上进行自动化测试,但我得到了以下错误:

代码语言:javascript
复制
Encountered internal error running command: Error: No Chromedriver found that can automate Chrome '83.0.4103'. You could also try to enable automated chromedrivers download server feature. See https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more details

正如您所看到的,这是一个Chromedriver兼容性问题,所以我开始寻找解决方案,并发现我可以允许appium中的chromedriver_autodownload解决这个问题。因此,我关闭了appium,打开了命令提示符,在命令提示符中移动到了我拥有appium应用程序的文件夹中,并输入了appium --allow-insecure chromedriver_autodownload。换句话说,我的cmd (命令提示符)看起来如下:C:\Program Files\Appium>appium --allow-insecure chromedriver_autodownload,它抛出以下警告并随后打开appium:

代码语言:javascript
复制
 (node:14992) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, rename 'C:\Users\isaac\AppData\Roaming\appium-desktop\Settings-tmp' -> 'C:\Users\isaac\AppData\Roaming\appium-desktop\Settings'
(node:14992) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, rename 'C:\Users\isaac\AppData\Roaming\appium-desktop\Settings-tmp' -> 'C:\Users\isaac\AppData\Roaming\appium-desktop\Settings'
(node:14992) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:14992) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:14992) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:14992) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

如果您看到,前两个实际上是错误,但我进入了这些错误中提到的路径,并看到设置文件不是名为 Settings -tmp,正如错误说明的,但是设置,所以我不理解这个错误。正如预期的那样,由于这个错误,我的测试无法执行,我得到了相同的Chromedriver兼容性错误。

有人能告诉我我在使用appium --allow-insecure chromedriver_autodownload时是否做错了什么吗?或者解决设置文件名错误的方法?或者用另一种方法来解决Chromedriver兼容性错误,而不是我尝试过的错误?

提前谢谢,如有任何帮助将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-04-21 23:00:39

您需要添加两个所需的功能:

chromedriverExecutableDir:指向Appium服务器主机上可写目录的路径,可以从chromedriverChromeMappingFile:下载并执行新的Chromedriver二进制文件--到Appium服务器主机上的JSON文件的路径,其中将存储Chromedriver版本到Chrome支持的映射。

在此之后,命令行就可以工作了。

或者,您可以将AppiumDriverLocalService类实例化为一个新对象,然后指定如下所示的两个参数:

代码语言:javascript
复制
AppiumDriverLocalService service = AppiumDriverLocalService.buildService(new AppiumServiceBuilder().usingAnyFreePort().withArgument(() -> "--allow-insecure","chromedriver_autodownload"));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62723984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档