Тестирование автоматизации на основе данных Robot Framework: могут ли данные, полученные из базы данных, использоваться в качестве источника данных для шаблона тестирования?

Я знаком с использованием ключевых слов шаблона в тестировании Robot Framework на основе данных и знаю, что внешние источники данных, такие как текстовые файлы и файлы csv, могут использоваться для предоставления тестовых данных. Однако организация, в которой я работаю, хочет использовать данные, хранящиеся в базе данных, в качестве источника данных тестового примера. Кто-нибудь знает, возможно ли это? Я искал Stack Exchange, Stack Overflow и другие ресурсы, но не нашел ответа или каких-либо примеров.

Вот пример подхода, основанного на данных, который мне знаком, чтобы дать вам представление о том, где мы сейчас находимся.

*** Settings ***
Library           Selenium2Library
Library           AFRCLibrary
| Test Template | Suspend Region

*** Variables ***


*** Test Cases ***
| Pillar 1 BPS 2019 Suspend Region | Pillar 1 | 2019 | BPS | BPS Region 1 | Pillar 1 BPS 2019 Suspend Region Comments |
| Pillar 2 FGS 2018 Suspend Region | Pillar 2 | 2018 | FGS | FGS Region 1 | Pillar 2 FGS 2018 Suspend Region Comments |

*** Keywords ***
| Suspend Region
| | [Arguments] | ${pillar} | ${year} | ${scheme} | ${region} | ${comments} |
| | Futures Open Application | http://ags125p01:8080/operationalsite/login | ff |
| | FuturesPublicsiteWM | root | gtn | http://ags125p01:8080/operationalsite/futures/maintain_budget |
| | Select Pillar | ${pillar} | ${year} |
| | Select Scheme | ${scheme} |
| | View |
| | Suspend And Confirm | ${region} | ${comments} |
| | Futures Close Application |
| |

person user3918800    schedule 08.08.2014    source источник
comment
Все можно сделать, если правильно спроектировать.   -  person duffymo    schedule 08.08.2014
comment
Без сомнения, это правда. cn вы указываете мне в правильном направлении?   -  person user3918800    schedule 08.08.2014
comment
Нет, у меня есть работа. Вам нужен кто-то, кто может писать требования, разбираться в проектировании и нормализации схем, а также в программировании реляционных баз данных. Если это не ты, найди помощь.   -  person duffymo    schedule 08.08.2014
comment
Я тоже. Я не спрашиваю, как создать схему базы данных. Я спрашиваю, как передать набор данных из базы данных в платформу робота, чтобы ее можно было автоматически интегрировать с помощью Robot Framework и запускать в качестве тестовых примеров. Если у вас нет времени помочь мне, я не понимаю, почему вы отвечаете, особенно если вы считаете, что это проблема с базой данных, а это не так. Это вопрос, связанный с Robot Framework, управляемым данными, и совершенно верный.   -  person user3918800    schedule 08.08.2014
comment
Обратите внимание на ответ ниже. Написано кем-то, кто знает, что такое автоматическое приемочное тестирование, и не путает его с созданием базы данных.   -  person user3918800    schedule 08.08.2014
comment
Их всех не победить. Перезвоните мне, когда ваша репутация достигнет 10.   -  person duffymo    schedule 08.08.2014
comment
Не беспокойся. Если я когда-нибудь доберусь туда, я буду смеяться !! :-)   -  person user3918800    schedule 21.08.2014


Ответы (1)


К сожалению, использование тестовых шаблонов более или менее требует, чтобы данные были жестко закодированы в тестовом примере. Однако тестовый шаблон - это не более чем оболочка цикла for. Вы можете сделать что-то вроде этого:

| | ${database_rows}= | Run sql query
| | ... | Select * from the_database where ...
| | 
| | :FOR | ${row} | IN | @{database_rows}
| | | Suspend Region | @{row}

Конечно, для этого требуется, чтобы вы написали ключевое слово «Выполнить sql-запрос» или его эквивалент для получения данных.

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

Если вы хотите иметь один тестовый пример для каждой строки в базе данных, вы можете написать сценарий, который выполняет запрос, генерирует файл набора тестов, используя результаты запроса, а затем запускает pybot для созданного файла.

person Bryan Oakley    schedule 08.08.2014
comment
Большое спасибо. Это очень полезно! :-) - person user3918800; 08.08.2014
comment
Просто подумал, что скажу, что ваше последнее предложение очень полезно и способ, который я буду рекомендовать. Ваше здоровье!! - person user3918800; 21.08.2014
comment
Это именно то, что мы делаем для нашей Robot Framework, но храним необработанные данные во внешней базе данных и либо используем ключевое слово запроса для ввода любого необходимого теста в Robot, либо используем внешние файлы, если нам нужно только заполнить базу данных для тестирования. - person MichaelF; 29.07.2015