期望使用量角器和茉莉花测试 URL #fragment
expect to test url #fragment with protractor and jasmine
我正在尝试使用量角器(带有茉莉花)为我的 Web 应用程序进行一些功能测试,我遇到的问题之一是:
如何检查我的 URL 中的当前哈希 (#fragment) 是什么?
例如,使用,browser.get('/')
它应该导航到http://localhost:8000/#/
URL...其中#/
是 Angular 在未启用 HTML5 模式时使用的 URL #fragment(哈希)。
browser.getCurrentUrl()
将返回自http://
以来的绝对URL,而不仅仅是我要测试的片段。
有没有办法以正确的方式测试这种情况?
我希望做这样的事情:
browser.get('/');
expect(browser.getCurrentUrlFragment()).toBe('#/');
browser.get('/user/');
expect(browser.getCurrentUrlFragment()).toBe('#/user');
这可能吗?
谢谢。
在这种情况下可以使用多个匹配器,例如toMatch()
末尾带有$
:
expect(browser.getCurrentUrl()).toMatch(/#'/user$/);
或者,toEndWith()
来自第三方jasmine-matchers
匹配器:
expect(browser.getCurrentUrl()).toEndWith("#/user");
也可以使用内置toContain()
,但这不会强制要求在字符串末尾显示子字符串:
expect(browser.getCurrentUrl()).toContain("#/user");
只需使用内置对象 - document.location.hash
.它将仅返回哈希,如果 url 不包含它,则返回空字符串。
查找Location
对象 - 它包含一些用于检索 url 部分的其他方法。
相关文章:
- 使用量角器的当前url单元测试的getTitle
- 用于在Test上打包资产以进行刮取测试的URL
- Regex:使用javascript测试最后一个单词后的url中是否存在最后一个斜杠
- Angular ui路由器单元测试(状态为url)
- Jasmine测试url的javascript函数
- 不能在 QUnit 测试中使用从 http url 引用的 jQuery
- 期望使用量角器和茉莉花测试 URL #fragment
- 对 URL 使用 E2E 量角器测试 HTTP 结果
- 带有模板URL和隔离范围的角度测试指令
- 如何测试 URL 字符串是绝对字符串还是相对字符串
- 正则表达式在URL地址测试中失败
- 我可以使用AJAX+跨域+jsonp测试URL是否可以访问吗
- 在HREF中以屏幕分辨率作为测试更改URL
- AngularJS指令模板URL需要前导斜杠,破坏测试
- 在CasperJS中测试URL列表
- 获取Google AdWords测试URL参数
- Regex测试url和文件路径的重复单词
- Jquery测试url是否已包含参数
- 测试URL是否可以从web浏览器访问,即确保没有被代理服务器阻止
- 用javascript测试url的可用性