Angularjs 需要在量角器测试用例中访问我的角度服务

Angularjs 需要在量角器测试用例中访问我的角度服务,angularjs,testing,protractor,end-to-end,Angularjs,Testing,Protractor,End To End,我正在为我的角度应用程序使用量角器编写e2e测试用例。我的应用程序中有一个名为UserService的服务,它保存用户信息。我在这个服务中有一个API getUser来获取用户数据。我需要在量角器测试用例中访问UserService 我看了一些文章,发现我可以使用browser.executeAsyncScript访问我的服务。但是如果我用这种方法,我就有注射问题了 在我的应用程序中,模块定义为: var angApp = angular.module('myApp', ['ngCookies'

我正在为我的角度应用程序使用量角器编写e2e测试用例。我的应用程序中有一个名为UserService的服务,它保存用户信息。我在这个服务中有一个API getUser来获取用户数据。我需要在量角器测试用例中访问UserService

我看了一些文章,发现我可以使用browser.executeAsyncScript访问我的服务。但是如果我用这种方法,我就有注射问题了

在我的应用程序中,模块定义为:

var angApp = angular.module('myApp', ['ngCookies','ngResource']); 
所有指令、服务和控制器都是使用angApp模块创建的

现在我需要访问我的UserService,以便在量角器测试用例中调用getUser API


有人能帮我在我的量角器测试用例中访问userService吗?

您面临的问题是,量角器测试在独立于浏览器的进程中运行。您的量角器测试无法直接访问在浏览器中运行的任何脚本。无法在两者之间直接传输数据(最好通过DOM进行交互)

我猜您的UserService是一种CRUDAPI,用于操纵服务器上的用户。我的建议是直接从量角器测试向服务器发出REST请求,以便获得用户。在测试和应用程序之间共享代码并不容易