在 Travis 上安装最新版本的 Firefox 并使用 Protractor 运行

2024-01-01

Travis 默认安装 Firefox 31.0esr,但我们希望始终使用最新版本。这参考 https://docs.travis-ci.com/user/firefox/#Selecting-a-Firefox-version这里说它应该非常简单,但它似乎并没有实际安装,而是似乎只是下载 tar 文件。 Protractor 在运行时仍然使用 Firefox 版本 31.0esr。

特拉维斯.yml

addons:
  firefox: "latest"

量角器.conf.js

capabilities: {
  'browserName': 'firefox'
}

Logs:

Firefox 的初始安装仍然会发生:

[34m[1mInstalled Firefox version[0m
firefox 31.0esr

... the addon在之前,部分启动并正常下载文件before_install部分如预期:

[0Ktravis_fold:start:install_firefox
[0K$ export FIREFOX_SOURCE_URL='https://download.mozilla.org/?product=firefox-latest&lang=en-US&os=linux64'
[33;1mInstalling Firefox latest[0m
travis_time:start:0dff0345
[0K$ wget -O /tmp/firefox-latest.tar.bz2 $FIREFOX_SOURCE_URL
--2016-01-04 23:29:18--  https://download.mozilla.org/?product=firefox-latest&lang=en-US&os=linux64
Resolving download.mozilla.org (download.mozilla.org)... 52.20.26.65
Connecting to download.mozilla.org (download.mozilla.org)|52.20.26.65|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://download.cdn.mozilla.net/pub/firefox/releases/43.0.3/linux-x86_64/en-US/firefox-43.0.3.tar.bz2 [following]
--2016-01-04 23:29:18--  http://download.cdn.mozilla.net/pub/firefox/releases/43.0.3/linux-x86_64/en-US/firefox-43.0.3.tar.bz2
Resolving download.cdn.mozilla.net (download.cdn.mozilla.net)... 23.0.160.35, 23.0.160.65
Connecting to download.cdn.mozilla.net (download.cdn.mozilla.net)|23.0.160.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 52525181 (50M) [application/x-bzip2]
Saving to: `/tmp/firefox-latest.tar.bz2'


0% [                                       ] 0           --.-K/s              
33% [============>                          ] 17,618,150  84.0M/s              
67% [=========================>             ] 35,556,926  84.7M/s              
100%[======================================>] 52,525,181  83.6M/s   in 0.6s    

2016-01-04 23:29:18 (83.6 MB/s) - `/tmp/firefox-latest.tar.bz2' saved [52525181/52525181]

travis_time:end:0dff0345:start=1451950158289192377,finish=1451950158979104185,duration=689911808
[0Ktravis_fold:end:install_firefox

...然后当量角器启动时:

[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://172.17.1.120:39697/wd/hub
Browser details:
Platform:  LINUX
Browser Name:  firefox
Browser Version:  31.0 

我有一种偷偷的怀疑,尽管 Travis 文档说addon部分也安装了该文件,没有迹象表明这实际上发生了,所以我认为不会发生。


为了方便起见,我们在量角器启动时打印系统信息的方式如下:

this.getBrowserCapabilities  = function() {
  return browser.getCapabilities().then(function (s) {

    var browserCapabilities = {
      browserName: '',
      browserVersion: '',
      platform: ''
    };

    browserCapabilities.platform = s.caps_.platform;
    browserCapabilities.browserName = s.caps_.browserName;
    browserCapabilities.browserVersion = s.caps_.version;

    return browserCapabilities;
  });
};

我自己也偶然发现了同样的问题,我可以确认 Travis 只下载指定的 Firefox 版本。

这就是我在构建脚本中所做的,以使用下载的版本(在我的示例中为 43.0)。

首先,在您的插件中配置插件.travis.yml file:

addons:
  firefox: "43.0"

现在,在运行测试之前执行以下步骤:

echo "Extracting firefox and setting PATH variable..."
tar -xjf /tmp/firefox-43.0.tar.bz2 --directory /tmp
export PATH="/tmp/firefox:$PATH"
echo "Using firefox version `firefox --version`"

有关工作示例,另请参阅:https://github.com/astehlik/typo3-extension-news_richteaser/blob/master/.travis.yml https://github.com/astehlik/typo3-extension-news_richteaser/blob/master/.travis.yml

我在我的例子中使用 Selenium,但我想它应该与量角器没有什么不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Travis 上安装最新版本的 Firefox 并使用 Protractor 运行 的相关文章

随机推荐

  • 安装grape依赖项时如何排除本地maven存储库

    我想在我的项目中安装一些葡萄依赖项 grape install org codehaus groovy modules http builder http builder 0 6 如何排除从我的 Maven 本地存储库下载 因为默认情况下它
  • 阻止零件可拆卸

    我想停下来Parts在 Eclipse RCP 4 中不可分离 目前 如果我右键单击Part我可以选择分离 由此我可以关闭选项卡 即使Part isn t Closeable 在 RCP 3 中 当分离时View关闭后它会返回到原来的位置
  • Python 图像哈希

    我目前正在尝试从 python 中的图像获取哈希值 我已经成功完成了此操作并且它有效somewhat 但是 我有这个问题 Image1 和 image2 最终具有相同的哈希值 尽管它们不同 我需要一种更准确和精确的散列形式 图片1 Imag
  • 如何在R中设置日期的默认语言

    我用了别人写的R包 在包中 应该创建一个名为 Mar 12 的文件 然而 在我的系统中 文件名是 三月 12 因为我在中文操作系统 Windows 10 上运行它 我已在 Rconsole 文件中将显示语言更改为英语 但没有帮助 我是想知道
  • Flask-WTForms 字段中的自定义参数

    forms py my field TextField u Enter a number validators Required This Field is Required my form html table tr td form my
  • 使用 jQuery 隐藏日期选择器

    我正在使用 struts2 jquery 插件的 datepicker 如下
  • 使用 Kerberos 进行身份验证时出现登录错误

    我们面临着一个有趣的问题 用户使用 Kerberos 身份验证登录到应用程序 他们很少成功 但突然他们面临用户登录信息被锁定的情况 并且他们在屏幕上看到以下错误 Login error com ibm security krb5 KrbEx
  • 对 PANDAS DataFrame“单元格”中的所有整数求和

    我有一个 PANDAS DF 对象 其中每个 单元格 都是元组列表 d seen A 4 B 4 C 3 A 1 C 4 unseen B 2 C 2 A 4 B 2 C 2 A 4 C 1 df pd DataFrame d df 这是结
  • 如何使用 Estimator 在 sagemaker 中保存 model.tar.gz 文件

    我无法使用以下代码将模型工件保存在 S3 存储桶中 我成功地将结果保存在输出数据路径中 并且训练作业已成功完成 我正在使用下面的代码 任何人都可以确认我们如何使用以下代码将 model artifacts 保存在 model dir 中 t
  • JAXB2 类型限制不起作用?

    我在github上建立了一个测试单元 有人可以检查为什么这不起作用 尽管要解组的 XML 看起来不错吗 https github com jjYBdx4IL misc tests blob master src test java jjyb
  • Objective-C++ 是一种与 Objective-C 完全不同的语言吗?

    正如标题所说 它们被视为不同的语言吗 例如 如果您使用 C 和 Objective C 的组合编写了一个应用程序 您会认为它是用 C 和 Objective C C 和 Objective C 还是全部三种语言编写的 显然 C 和 C 是不
  • 如何模拟慢速客户端(浏览器)?

    有什么办法可以减慢客户端 浏览器 的响应速度吗 我们的一位测试人员可以在他的机器上重现缓慢的情况 他的机器规格足够低 与许多真实客户相似 我们有一个胖客户端 大量的 JavaScript 大量的事件处理 我们担心可能会出现回归 但它在开发人
  • 我应该将所有 WCF 服务代码包装在 try catch 块中吗?

    try here is the code that might throw erros If I discover the user is unauthorized I throw a WebFaultException myself to
  • 查找 Mac OSX 上当前聚焦的应用程序窗口

    我正在编写一个桌面使用情况统计应用程序 它运行一个后台守护程序 该守护程序定期唤醒 查找当前焦点的应用程序窗口的名称并将该数据记录在数据库中 我设法在 xprop 实用程序的帮助下在 Linux 桌面上执行此操作 您可以找到它here ht
  • Pytest 捕获不起作用 - caplog 和 capsys 为空

    我正在尝试为记录器创建单元测试 但是 即使事件已记录 caplog and capsys保持空白 我究竟做错了什么 原来我的记录器有财产propagate set to False 结果 事件没有转发到LogCaptureHandler由
  • 新的 Safari 7 用户代理字符串

    我真的不想在这里打扰你 但由于我没有 Mac 我无法对此进行测试 我制作了一个浏览器嗅探类 我知道它很糟糕 但它运行良好并且不是重点 这一切都工作正常 但是我的同事说我最近做的一个网站上有一个错误 我想知道 查看的是是否有指向任何记录 原始
  • Chrome 开发工具:时间线 - 白条

    我试图了解有关 Chrome 开发工具中时间线的一些事情 来自文档 https developer chrome com devtools docs timeline about clear or light gray frames 我认为
  • 如何从我的 qt 项目引用 qjson.dll 文件?

    如何从 qt 项目之一引用 qjson dll 文件 例如 C qjson 0 7 1 qjson build lib 在这个位置 我有 qjson dll 和 qjson dll a 文件 我想使用我的 qt 项目中的 dll 我应该如何
  • 为什么复选框单击事件上的 PreventDefault 对选中的属性返回 true?

    我只是好奇 需要对以下情况进行一些解释 假设我有一个复选框类型的输入元素 并附加了一个事件监听器 用于监听单击事件 我阻止复选框的默认行为并记录复选框的选中状态 该状态将始终返回 true 复选框的视觉表示告诉我它没有被选中 所以我假设检查
  • 在 Travis 上安装最新版本的 Firefox 并使用 Protractor 运行

    Travis 默认安装 Firefox 31 0esr 但我们希望始终使用最新版本 这参考 https docs travis ci com user firefox Selecting a Firefox version这里说它应该非常简