如何在iOS UI测试中测试背景音频

时间:2018-01-27 20:31:11

标签: ios swift avfoundation ui-testing

我想在iOS UI测试中测试背景音乐和语音的各个方面;

  • 是背景音乐吗?
  • 音乐在新场景中有所改变吗?
  • 音乐是否会因电话,FaceTime等中断而静音?
  • 是在需要时说出来的?

似乎无法找到任何api文档或教程来说明如何进行这些类型的测试。

在我的UI测试类中尝试了以下代码,以测试音乐是否正在播放。代码尝试检测audioSession状态(audioSession.isOtherAudioPlaying)或与回放相关的事件(AVAudioSessionInterruption)。这两种方法都没有检测到音乐。

override func setUp() {
    super.setUp()
    continueAfterFailure = false
    XCUIApplication().launch()

    app = XCUIApplication();
    NotificationCenter.default.addObserver(self, selector: #selector(self.handleInterruption(_:)), name: NSNotification.Name.AVAudioSessionInterruption, object: nil)

}

@objc func handleInterruption(_ notification: Notification) {

    print("Received audio interrupt", notification);

}

override func tearDown() {
    super.tearDown()
}


func testIsBackgroundMusicPlaying() {
    let audioSession: AVAudioSession = AVAudioSession.sharedInstance();

    if (audioSession.isOtherAudioPlaying) {
        print ("Other audio is playing");
    }


}

有什么建议吗?

0 个答案:

没有答案