Angular 2/4 Protractor 调试 e2e 测试

标签 angular debugging protractor

我已经在互联网上搜索了几个小时,试图找到一种能够调试一些 e2e 测试的方法,这些测试是我在 Protractor 上为我的 Angular 2 配方应用程序编写的(测试存在于规范文件 - login.e2e-spec 中) .ts)。

我希望能够在代码中放置断点并单步执行规范文件中的每一行代码。

我的机器上安装了 Node 8.x.x,因此我无法再使用 browser.pause 功能。

有人知道如何通过使用断点一次单步调试每一行来成功调试 Protractor 规范文件吗?

下面是我的测试规范代码:-

import { LoginPage } from './login.po';
import { CommonPage } from '../common/common.po';
import { Navigation } from 'selenium-webdriver';
import { browser } from 'protractor';

describe('angular-two-recipe-app App Login', () => {
  let loginPage: LoginPage;
  let commonPage: CommonPage;

  beforeEach(() => {
    loginPage = new LoginPage();
    commonPage = new CommonPage();
  });

  it('should successfully display the login page', async () => {
    //debugger;
    loginPage.navigateTo();
    browser.debugger();
    browser.manage().window().setSize(1680, 1050);
    expect(loginPage.getUsernameInputBox()).toBeTruthy();
    expect(loginPage.getPasswordInputBox()).toBeTruthy();
    expect(loginPage.getSubmitButton()).toBeTruthy();
    expect(loginPage.getUsernameInputBoxValue()).toBe('');
    expect(loginPage.getPasswordInputBoxValue()).toBe('');
  });  
});

最佳答案

Protractor API 有一个可供您使用的调试器方法。 http://www.protractortest.org/#/api?view=ProtractorBrowser.prototype.debugger

例如:

it('clicks a link', async () => {
    await element(by.css('#link')).click();
    browser.debugger();
    // ...some other action
});

关于Angular 2/4 Protractor 调试 e2e 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49843259/

相关文章:

javascript - 使用 typescript 处理 Protractor 下拉列表的问题

angular6:将输入字段的值传递给组件

angular - 如何在Ionic中实现搜索和过滤

javascript - 可观察的主题事件监听器

c - C 程序中的 Seg 错误

android - Eclipse:JNI代码调试问题

javascript - 如何定位子菜单元素(xpath、className 或 css 定位器)

Angular 9 和 .NET Core - 从源 localhost :4200 has been blocked by CORS policy 访问

objective-c - 从命令行调试 iOS 应用程序构建

node.js - 使用 Protractor 检测浏览器