新增启动参数直达首页与个人中心页面,引入 AppUITestRouteDriver 与 UITestSession 共享登录,并重构各模块用例的导航断言逻辑。 Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
1.4 KiB
Swift
43 lines
1.4 KiB
Swift
//
|
|
// WalletUITests.swift
|
|
// suixinkanUITests
|
|
//
|
|
|
|
import XCTest
|
|
|
|
final class WalletUITests: AuthenticatedUITestCase {
|
|
/// 测试钱包首页与提现表单校验。
|
|
func testWalletWithdrawValidation() throws {
|
|
try openWallet()
|
|
|
|
UITestTapHelper.tapLabel("提现", in: app)
|
|
NavigationAssertions.waitForNavigationTitle("提现申请", in: app)
|
|
|
|
let submitButton = app.application.buttons["提交提现申请"]
|
|
XCTAssertTrue(submitButton.waitForExistence(timeout: 6))
|
|
submitButton.tap()
|
|
XCTAssertTrue(
|
|
app.application.staticTexts["请输入提现金额"].waitForExistence(timeout: 4)
|
|
|| app.application.staticTexts.matching(NSPredicate(format: "label CONTAINS '金额'")).firstMatch.exists
|
|
)
|
|
}
|
|
|
|
/// 测试银行卡与积分兑换二级页可打开。
|
|
func testWalletSecondaryPages() throws {
|
|
try openWallet()
|
|
|
|
UITestTapHelper.tapLabel("银行卡", in: app)
|
|
NavigationAssertions.waitForNavigationTitle("银行卡设置", in: app)
|
|
BackNavigator.goBack(app: app)
|
|
|
|
UITestTapHelper.tapLabel("积分兑换", in: app)
|
|
NavigationAssertions.waitForNavigationTitle("积分兑换", in: app)
|
|
}
|
|
|
|
/// 直达钱包首页。
|
|
private func openWallet() throws {
|
|
app = try UITestSession.relaunch(openMenu: "我的钱包")
|
|
NavigationAssertions.waitForNavigationTitle("我的钱包", in: app)
|
|
}
|
|
}
|