intellij-idea - 将 chromedriver 设置为在 IntelliJ 内的 Geb 测试中使用的默认值
问题描述
如何将 IntelliJ 设置为将 chromedriver 识别为用于我的自动化 Geb 测试的默认测试浏览器?
我有两个 IntelliJ 项目,一个已配置并正常运行,可达到我想要的目标,另一个具有我正试图恢复生机的过时代码。
在好的项目中,当使用 Geb 测试时,我可以引用 Browser 的实例而不实际定义它.. IE,我可以说
go('google.com')
它有效。在我尝试更新的项目中,我必须定义一个浏览器实例,然后将浏览器附加到我的所有命令中。例子:
browser.go('google.com')
似乎如果我不调用 browser.go,它默认使用某种类型的 phantomJs 或无头(可能是 htmlUnit?)浏览器来运行测试。
我在 pom.xml 文件中没有看到任何表明在项目中执行此操作的任何内容,并且在好的项目中,没有在 GebConfig.groovy 中定义驱动程序,所以我对在哪里有点困惑这可以设置。
解决方案
您在GebConfig.groovy
. 从那里您可以引用geb.env
可以从 Maven 或 Gradle 设置的系统属性。我通常使用 Maven 构建我的所有 Geb 项目,使用此变量设置默认值(仍可以通过命令行覆盖)。将 Maven 项目导入 IntelliJ IDEA 时,IDE 将尊重 Maven 设置。
基本介绍geb.env
见Geb 手册。
在您的pom.xml中查找类似<geb.env>phantomjs</geb.env>
内容并根据需要进行更改。
推荐阅读
- reactjs - Safari 和 createMediaElementSource - 没有声音
- sql - 如何解决红移上的“不允许负位图集成员”错误?
- c++ - Cmake 有哪些 make+pkg-config 没有的功能?
- c# - 使用 stimulsoft 导出 Excel
- ffmpeg - FFMPEG 元数据提取失败
- c# - 将 2 个数据集作为 Excel 中的 2 个不同行导出到 Excel,或将选择查询拆分为 excel 中的 2 行
- mysql - INNER JOIN 语句返回多行而不是一行
- token - Remix 自动将令牌部署还原为仅地址
- node.js - 我们可以在使用 express-fileUpload 时保留以前的上传文件吗
- oracle - 如何在oracle中使用序列插入选择行组