量角器:如何在单击后正确等待?

问题描述 投票:0回答:2

我正在使用量角器进行端到端测试。测试应该首先输入太短的用户名和密码,并且由于单击了提交按钮(已禁用)时由于Angular验证器而被拒绝并保持原样(这可行!),然后它应该输入正确长度的用户名以及密码长度正确,请单击“提交”按钮,并且不会重定向,因为这是错误的登录名。失败...上次测试需要输入正确的登录详细信息,然后单击“提交”,并且应该重定向到仪表板。根据此答案,https://stackoverflow.com/a/21785088/12360035是解决我似乎抛出[]的问题所需要的全部

- Failed: script timeout
    (Session info: chrome=79.0.3945.130)
    (Driver info: chromedriver=79.0.3945.16 (93fcc21110c10dbbd49bbff8f472335360e31d05-refs/branch-heads/3945@{#262}),platform=Windows NT 10.0.18362 x86_64)```

我的两个测试均出错。我该如何解决?我的测试是这样写的:

it('should enter too short username and password and NOT get redirected => stay put', () => {
   element(by.css('#inputUser')).sendKeys('bah');
   element(by.css('#inputPassword')).sendKeys('bah');
   const btn = element(by.css('#loginSubmit'));
   btn.click();
   const curUrl = browser.getCurrentUrl();
   expect(curUrl).toBe('http://localhost:4200/avior/login');
 });

  it('should enter incorrect username and password and NOT get redirected => stay put', () => {
    const ele1 = element(by.css('#inputUser'));
    const ele2 = element(by.css('#inputPassword'));
    const btn = element(by.css('#loginSubmit'));
    ele1.clear();
    ele2.clear();
    ele1.sendKeys('bah');
    ele2.sendKeys('bahbahbah');
    btn.click();
    browser.waitForAngular();
    const curUrl = browser.getCurrentUrl();
    expect(curUrl).toBe('http://localhost:4200/avior/login');
  });

  it('should enter correct username and password and get redirected to /avior/dashboard', () => {
    const ele1 = element(by.css('#inputUser'));
    const ele2 = element(by.css('#inputPassword'));
    const btn = element(by.css('#loginSubmit'));
    ele1.clear();
    ele2.clear();
    ele1.sendKeys('Chad');
    ele2.sendKeys('chadchad');
    btn.click();
    browser.waitForAngular();
    const curUrl = browser.getCurrentUrl();
    expect(curUrl).toBe('http://localhost:4200/avior/dashboard');
  });

UPDATE

jwt令牌作为cookie发送作为响应,这可能是问题的一部分。我似乎在网上找不到有关如何使用量角器处理Cookie的信息。

我正在使用量角器进行端到端测试。测试应该首先输入太短的用户名和密码,并且由于单击提交按钮(已禁用)时由于Angular验证器而被拒绝...

selenium protractor selenium-chromedriver e2e-testing
2个回答
1
投票

量角器中的等待


0
投票

根据这个问题,Failed: script timeout: result was not received in 11 seconds From: Task: Protractor.waitForAngular() - Locator: By(css selector, #my-btn)在单击按钮之前添加browser.waitForAngularEnabled(false);似乎已经解决了错误。

© www.soinside.com 2019 - 2024. All rights reserved.