Swift XCUIstring断言失败

我正在使用xcode 8.3.3并编写一个XCUItesting。

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

看debugging器,我可以看到的价值是:

在这里输入图像说明

如果我设置expectedURL = "\u{e2}auth.int....net"那么它返回: 在这里输入图像说明

如果我设置expectedURL = "auth.int....net"然后它返回: 在这里输入图像说明

我怎样才能使testing断言find两个string是平等的?

尝试了以下,但它并不取代“\ u {e2}”:

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

而且(但它不会取代“\ 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) 

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

您可以通过以字母数字字符分隔,然后通过空string进行连接来修复它,如下所示。

 let myString = address.components(separatedBy: CharacterSet.alphanumerics.inverted).joined(separator: "") 

然后, myString等于authintxxxxxxxxxnet(没有“。”字符),所以你应该能够改变你想要的URL来匹配。

希望有所帮助!