我在Windows Server 2008 R2上运行ASP.Net应用程序.我已经安装了.NET Framework 4.5.从.NET Framework v2.0迁移到v4.0后,我开始体验WCF的随机行为.
我的Web服务返回JSON.重新启动IIS后,该服务将返回完全有效的JSON约3至5次.之后,JSON变为无效.我已经通过Fiddler和我自己的客户端应用程序(一个调用该服务的Adobe AIR应用程序)和服务器本身检查了传输内容.
Fiddler表明原始响应确实包含无效的JSON.似乎JSON中的一些随机点响应JSON开始再次被写出来!,覆盖应该存在的内容并在此过程中产生损坏的JSON.
看到这个连接的例子:
{"responseCode":0,"actionCode":"OK","cdn{"responseCode":0, "actionCode".....
Run Code Online (Sandbox Code Playgroud)
请注意"responseCode"(应该只出现在JSON响应的开头)会突然再次出现在JSON中."cdn{"responseCode":0
当然是无效的JSON.
我尝试了很多补丁.我试着运行ServiceModelReg.exe
并aspnet_regiis.exe
从在不同的框架和不同的组合.相同的行为.如果我恢复到v2.0下的先前代码并将App Pool切换回v2.0,那么一切正常.
我相信这是WCF深处的一个错误.有任何想法吗?
我现在唯一的办法就是撕掉WCF并切换到类似ServiceStack的东西,我可以在必要时调试所有代码.
我正在使用watir-webdriver对Chrome运行ruby单元测试.每当运行测试并启动chromedriver.exe时,将显示类似于以下的输出:
Started ChromeDriver
port=9515
version=26.0.1383.0
log=C:\Home\Server\Test\Watir\web\chromedriver.log
[5468:8796:0404/150755:ERROR:accelerated_surface_win.cc(208)] Reseting D3D device
[5468:8996:0404/150758:ERROR:textfield.h(156)] NOT IMPLEMENTED
[WARNING:..\..\..\..\flash\platform\pepper\pep_module.cpp(63)] SANDBOXED
Run Code Online (Sandbox Code Playgroud)
这些都不会影响测试的正确运行,但正如人们可能想象的那样,"错误"和"警告"的出现可能会让人感到困惑,例如,在Jenkins中解析规则以寻找失败.当然,我可以在解析规则中使用正则表达式,但是关闭chromedriver.exe部分的详细和不必要的日志记录会非常好.我已经看到很多提到这个寻找答案的人.没人提出解决方案.是的,chromedriver可能有一个"--silent"选项,但似乎无法将其传递给可执行文件.类似于下面的代码应该起作用,但就我所见,它没有效果.有任何想法吗?
profile = Selenium::WebDriver::Chrome::Profile.new
profile['--cant-make-any-switches-work-here-how-about-you'] = true
browser = Watir::Browser.new :chrome, :profile => profile, :switches => %w[--ignore-certificate-errors --disable-extensions --disable-popup-blocking --disable-translate--allow-file-access]
Run Code Online (Sandbox Code Playgroud) 我需要能够从 Karma 测试内部将文本文件写入文件系统。我想要一个测试生成一个 HTML 文件,该文件提供复杂测试结果的可视化表示。当然,我可以通过在 karma.conf.js 中指定测试装置来读取文件,但到目前为止我还没有找到将任何内容输出到磁盘的方法。另一种方法是从控制台日志中删除输出并将其粘贴到文件中,但这看起来非常笨重。
有任何想法吗?
我正在开始一个有角度的项目.我们有许多简单的视图和控制器,并且一直使用$ routeProvider提供的机制将控制器映射到视图.更新到angular v1.2.0后,$ routeProvider机制似乎消失了,取而代之的是更好的东西.但是,我还没有找到一个连贯的代码示例来说明如何进行切换.
我看起来像这样:
theApp.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/foo', {
templateUrl: 'views/foo.html',
controller: 'FooCtrl'
})...
Run Code Online (Sandbox Code Playgroud)
这改变了什么?
谢谢
我在另一个论坛中发现,在watir webdriver中已经弃用了contains_text方法.如果我能找到准确显示webdriver支持的方法的文档,我将会很高兴.你可能会认为http://watirwebdriver.com/会有这个.但是,嗯,没有.
在开发测试时,我希望能够仅运行一次Karma单元测试.有没有办法只使用Karma从命令行运行一个测试,或者在Grunt中配置一个只运行一个测试的简单任务?
karma-runner ×2
watir ×2
webdriver ×2
.net ×1
angularjs ×1
gruntjs ×1
iis ×1
json ×1
unit-testing ×1
wcf ×1