我正在使用量角器为我的角度应用程序编写e2e测试用例。我的应用程序中有一个名为UserService的服务,用于保存用户信息。我在此服务中有一个API getUser来获取用户数据。我需要在量角器测试用例中访问UserService。
我查看了一些文章,发现我可以使用browser.executeAsyncScript来访问我的服务。但如果我使用这种方法,我就会解决注射问题。
在我的应用程序中,模块定义为:
var angApp = angular.module('myApp', ['ngCookies','ngResource']);
使用angApp模块创建所有指令,服务和控制器。
现在我需要访问我的UserService,以便我可以在量角器测试用例中调用getUser API。
有人可以帮助我在量角器测试用例中访问userService吗?
答案 0 :(得分:3)
您面临的问题是量角器测试是在与浏览器不同的进程中运行的。您的量角器测试无法直接访问浏览器中运行的任何脚本。没有办法直接在两者之间传输数据(你可以做的最好的事情是通过DOM进行交互)。
我猜你的UserService是某种用于操纵服务器上用户的CRUD API。我的建议是直接从量角器测试向服务器发出REST请求以获取用户。在测试和应用程序之间共享代码并不容易。