jjzjj

swift - 尝试进行涉及 webview 的 UI 测试时 Xcode 崩溃

coder 2023-09-06 原文

致力于为 Swift iOS 应用构建自动界面测试。该应用程序涉及用于使用 Facebook 登录的 Web View 。如果我尝试使用内置的 Xcode UI 记录构建 UI 测试,每次在 web View 范围内点击并尝试登录 facebook 时 Xcode 都会崩溃。不管我用我的 iPhone 6 还是模拟器,不管什么 Xcode 都会崩溃。

我正在使用 Xcode 9。以及 FBSDKLoginKit 和 FBSDKCoreKit。

重现步骤:

1) 有一个带有 webview 的应用

2)点击记录UI测试

3) 单击 webview 范围内的任意位置

这种行为有原因吗?

我是否需要更改 Xcode 中的设置才能记录 WebView 交互?

下面是我在 Xcode 崩溃时收到的错误消息。

Process:               Xcode [70544]
Path:                  /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:            com.apple.dt.Xcode
Version:               9.3 (14154)
Build Info:            IDEFrameworks-14154000000000000~2
App Item ID:           497799835
App External ID:       826408812
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Xcode [70544]
User ID:               501

Date/Time:             2018-05-21 14:04:50.053 -0400
OS Version:            Mac OS X 10.13.4 (17E199)
Report Version:        12
Anonymous UUID:        335CE1E7-B5AB-F717-E6D0-019AF52B3708

Sleep/Wake UUID:       7824F1AB-C514-4609-A447-F15EA9C86C84

Time Awake Since Boot: 99000 seconds
Time Since Wake:       1800 seconds

System Integrity Protection: enabled

Crashed Thread:        18  Dispatch queue: XCUIRecorder_iOS.processingQueue

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
ProductBuildVersion: 9E145
UNCAUGHT EXCEPTION (NSInternalInconsistencyException): First snapshot has type Other: Other, 0x7f9d8c64aaf0, {{0.0, 0.0}, {0.0, 0.0}}
UserInfo: (null)
Hints: 

Backtrace:
  0   __exceptionPreprocess (in CoreFoundation)
  1   DVTFailureHintExceptionPreprocessor (in DVTFoundation)
  2   objc_exception_throw (in libobjc.A.dylib)
  3   +[NSException raise:format:arguments:] (in CoreFoundation)
  4   -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] (in Foundation)
  5   +[XCUIRecorderNodeFinder nodeToFindElementForSnapshots:language:platform:] (in XCTest)
  6   -[XCUIRecorderUtilities nodeToFindElementForSnapshots:] (in XCTest)
  7   __177-[XCUIRecorder_iOS _XCT_recordedEventNames:timestamp:duration:startLocation:startElementSnapshot:startApplicationSnapshot:endLocation:endElementSnapshot:endApplicationSnapshot:]_block_invoke (in XCTest)
  8   _dispatch_call_block_and_release (in libdispatch.dylib)
  9   _dispatch_client_callout (in libdispatch.dylib)
 10   _dispatch_queue_serial_drain (in libdispatch.dylib)
 11   _dispatch_queue_invoke (in libdispatch.dylib)
 12   _dispatch_root_queue_drain_deferred_wlh (in libdispatch.dylib)
 13   _dispatch_workloop_worker_thread (in libdispatch.dylib)
 14   _pthread_wqthread (in libsystem_pthread.dylib)
 15   start_wqthread (in libsystem_pthread.dylib)

ëØ$ïˇˇ
abort() called

Application Specific Signatures:
NSInternalInconsistencyException

最佳答案

这对我来说似乎是一个 Xcode 错误。您可以在 Apple Bug Reporter 上举报.

关于swift - 尝试进行涉及 webview 的 UI 测试时 Xcode 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50439625/

有关swift - 尝试进行涉及 webview 的 UI 测试时 Xcode 崩溃的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  3. ruby-on-rails - 按天对 Mongoid 对象进行分组 - 2

    在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev

  4. ruby - ECONNRESET (Whois::ConnectionError) - 尝试在 Ruby 中查询 Whois 时出错 - 2

    我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.

  5. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  6. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  7. ruby - Ruby 的 Hash 在比较键时使用哪种相等性测试? - 2

    我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。

  8. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  9. Ruby Readline 在向上箭头上使控制台崩溃 - 2

    当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby​​安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少

  10. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

随机推荐