2015-11-10 25 views
1

有誰知道是否有可能從應用程序中的特定位置開始UI測試?例如,我想測試是否可以從客戶詳細信息中打開訂單表單。爲了達到這一點,我已經從客戶的表格視圖到客戶的細節。有新的UI測試Xcode 7中的頁面對象模式嗎?Xcode 7通過頁面對象模式的UI測試

回答

1

沒有辦法從應用程序中的某個特定位置開始,最好的辦法是創建幫助程序方法,以便在測試中使用該方法,然後在測試期間調用該方法。

func clientDetails() { 
    // code to get to this point here 
} 
0

不能與在moment.However Xcode的7 UI測試特定視圖調用一個選擇,你可以嘗試後門API在葫蘆-IOS來實現它。

Calabash-ios backdoor

1

它始終是有幫助的使用頁面對象模式XCode中一段時間​​,因爲我們的大多數測試需要在某些時候是不是應用程序的啓動點要開始做的UITests。

爲不同頁面創建頁面對象,這些頁面將引用該頁面中的元素,並且所有到達該頁面的幫助函數都將進入頁面對象。例如,如果您有登錄頁面和登錄頁面之後出現的用戶配置文件頁面,則您的頁面對象應採用以下方式。確保將測試用例傳遞給頁面對象。否則不起作用

class LoginPageObect { 
let userNameTextField = XCUIApplication().textFields["UserName"] 
let passwordTextField = XCUIApplication().textFields["Password"] 
let loginButton = XCUIApplication().buttons["LOG IN"] 

    func loginUser(testcase: XCTestCase) { 
    testcase.waitForElementToAppear(userNameTextField) 
    testcase.waitForElementToAppear(passwordTextField) 
    userNameTextField.tap() 
    userNameTextField.clearText() 
    userNameTextField.typeText("Shahid") 

    passwordTextField.tap() 
    passwordTextField.clearText() 
    passwordTextField.typeText("xxxxx") 

    loginButton.tap() 

    } 
} 

class UserProfilePageObject { 
let userNameCell = XCUIApplication().tables.cells.staticTexts["Shahid"] 


func navigateToUserProfile(testcase: XCTestCase) { 
    let loginPage = LoginPageObect() 
    logingPage.loginUser(testCase) 
    testcase.waitForElementToAppear(userNameCell) 
    userNameCell.tap() 
} 
}