【问题标题】:Karate - how to run browser (Firefox) in specific resolution空手道 - 如何以特定分辨率运行浏览器 (Firefox)
【发布时间】:2020-04-30 10:19:34
【问题描述】:

使用空手道 - geckodriver (Firefox) 我需要在特定的浏览器窗口大小中运行它。根据我尝试过的文档(JS配置文件):

karate.configure('driver', { type: 'geckodriver', executable: 'geckodriver', start: false, port: 4444, addOptions: ['windows-size=320,200'] });

karate.configure('driver', { type: 'geckodriver', executable: 'geckodriver', start: false, port: 4444, addOptions: ['--windows-size=320,200'] });

未引发错误,但窗口大小不是 320,200。 可能需要对配置进行一些小的更改。

感谢您的帮助。

【问题讨论】:

    标签: automated-tests karate


    【解决方案1】:

    要设置窗口大小,请在 driver 初始化后的任何时间使用 driver.dimensions

      * driver.dimensions = { x: 0, y: 0, width: 300, height: 800 }
    

    如果需要,您可以在此之前执行* driver 'about:blank',如果您想使用特定大小的浏览器开始您的流程。

    如果你真的是指显示分辨率,那是一个更难的问题。我们有办法通过导出KARATE_WIDTH and KARATE_HEIGHT 环境变量来为Chrome Docker container 执行此操作。如果我们得到一些community help,我们可以尽快为 FireFox 做这件事,同样基于 Docker 容器,或者您可以自己创建一个。

    【讨论】:

    • * driver.dimensions 完美运行。谢谢!另一个问题 - 是否可以在 JS 配置文件中以某种方式设置它?
    • @RadimBukovský 你可以,间接地。设置一个变量:config.foo = { x: 0, y: 0, width: 300, height: 300 },然后在一个功能中:* driver.dimensions = foo。但请注意,您可以使用可重用的功能来初始化驱动程序,该功能可以从 karate-config.js 调用 - 另请参阅:stackoverflow.com/a/60581024/143475 - 如果驱动程序准备就绪,driver.dimensions = {} 也可以在 JS 中工作跨度>
    猜你喜欢
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 2017-07-23
    相关资源
    最近更新 更多