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

时间:2015-04-03 12:10:41

标签: angularjs testing protractor end-to-end

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

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

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

var angApp = angular.module('myApp', ['ngCookies','ngResource']); 

使用angApp模块创建所有指令,服务和控制器。

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

有人可以帮助我在量角器测试用例中访问userService吗?

1 个答案:

答案 0 :(得分:3)

您面临的问题是量角器测试是在与浏览器不同的进程中运行的。您的量角器测试无法直接访问浏览器中运行的任何脚本。没有办法直接在两者之间传输数据(你可以做的最好的事情是通过DOM进行交互)。

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