javascript - modal - Accediendo a Angular dentro de la prueba del transportador
title html (1)
Hay una función llamada evaluar (). Encuentra un elemento en el dom y luego ejecuta la expresión.
Por ejemplo. Si desea contar el número de todos en el sitio web http://angularjs.org/ (en Agregar un poco de control), haga esto:
Abra el explorador de elementos en el transportador
./node_modules/protractor/bin/elementexplorer.js
browser.get(''http://angularjs.org/'')
element(by.model(''todoText'')).evaluate(''todos.length'').
then(function(count) {
console.log(count)
});
Debería darte un 2
También puedes usar executeAsyncScript
browser.executeAsyncScript(function(callback) {
// Here we use document.body, but your app may live under a different
// element.
var service = angular.element(document.body)
.injector()
.get(''myService'');
service.query({}, function(data) {
callback(data);
});
}).then(function (output) {
console.log(output);
});
Vea un ejemplo: https://github.com/andresdominguez/protractor-meetup/blob/master/test/e2e/api-helper.js
¿Es posible acceder a angular en sus pruebas de transportador como lo hace en las pruebas unitarias?
El caso de uso es que tengo un servicio que transforma el texto y quiero acceder a ese servicio para transformar algunos datos dentro del script de prueba real. Sé que existe el método addMockModule
en transportador pero no puedo encontrar la forma de usarlo para este propósito.
Agradecería cualquier ayuda!