tutorial mp3tag informacion editar como canciones protractor

protractor - mp3tag - ¿Cómo parametrizo la propiedad baseUrl del archivo de configuración del transportador?



como editar informacion de canciones en pc (2)

La otra opción es usar gruntfile.js y hacer que llame al archivo de configuración del transportador.

//gruntfile.js

module.exports = function (grunt) { grunt.registerTask("default", "", function () { }); //Configure main project settings grunt.initConfig({ //Basic settings and infor about our plugins pkg: grunt.file.readJSON(''package.json''), //Name of plugin cssmin: { }, protractor: { options: { configFile: "conf.js", // Default config file keepAlive: true, // If false, the grunt process stops when the test fails. noColor: false, // If true, protractor will not use colors in its output. args: { baseUrl: grunt.option(''baseUrl'') || ''http://localhost:6034/'' } }, your_target: { // Grunt requires at least one target to run so you can simply put ''all: {}'' here too. options: { configFile: "conf.js", // Target-specific config file args: { baseUrl: grunt.option(''baseUrl'') || ''http://localhost:63634/'' } } }, }, //uglify uglify: { } }); //Load the plugin grunt.loadNpmTasks(''grunt-contrib-cssmin''); grunt.loadNpmTasks(''grunt-contrib-uglify''); grunt.loadNpmTasks(''grunt-protractor-runner''); //Do the Task grunt.registerTask(''default'', [''cssmin'']); };

el archivo de configuración del transportador: conf.js

exports.config = { directConnect: true, // Capabilities to be passed to the webdriver instance. capabilities: { ''browserName'': ''chrome'', ''chromeOptions'': { args: [''--no-sandbox''] } }, chromeOnly: true, // Framework to use. Jasmine is recommended. framework: ''jasmine'', // Spec patterns are relative to the current working directory when // protractor is called. specs: [''specs/*/*_spec.js''], suites : { abcIdentity : ''specs/abcIdentity/*_spec.js'' //picks up all the _spec.js files }, params: { UserName: ''[email protected]'', Password: ''123'' }, // Options to be passed to Jasmine. jasmineNodeOpts: { defaultTimeoutInterval: 30000, includeStackTrace: true }, onPrepare: function () { browser.driver.manage().window().maximize(); if (process.env.TEAMCITY_VERSION) { var jasmineReporters = require(''jasmine-reporters''); jasmine.getEnv().addReporter(new jasmineReporters.TeamCityReporter()); } } };

// Para ejecutar con la url predeterminada http: // localhost: 6034

grunt protractor

// Para correr con cualquier otra url

grunt protractor --baseUrl:"http://dev.abc.com/"

Necesito ejecutar mis pruebas de transportadores en diferentes contextos con diferentes baseUrl en los archivos de configuración. No quiero usar archivos de configuración separados para cada situación ya que es más difícil de mantener. Más bien, quiero pasar la url base como un parámetro de línea de comando. Aquí está lo que he intentado hasta ahora:

El protractor.conf.js:

exports.config = { onPrepare : { ... exports.config.baseUrl = browser.params.baseUrl; ... } }

Y para invocar transportador:

protractor protractor.conf.js --params.baseUrl ''http://some.server.com''

Esto no funciona, ya que parece que la instancia del browser ya está configurada antes de onPrepare .

Del mismo modo, he intentado esto:

exports.config = { baseUrl : browser.params.baseUrl }

Pero esto tampoco funciona, ya que parece que la instancia del navegador no está disponible cuando se está generando la configuración.

Parece que puedo usar el nodo estándar process.argv para acceder a todos los argumentos de la línea de comandos, pero eso parece ir en contra del espíritu del transportador.

¿Cuál es la mejor manera de hacer lo que necesito hacer?


Parece que esto ya es posible, pero la documentación es irregular en esta área. Sin embargo, al observar el código , el transportador admite varios argumentos de línea de comandos aparentemente no documentados.

Por lo tanto, ejecutar algo como esto funcionará:

protractor --baseUrl=''http://some.server.com'' my.conf.js