PhantomJS可以选择整个页面的截图(而不仅仅是当前的视口).有没有办法使用Selenium?我正在无头地使用无头宝石进行Cucumber/Capybara测试.我会使用PhantomJS,但我还有其他一些问题.
我喜欢保持干燥,这就是为什么我希望在我的一个步骤中有以下内容:
if first(:css, "#blabla") != nil
find_by_id(blabla).click
end
find_by_id(....)
....
Run Code Online (Sandbox Code Playgroud)
这意味着,它将查找某个元素,如果存在,它将单击它.如果没有,我也不会浪费时间(我的默认等待时间为20秒,如果我把将要使用的find
,而不是first
在那里.
主要问题是我不想在这种情况下检查某个元素时浪费时间,但我也想知道这是否是一个好方法.
我有一组测试导致用户登录的Facebook页面.不幸的是,这个页面有一些我无法影响的JavaScript错误,所以我的测试永远不会完成.
有没有办法暂时禁用JS错误检查?我在考虑类似的事情:Capybara.javascript_driver.js_errors = false
然后将其设置为true
稍后,但不幸的是,这不起作用.我尝试过这种变化无济于事.
关于我的问题如何解决的任何想法?
为了改进我们的QA工作流程,我们希望为Github上的每个pull-request自动构建一个APK文件,以便我们可以在合并分支之前对其进行测试.我们已经想出了如何构建文件,但我们现在想知道如何将它集成到我们的工作流程中.
似乎大多数可用的Beta程序(例如Crashlytics Beta,Google Play)主要关注在发布前不久创建一个测试版,但不允许并行托管多个APK.
以下是我们理想工作流程的示例:
我们特别不想在pull-request合并之后测试APK,而是测试之前在我们的开发分支中弹出更少的bug.
是否可以使用PhantomJS结合宝石Poltergeist,Capybara和Cucumber捕捉视频?
我之前使用过Headless gem,它将视频放在特定文件夹中以防场景失败.如果一切顺利,则不会存储任何视频.
无头使用Xvfb和ffmpeg.ffmpeg也可用于提供与此处所示相同的功能:https://github.com/leonid-shevtsov/headless/blob/master/lib/headless/video/video_recorder.rb
我基本上需要相同的功能,但我不知道如何去做.任何建议都非常感谢.
我有一个名称中带冒号的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
我们正在使用 Azure 的 Application Insights。目前,我必须在每次部署后手动检查异常,以查看是否出现新的异常。有没有人找到一种在出现新异常时获得通知(通过 Azure 警报)的方法?例如,其他错误跟踪器(如 Sentry)支持此功能。
例子:
这是一个更清楚地展示这一点的屏幕截图:
我想打印位于跨度中的错误消息的内容,看起来像这样:
<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)
然而,这并没有真正起作用.谷歌搜索了一个小时后,我找不到任何有用的东西,这也可能是因为我对这一切都很新.
我基本上想调试,所以我想看看实际内容是什么.它对未来的努力也很有帮助.
capybara ×6
cucumber ×3
poltergeist ×3
phantomjs ×2
selenium ×2
android ×1
azure ×1
azureportal ×1
css ×1
debugging ×1
github ×1
headless ×1
javascript ×1
qa ×1
ruby ×1
screenshot ×1