Исключение тайм-аута, даже если элемент уже нажат - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь нажать одну кнопку Войти, но даже после нажатия кнопки я получаю исключение тайм-аута.

Я проверил код и подтвердил, что использую правильный локатор.

описание: CAP Demo Перейдите на сайт GitHub, найдите репозиторий React, используя поиск функциональности и перейти на домашнюю страницу репо актеры: - актер: WEB сегменты: - сегмент: 1 действия: - описание: перейдите на главную страницу GitHub действие: org.getopentest.selenium.NavigateTo арг: URL: http://192.168.200.98:8780/CAFPortal/#/login

      - description: Enter Login id
        action: org.getopentest.selenium.SendKeys
        args:
          locator: {xpath: "//*[@id='login']/app-root/app-caf-login/div/div/div[2]/form/div[1]/input"} 
          text: ksood
          sendEnter: true

      - description: Enter password
        action: org.getopentest.selenium.SendKeys
        args:
          locator: {xpath: "//*[@id='login']/app-root/app-caf-login/div/div/div[2]/form/div[2]/input"}
          text: Acs@2018
          sendEnter: true

      - description: Pause for 60 second
        action: org.getopentest.selenium.ActionsPause
        args:
          durationMs: 60000

      - description: Display a greeting dialog box in the browser
        action: org.getopentest.selenium.ExecuteScript
        args:
        script: 
          var message = "Hello World!";
          alert(message);

      - description: Click on sign in 
        action: org.getopentest.selenium.Click
        args:
          locator: {xpath: "//*[@id='login']/app-root/app-caf-login/div/div/div[2]/form/div[3]/div/div/button"}

Просто хочу, чтобы последний тестовый пример прошел

1 Ответ

0 голосов
/ 28 мая 2019

Вам не нужен аргумент sendEnter: true с любым из действий SendKeys.Когда вы передаете sendEnter: true, действие будет «нажимать» клавишу ввода после отправки ключей в элемент текстового поля.Таким образом, в основном в тесте, который вы показали, первое действие будет вводить имя пользователя, а затем нажимать ввод, таким образом, пытаясь войти без пароля, что, конечно, не удастся.

Другая проблема заключается в том, что вы используетеневерное ключевое слово ActionsPause (подробнее здесь ).Если вы хотите ввести задержку в свой тест, вы можете использовать API $ delay () , но вам очень редко нужно делать это с OpenTest, так как синхронизация встроена, то есть все действия теста, которыевыполнить некоторую работу над элементом пользовательского интерфейса, знать, как ждать, пока этот элемент будет доступен, прежде чем выполнять работу.

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