首页 > 解决方案 > 您如何测试同一浏览器的不同版本?

问题描述

是否可以在 Protractor 中针对同一浏览器的两个实例进行测试,但每个实例使用不同的版本?在我们公司,我们需要在 Chrome v83 和 Chrome v86 上测试我们的应用程序。有了多重功能,我们可以在每种功能上指定要测试的二进制文件,但是我找不到允许我将 chromedriver 版本链接到每个功能的选项,如果我安装了两个 chromedrivers 并尝试启动两个 Chrome 版本之一他们失败了。这是可以实现的吗?

标签: angularseleniumprotractorqa

解决方案


另一种方法:您可以创建 2 个 docker 容器,使用特定版本的 ChromeBrowser 运行测试。在配置阶段检查 chrome 浏览器的版本并使用它来获取正确的 Chrome 驱动程序。

    设置-x
    #出错退出,不继续
    设置-e
    chromeversion=$(google-chrome --version | awk '{ print $3 }' | cut -f 1 -d '.')
    # chromeversion = 版本的第一部分,例如 '84'
    curl -o CHROME_VERSION https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$chromeversion
    # 文件 CHROME_VERSION 现在包含完整版本,例如:84.0.4147.30
    完整版本=$(head -n 1 CHROME_VERSION)
    npm install chromedriver --chromedriver_version="$completeversion"


推荐阅读