Как проверить количество столбцов в таблице?

Я пытаюсь проверить количество столбцов, сгенерированных в таблице, через ranorex. Например, скажем, покупается автомобиль, и оплата производится в рассрочку на 12 частей. Приложение действительно делит сумму на 12 равных частей и отображает их в таблице. Скриншот я уже прикрепил к отчету. Но хотелось бы показать, что в таблице ровно 12 столбцов. Как я могу добиться этого .. пожалуйста, помогите.


person Sensay    schedule 01.06.2016    source источник


Ответы (2)


Получите xPath для таблицы с помощью инструмента Spy. И добавьте метод userCode.

public void TestMethod()
{
    var rows = Host.Local.Find<TrTag>("/dom[@caption='Tryit Editor v3.0']//iframe[#'iframeResult']/?/?/table/tbody/tr");
    int rowNum = 0;

    foreach (var row in rows)
    {
        rowNum++;
    }

    Report.Info("Total rows: " + rowNum);
}
person Martin    schedule 10.06.2016

Если вы еще этого не сделали, я бы начал изучать код пользователя для динамической таблицы, поскольку снимок экрана будет полезен только в одном сценарии.

Хороший способ, который я нашел, — использовать функцию шпиона или во время записи использовать подтверждение, чтобы щелкнуть по таблице, которую вы хотите получить. Это даст вам информацию об объекте таблицы, которую вы затем можете использовать для получения длины таблицы:

  1. Начать запись
  2. Нажмите на таблицу (убедитесь, что поле выделения нацелено на всю таблицу)
  3. Остановить запись
  4. Щелкните правой кнопкой мыши шаг записи, который щелкает по таблице (это также должно быть добавлено в ваш репозиторий).
  5. Нажмите «Преобразовать в код пользователя».
  6. Автоматически сгенерированный код будет использовать объект таблицы, поэтому теперь вы можете использовать его, чтобы добавить дополнительный код для получения размера таблицы.

На сайте ranorex есть много полезной информации, которая поможет вам начать работу: http://www.ranorex.com/support/user-guide-20/lesson-5-ranorex-recorder/user-code.-actions.html

Надеюсь это поможет.

person Jonnyboy    schedule 09.06.2016