【问题标题】:How to get the version number of a browser using Appium (Selenium Web-driver) with ruby如何使用带有 ruby​​ 的 Appium(Selenium Web-driver)获取浏览器的版本号
【发布时间】:2018-06-24 03:21:06
【问题描述】:

我正在尝试获取我正在执行移动自动化网络测试的设备上安装的任何版本的 Chrome 的版本号。

目前我有:

desired_caps = {
    caps: {
        platformName: 'Android',
        versionNumber: '7.0',
        deviceName: 'S7 Edge',
        device: "Android",
        browserName: "Chrome"
    }
}

@driver = Appium::Driver.new(desired_caps).start_driver
@driver.get('https://www.google.com')
puts @driver.capabilities.version

但这会返回一个空字符串。我知道有一个名为“版本”的功能,但将其添加到version: 'latest' 等功能只会返回'latest',而不是设备上安装的 Chrome 版本。

有什么想法吗?

【问题讨论】:

    标签: ruby google-chrome selenium selenium-webdriver appium


    【解决方案1】:

    使用 Chrome,您可以尝试导航到 chrome://version/ 并解析号码:

    driver.get("chrome://version/")
    puts driver.execute_script("return document.querySelector('td span').innerText")
    
    > 62.0.3202.89
    

    您也可以直接从User-Agent 获取版本:

    version = driver.execute_script("return navigator.userAgent.match('Chrome/[^ ]+')[0]")
    puts version
    
    > Chrome/62.0.3202.89
    

    【讨论】:

    • 嗨@Florent B。我如何使用本机浏览器来做到这一点?
    • @BIGJOHN,这取决于浏览器,但您应该能够从用户代理解析它。
    • 在移动设备上执行自动化测试时,这是获取浏览器版本号的唯一方法吗?
    猜你喜欢
    • 2016-11-16
    • 2012-09-15
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多