Тест Xcode UI не удается найти парольTextField - PullRequest
0 голосов
/ 31 марта 2020

Я пишу простой тест пользовательского интерфейса в XCode и сталкиваюсь с проблемами. У меня есть usernameTextField и passwordTextField. Я не могу сослаться на passwordTextField. Вот мой тест вместе с ошибкой.

func test_should_create_an_account_and_take_them_to_confirmation_screen() {

        let usernameTextField = self.app.textFields["usernameTextField"]
        usernameTextField.tap()
        usernameTextField.typeText("johndoe")

        let passwordTextField = self.app.textFields["passwordTextField"]
        passwordTextField.tap()
        passwordTextField.typeText("password123")

        self.app.buttons["registerButton"].tap()

        XCTAssertEqual(self.app.navigationBars.element.identifier, "BankAccount.LoginViewController")

    }

enter image description here

1 Ответ

1 голос
/ 31 марта 2020

Как вы можете видеть из ошибки, она может просто найти текстовое поле, просто не может активировать клавиатуру.

В Simulator, Hardware> Keyboard> Connect Hardware Keyboard, убедитесь, что не выбран.

Вероятно, у вас есть поле имени пользователя, установленное, чтобы стать первым респондентом в viewDidLoad или что-то в этом роде, поэтому оно работает для одного, а не для другого.

(у меня нет Я не видел надежного решения для программного отключения аппаратной клавиатуры при выполнении тестов, но если кто-то знает, что я хотел бы знать. К сожалению, я думаю, что этот параметр сбрасывается при выходе из симулятора.)

Другое решение будет для переключения программной клавиатуры, но при отключенной аппаратной клавиатуре это должно быть более надежно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...