小编Tra*_*ash的帖子

是否可以使用Selenium/Capybara截取整页的屏幕截图?

PhantomJS可以选择整个页面的截图(而不仅仅是当前的视口).有没有办法使用Selenium?我正在无头地使用无头宝石进行Cucumber/Capybara测试.我会使用PhantomJS,但我还有其他一些问题.

selenium screenshot cucumber capybara

16
推荐指数
2
解决办法
1万
查看次数

检查元素是否存在而不会在Capybara中浪费时间

我喜欢保持干燥,这就是为什么我希望在我的一个步骤中有以下内容:

if first(:css, "#blabla") != nil
    find_by_id(blabla).click
end
find_by_id(....)
....
Run Code Online (Sandbox Code Playgroud)

这意味着,它将查找某个元素,如果存在,它将单击它.如果没有,我也不会浪费时间(我的默认等待时间为20秒,如果我把将要使用的find ,而不是first在那里.

主要问题是我不想在这种情况下检查某个元素时浪费时间,但我也想知道这是否是一个好方法.

automated-tests cucumber capybara

11
推荐指数
1
解决办法
1万
查看次数

在Poltergeist中暂时将js_errors设置为false

我有一组测试导致用户登录的Facebook页面.不幸的是,这个页面有一些我无法影响的JavaScript错误,所以我的测试永远不会完成.

有没有办法暂时禁用JS错误检查?我在考虑类似的事情:Capybara.javascript_driver.js_errors = false然后将其设置为true稍后,但不幸的是,这不起作用.我尝试过这种变化无济于事.

关于我的问题如何解决的任何想法?

javascript capybara poltergeist

11
推荐指数
2
解决办法
3518
查看次数

如何为每个拉取请求托管Android APK文件,以便QA可以在合并之前测试它们?

为了改进我们的QA工作流程,我们希望为Github上的每个pull-request自动构建一个APK文件,以便我们可以在合并分支之前对其进行测试.我们已经想出了如何构建文件,但我们现在想知道如何将它集成到我们的工作流程中.

似乎大多数可用的Beta程序(例如Crashlytics Beta,Google Play)主要关注在发布前不久创建一个测试版,但不允许并行托管多个APK.

以下是我们理想工作流程的示例:

  1. 开发人员完成编码并创建拉取请求
  2. 测试运行
  3. 如果测试成功,APK会自动构建并上传到某个地方(这是我们想要弄清楚的部分)
  4. QA会查看pull-request,并且应该可以在他们的测试设备上轻松下载正确的APK
  5. 如果在QA期间没有问题,则合并拉取请求
  6. APK文件会自动删除

我们特别不想在pull-request合并之后测试APK,而是测试之前在我们的开发分支中弹出更少的bug.

continuous-integration android qa github

11
推荐指数
1
解决办法
317
查看次数

使用Poltergeist,PhantomJS和Capybara捕获视频

是否可以使用PhantomJS结合宝石Poltergeist,Capybara和Cucumber捕捉视频?

我之前使用过Headless gem,它将视频放在特定文件夹中以防场景失败.如果一切顺利,则不会存储任何视频.

无头使用Xvfb和ffmpeg.ffmpeg也可用于提供与此处所示相同的功能:https://github.com/leonid-shevtsov/headless/blob/master/lib/headless/video/video_recorder.rb

我基本上需要相同的功能,但我不知道如何去做.任何建议都非常感谢.

selenium headless capybara phantomjs poltergeist

5
推荐指数
1
解决办法
4055
查看次数

Capybara/Poltergeist:带冒号的CSS ID引发了Capybara :: Poltergeist :: InvalidSelector

我有一个名称中带冒号的CSS选择器,这显然是个问题.

例:

selector = 'input#billing:street1'
find(selector)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

The browser raised a syntax error while trying to evaluate the selector "input#billing:region_id" (Capybara::Poltergeist::InvalidSelector)
Run Code Online (Sandbox Code Playgroud)

有没有办法按原样使用选择器?我知道我可以这样做:

selector = 'billing:street1'
find(:xpath, ".//input[@id='#{selector}']")
Run Code Online (Sandbox Code Playgroud)

但我不想因为各种原因这样做.

我使用Cucumber,Capybara,Poltergeist/PhantomJS

css capybara phantomjs poltergeist

5
推荐指数
1
解决办法
2339
查看次数

有没有办法在出现新异常时获得 Azure ApplicationInsights 通知?

我们正在使用 Azure 的 Application Insights。目前,我必须在每次部署后手动检查异常,以查看是否出现新的异常。有没有人找到一种在出现新异常时获得通知(通过 Azure 警报)的方法?例如,其他错误跟踪器(如 Sentry)支持此功能。

例子:

  • 我们在 15:15 进行了部署
  • 15:17 出现先前未知的异常
  • 我收到一封电子邮件,内容为“项目 Y 中出现新异常 X”

这是一个更清楚地展示这一点的屏幕截图:

应用见解

azure azure-application-insights azureportal

5
推荐指数
1
解决办法
1748
查看次数

如何在Cucumber/Capybara中打印<span>的内容?

我想打印位于跨度中的错误消息的内容,看起来像这样:

<span>Es exisitiert bereits ein Account mit dieser E-Mail Adresse. Wenn Sie sich sicher sind, dass dies Ihre Adresse ist, dann klicken Sie <a href="https://link-removed.com">hier</a> um das Passwort und den Zugang zu Ihrem Account zu erhalten.</span>
Run Code Online (Sandbox Code Playgroud)

在我的步骤定义中,我尝试了以下内容

print page.find('.error-msg span')
Run Code Online (Sandbox Code Playgroud)

然而,这并没有真正起作用.谷歌搜索了一个小时后,我找不到任何有用的东西,这也可能是因为我对这一切都很新.

我基本上想调试,所以我想看看实际内容是什么.它对未来的努力也很有帮助.

ruby debugging cucumber capybara

3
推荐指数
1
解决办法
3929
查看次数