2013-08-28 3 views

ответ

3

Существует расширение для Selenium-Core: «include», которое может добавить содержимое другого теста к текущему тесту. Это его страница на OpenQA wiki: http://wiki.openqa.org/display/SEL/include, но, к сожалению, на данный момент она недоступна. Раньше я использовал его в прошлом, но в итоге отказался от него в пользу ROLLUP RULES.

Но если вы ищете способ повторного использования скрипта в нескольких тестовых случаях, я настоятельно рекомендую вам использовать Правила свертывания. Это очень мощная и недооцененная многими пользователями функция Selenium IDE.

Информация об использовании правил сворачивания написана на странице справки в Selenium IDE: меню Справка - Документация пользовательского интерфейса, затем поиск по ключевому слову «Свертывание».

+0

Спасибо, я попробую. – Faiyaz

0

В итоге я использовал Rollups, предложенный Евгением. Мне потребовалось некоторое время, чтобы найти правильный способ реализовать это. Основная идея заключается в том, что вы в конечном итоге записываете файл JavaScript, который добавляется в Selenium IDE по параметрам/параметрам в настройке Selenium Core Extensions. Файл JavaScript, который вам нужно написать для создания «многократного использования командного стека», позволит вам использовать встроенную команду сворачивания, при этом цель будет установлена ​​на метку, которую вы назначаете группе команд.

Я написал статью о Selenium IDE Includes AKA Rollups, которая может быть полезным ресурсом.

Пример Накопительный сценария:

/** 
* For use in Selenium IDE. 
* 
* You will need to add this to Selenium under Options/Options in the Selenium Menu. 
* Put this under Selenium Core Extensions: 
* ~/selenium-ide-for-slp/sideflow.js , ~/selenium-ide-for-slp/slp_rollups.js 
* 
* 
*/ 
var manager = new RollupManager(); 


/** 
* check_for_syntax_errors 
* 
* This rollup tests for php syntax errors, warnings, and notices. 
*/ 
manager.addRollupRule({ 
    name: 'check_for_syntax_errors', 
    description: 'Check for PHP syntax errors, notices, warnings.', 
    args: [], 
    commandMatchers: [], 
    getExpandedCommands: function(args) { 
     var commands = []; 

     commands.push({ 
      command: 'assertNotText', 
      target: '//body', 
      value: '*Notice: Undefined*' 
     }); 

     commands.push({ 
      command: 'assertNotText', 
      target: '//body', 
      value: '**Notice: Trying to get*' 
     }); 

     commands.push({ 
      command: 'assertNotText', 
      target: '//body', 
      value: '*Notice: Use of*' 
     }); 

     commands.push({ 
      command: 'assertNotText', 
      target: '//body', 
      value: '*Fatal error:*' 
     }); 

     return commands; 
    } 
}); 

Надежда, что помогает.

Смежные вопросы