我对使用QAF自动化框架还很陌生。我遵循了此页面上的文档-https://qmetry.github.io/qaf/latest/setting_driver_capabilities.html
我的要求是:我必须在我的测试中下载一个文件,下载应该放到我的项目的下载文件夹中,而不是MacBook/测试机的下载文件夹中。
我正在使用chromeDriver,并且必须在QAF框架内的应用程序.properties文件中设置Chrome功能。我添加了下面的内容,但它不起作用
chrome.capabilities.profile.default_content_settings.popups=0
chrome.capabilities.download.default_directory=/downloads
chrome.capabilities.credentials_enable_service=false
chrome.capabilities.profile.password_manager_enabled=false
chrome.capabilities.CapabilityType.ACCEPT_SSL_CERTS=true
chrome.additional.capabilities={"chrome options":{"args":["--headless -
-disable-gpu"]}}
我还尝试直接对我想要设置的所有功能使用chrome.addtional.captions,如下所示,也不起作用
chrome.additional.capabilities={"chrome options":{"args":["--allow-
outdated-plugins","--always-authorize-plugins","--headless --disable-
gpu","-disable-extensions"]},"prefs":
[{"profile.default_content_settings.popups":0},
{"download.default_directory":"/downloads"},
{"credentials_enable_service":false},
{"profile.password_manager_enabled":false}]}
当我执行测试时,测试成功运行并通过,但文件被下载到我的MacBook下载目录中,而不是我使用功能设置的特定于项目的下载文件夹中。
我尝试使用chromeDriver.capables而不是chrome.capures,但没有成功。
以前用过QAF的人能帮我解决这个问题吗?
3条答案
按热度按时间xuo3flqw1#
在附加功能价值方面需要进行的修改很少:
chromeOptions
prefs
Map的选项之一您的附加功能应如下所示(确保没有换行符):
参考chromeOptions-对象
**编辑:**根据驱动版本的不同,您可能需要在Chrome特定能力中添加
goog
前缀,例如:下面的示例展示了如何在使用侦听器初始化驱动程序之前将功能附加到复杂对象。例如,为了使用Firefox配置文件,您可以使用qaf driver listener。
sg2wtvxw2#
下面的设置放在应用程序的.properties文件中。
对于Chrome:
下面的设置适用于我的IE11
2fjabf4q3#
感谢@user861594回答这个问题。
我最近发现了一种更简单的方法,可以在BaseTestCase类本身中设置Chrome功能,而不是在Application.Properties中设置。
这就是我所做的,而且效果非常好!
声明您的文件路径=“xyz”;
享受自动化!