如何编写简单的E2E测试?需跳转指定页面并校验URL
如何编写跳转指定页面并校验URL的简单E2E测试
我来给你一步步拆解怎么写这个简单的E2E测试,你给的代码示例已经有雏形了,咱们把它补全并讲清楚逻辑~
首先咱们先把**页面对象文件(app.po.ts)**补全,这个文件用来封装页面的操作和元素定位,能让测试用例更清晰、好维护:
import { browser, element, by } from 'protractor'; export class AppPageObject { // 封装跳转到订阅页面的方法 navigateToSubscriptions() { // 这里可以直接传入完整URL,或者结合protractor配置里的baseUrl使用相对路径 return browser.get('/account/subscriptions'); } // 封装获取当前页面URL的方法 getUrl() { return browser.getCurrentUrl(); } }
接下来看测试用例文件(app.e2e-spec.ts),这里是咱们写测试逻辑的地方:
import { AppPageObject } from './app.po'; describe('Subscriptions Page Navigation Test', () => { let main: AppPageObject; // 每个测试用例执行前,初始化页面对象实例 beforeEach(() => { main = new AppPageObject(); }); it('should navigate to subscriptions page and verify URL', () => { main.navigateToSubscriptions().then(() => { main.getUrl().then(url => { // 断言当前URL包含指定的路径片段 expect(url).toContain('account/subscriptions'); }); }); }); });
小优化建议
你还可以用async/await代替then的链式调用,让代码更简洁易读:
it('should navigate to subscriptions page and verify URL', async () => { await main.navigateToSubscriptions(); const currentUrl = await main.getUrl(); expect(currentUrl).toContain('account/subscriptions'); });
注意事项
- 确保你已经正确配置了Protractor(比如在
protractor.conf.js里设置好baseUrl为你的应用地址) - 运行测试前,要先启动你的前端应用,不然Protractor无法连接到页面
- 如果你的应用需要登录才能访问订阅页面,记得在测试前加上登录的前置操作
内容的提问来源于stack exchange,提问作者Dmitry Grinko
相关产品推荐
相关产品推荐

