Sca*_*ght 4 javascript jasmine angularjs protractor
我正在尝试使用量角器(使用jasmine)为我的Web应用程序执行一些功能测试,我遇到的一个问题是:
如何检查我的网址中的当前哈希值(#fragment)是什么?
例如,使用browser.get('/')
它,它应该导航到http://localhost:8000/#/
url ...其中#/
是未启用html5模式时由angular使用的url #fragment(散列).
在browser.getCurrentUrl()
将返回因为绝对的URL http://
,而不只是片段,我想测试.
有没有办法以正确的方式测试这个案例?
我希望做这样的事情:
browser.get('/');
expect(browser.getCurrentUrlFragment()).toBe('#/');
browser.get('/user/');
expect(browser.getCurrentUrlFragment()).toBe('#/user');
Run Code Online (Sandbox Code Playgroud)
那可能吗?
谢谢.
多个匹配器可在这种情况下使用,例如toMatch()
用$
在末端:
expect(browser.getCurrentUrl()).toMatch(/#\/user$/);
Run Code Online (Sandbox Code Playgroud)
或者,toEndWith()
来自jasmine-matchers
第三方的匹配器:
expect(browser.getCurrentUrl()).toEndWith("#/user");
Run Code Online (Sandbox Code Playgroud)
toContain()
也可以使用内置函数,但这不会强制在字符串末尾预期的子字符串:
expect(browser.getCurrentUrl()).toContain("#/user");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3233 次 |
最近记录: |