Swift XCUI字符串断言失败

reu*_*sey 0 xcode ios ios-ui-automation swift xcode-ui-testing

我正在使用xcode 8.3.3并编写XCUI测试.

我有以下内容: let address = XCUIApplication().buttons["URL"].value as! String

查看调试器,我可以看到值是:

在此输入图像描述

如果我设置 expectedURL = "\u{e2}auth.int....net"然后它返回:在此输入图像描述

如果我设置 expectedURL = "auth.int....net"然后它返回:在此输入图像描述

如何使测试断言找到两个相等的字符串?

试过以下内容,但它不会取代"\ u {e2}":

let address = value.components(separatedBy: ",").first!.replacingOccurrences(of: "\u{e2}", with: "")
Run Code Online (Sandbox Code Playgroud)

而且(但它不会取代"\ u {e2}"):

let range = Range<String.Index>(uncheckedBounds: (lower: address.startIndex, upper: address.endIndex))

let strippedAddress = address.replacingOccurrences(of:"\\u{e2}", with: "", options: .literal, range: range)
Run Code Online (Sandbox Code Playgroud)

对于断言,我正在使用 XCTAssertEqual(address, expectedURL)

Der*_*son 6

您可以通过用字母数字字符分隔然后用空字符串连接来修复它,如下所示.

let myString = address.components(separatedBy: CharacterSet.alphanumerics.inverted).joined(separator: "")
Run Code Online (Sandbox Code Playgroud)

myString然后等于authintxxxxxxxxxnet(没有"."字符),因此您应该只能更改您想要的URL以匹配.

希望有所帮助!