Использование параметров в качестве пользовательских переменных?

Мы запускаем наши тесты в режиме без графического интерфейса и передаем различные параметры, такие как сервер, порт, потоки и т. д. Мы также хотели бы запустить наш тест в режиме графического интерфейса и иметь возможность изменять эти параметры в графическом интерфейсе.

Что я хотел сделать, так это использовать 2 объекта переменных, определяемых пользователем, и иметь один со статическими данными, которые мы можем редактировать, а другой с параметрами. Таким образом, фактический план тестирования не меняется, но мы можем установить переменные в качестве параметров и просто отключить статические данные. Или отключите параметризованный, когда мы хотим работать со статическими данными.

Но это, похоже, не работает - никаких ошибок нет.


person Dominic Bou-Samra    schedule 23.05.2011    source источник


Ответы (3)


Я делаю что-то подобное, но я использовал для этого UDF.

Что я сделал, так это настроил свои переменные и использовал значения по умолчанию.

VARNAME      VALUE  
otl_PROTOCOL ${__P(otl_protocol,https)}  
otl_PORT     ${__P(otl_port,443)}  
otl_THREADS  ${__P(otl_threads,1)}      
otl_REPS     ${__P(otl_reps,1)}  
otl_RAMP     ${__P(otl_ramp,0)}  

Я сделал это и для имени сервера. Таким образом, я могу использовать здесь значения по умолчанию или передать параметры либо в аргументах командной строки, либо в моих user.properties. Это работает очень хорошо для меня.

person Lee Lowder    schedule 03.05.2012
comment
Спасибо, ваш пример со значениями по умолчанию помог мне! - person Geert Schuring; 22.01.2015

Как вы передаете значения из режима без графического интерфейса? через CSV, используя свойства, пользовательские параметры и т. д.?

Если CSV, это легко исправить. Просто создайте объект пользовательских переменных (UDV) на уровне плана тестирования и «жестко закодируйте» все свои параметры (сервер, порт и т. д.). Сохраните конфигурацию CSV. Если вы работаете в режиме графического интерфейса, отключите CSV и включите UDV. Когда вы сохраняете файл, держите CSV включенным, а UDV отключенным - таким образом, когда вы запускаете не-GUI, он будет читать CSV-файл.

Если использовать свойства, я бы сделал следующее: Создайте UDV со всеми вашими параметрами (Сервер и т.д.). Прежде чем вводить значения, скопируйте компонент, чтобы у вас было ДВА одинаковых UDV. В UDV 1 введите значение свойства из командной строки. В UDV 2 введите «жестко закодированные» значения. Во всем сценарии замените любые ссылки на свойства ссылками на переменные. Это будет выглядеть примерно так:

        UD1:                               UD2:
  Name        Value                  Name        Value
    SERVER      ${__P(Server)}          SERVER      devdomain.com
    PORT        ${__P(Port)}            PORT        4111


Some HTTP Request

Domain: ${SERVER}

При использовании пользовательских параметров это будет та же концепция, что и выше.

person BlackGaff    schedule 23.05.2011

На самом деле я использую функцию, названную регулярным выражением, для получения значения. здесь я должен использовать переменную под переменной, потому что есть много значений с одинаковой границей, поэтому я выбрал один абзац как ${ABC} и извлек значение из этого абзаца ${XYLEM}. обе переменные созданы как регулярное выражение. Пробовали с ${__V(ABC${XYLEM})};

${__setProperty{Search_Investment_Banking,$Investment_Banking}};
person yogesh    schedule 06.07.2017