2016-10-25 3 views
0

Я использую функцию, использующую Protractor, которая требует изменения файла на ветке (файл env.js). Мне нужно изменить «GET» на «POST», а затем запустить мой тест. Затем измените это значение на «GET» после завершения теста.копировать файлы в другой каталог AngularJS

==Path to file that needs to change > /app/scripts/env.js== 
window.__env.postMethod = 'GET'; 

Я думал, что могу сделать две копии файла env.js. Один с изменениями и исходным файлом. Когда тест запускается, я просто копирую файл env.js (/test/pages/support/modified_env.js) с заменой исходного файла (/app/scripts/env.js). И когда тест завершается, я затем копирую исходный файл обратно. Моя проблема: я не уверен, как копировать файлы в другой каталог с помощью Angularjs, так как я относительно новичок в этом. Предложения? Есть ли какие-либо другие варианты изменения этого параметра с «GET» на «POST» без изменения файла?

==sudo code (sorry I only know linux copy commands)== 
cp /test/pages/support/modified_env.js /app/scripts/env.js 
//run my tests 
cp /test/pages/support/original_env.js /app/scripts/env.js 

Другая проблема заключается в том, что этот тест также будет выполняться на CI (Jenkins and Github). Было ли это связано с копированием файлов во время тестов CI?

ответ

2

Протранслятор запускается на Node.js, что означает, что вам нужно написать копирование файлов в JavaScript.

В Protractor configuration вы можете предоставить функцию для подготовки и очистки ваших тестов с помощью onPrepare() и onCleanUp(). В этих функциях вы можете использовать модуль файловой системы Node.js для копирования файлов. Ниже приведен пример.

var fs = require('fs'); 
fs.createReadStream('source-file').pipe(fs.createWriteStream('target-file')); 
+0

Потрясающие спасибо, я дам это попробовать –

+0

Hi @DennisFerguson, если эта или ответ решил свой вопрос, пожалуйста, рассмотреть [принять его] (http://meta.stackexchange.com/q/5234/179419), нажав галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательство делать это. –

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