You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写简单的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:09:59