Cypress перехватывает строку href для использования в более позднем запросе - PullRequest
0 голосов
/ 14 октября 2019

Я хочу захватить строковое представление сгенерированного href и использовать его на более поздней странице, к которой я перешел.

Я попытался захватить якорь, используя cy.get (), cy.find () и т. д., чтобы я мог щелкнуть () позже, но очевидно, что после перехода со страницы ссылка устарела. Я попытался соединить в then (), я также пытался использовать .getAttribute (), но я получаю объект обратно, а не строку.

Я изо всех сил пытаюсь найти способ добраться до базовых значений объектов кипарисадаже вызов cy.document () возвращает представление кипариса вместо того, что, как я бы догадался, было THE DOM документом. Понятно, что я понятия не имею, что делает Cypress, или что-то вроде подсказок о мнениях фреймворка, за исключением того, что у меня возникает ощущение, что я пытаюсь реализовать какой-то шаблон Cypress anti.

Мне все равнокак, но я хотел бы захватить сгенерированный URL, который я могу найти в тегах привязки href на странице. Может, кто-нибудь подскажет, как я могу получить строковое значение, чтобы я мог позже использовать его в cy.request ()?

Я могу опубликовать несколько примеров позже, когда буду за компьютером, если это необходимо,но я подозреваю, что моего описания достаточно, но, пожалуйста, дайте мне знать иначе.

Пример:

describe('Test Description', function () {

  var capturedHref = "";

  before(function() {
    // can set the name here, it becomes the context text on an anchor
    generateLinkViaAppFunctionality();

    // find by the content text taken from name on link generation
    capturedHref = <href from link>
  }

  it('Test', function() {
    cy.visit('some app page');
    doStuff();

    cy.visit(capturedHref);
  })
}

1 Ответ

1 голос
/ 15 октября 2019

Это работает для вас? Для проверки я использовал якорь в кипарисовом документе.

describe('Test anchor link', function(){
  it('test', function(){
    let anchorlink = '';
    let url = 'https://docs.cypress.io/guides/overview/why-cypress.html#Who-uses-Cypress';
    cy.visit(url);
    cy.get('#Cypress-ecosystem > a').then(($anchorlink)=>{
      anchorlink = $anchorlink.prop('href');
      console.log(anchorlink);
    })
});
});

Полный адрес печатается в консоли. enter image description here

Вы можете использовать его позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...