【问题标题】:How can I check URL content with Cypress如何使用赛普拉斯检查 URL 内容
【发布时间】:2020-06-25 08:55:13
【问题描述】:

我想检查我的 URL 内容并执行以下操作:

if (URL.include('path')) {
  //do something 
} else {
  // do something else
} 

我可以像这样检查我的网址

cy.url().should('include', 'path');

但是当我将它粘贴到 if 运算符时它不起作用。

【问题讨论】:

    标签: automated-tests cypress


    【解决方案1】:

    会推荐你使用.includes() 方法。判断一个字符串是否包含指定字符串的字符:

    const path = 'user/survey';
    
    cy.url().then(($url) => {
        if($url.includes(path)) {
            cy.log("Yes")
        } else  {
            cy.log("No")
          }
    })
    

    【讨论】:

      【解决方案2】:

      您可以将location()then() 结合使用。

      这是我的做法:

          cy.location('pathname').then((loc) => {
              if(loc == '/my/path') {
                  ...do
              } else {
                 ...smth else
              } 
          })
      

      希望能解决你的问题 最好的

      【讨论】:

      • 感谢您的回答。当我打印 LOC 时,结果是 Object{14} 并且总是在做 ELSE 字段
      • @François: loc == '/my/path' 在部分搜索的情况下可能不正确。应该是loc.includes('/my/path')
      • @Sree.Bh 是的,在我的用例中,我正在检查登录页面,因此不需要“包含”,但您的答案更笼统!
      【解决方案3】:

      我找到了答案,但它的差异很长。任何想法请。

            cy.url().then(url => {
               const currentURL = url.split('/path/');
               const pathURL = currentURL[1];
               if(pathURL === 'user/survey')
               {
                  cy.log('aaaaaaaaaa')
               } else {
                  cy.log('bbbbbbbbb')
               }
           })
      
      

      【讨论】:

        猜你喜欢
        • 2023-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多