Cypress && Angular – 从NgFor内的href获取选择器

huangapple go评论51阅读模式
英文:

Cypress && Angular - get selector from href inside Ngfor

问题

我有一个侧边导航栏,我正在尝试创建一个测试来单击链接并重定向到相应的页面。

选择器位于<a>元素内,而该元素位于ngFor循环内。

<ng-container *ngFor="let item of listItems">
    <li>
        <a [data-test]="item.routerLink"></a>
    </li>
</ng-container>

我已经尝试使用a[href],但没有成功。

it('should redirect user to welcome', () => {
    cy.getBySelector('a[href*="/welcome"]').click();
});

谢谢。

英文:

I have a side navigation bar and I'm trying to make a test to click on a link and redirect to the correspondent page.

The selector is inside <a> element that is inside a ngFor loop.

     &lt;ng-container *ngFor=&quot;let item of listItems&quot;&gt;
        &lt;li&gt;
            &lt;a [data-test]=&quot;item.routerLink&quot;&gt;&lt;/a&gt;
        &lt;/li&gt;
    &lt;/ng-container&gt;

I already try using a[href] but had no success.

    it(&#39;should redirect user to welcome&#39;, () =&gt; {
        cy.getBySelector(&#39;a[href*=&quot;/welcome&quot;]&#39;).click();
    });

Thank you.

答案1

得分: 1

我建议为每个项目创建一个唯一的 id,利用 index,然后你可以像下面这样使用 Cypress 来选择它:

&lt;ng-container *ngFor=&quot;let item of listItems; let i = index&quot;&gt;
 &lt;li&gt;
   &lt;a [attr.cy-data]=&quot;&#39;myLink-&#39; + i&quot; [data-test]=&quot;item.routerLink&quot;&gt;&lt;/a&gt;
 &lt;/li&gt;
&lt;/ng-container&gt;
// * 指定索引,这里我使用索引 2,"选择第三个链接"
cy.get(&quot;[data-cy=&#39;myLink-2&#39;]&quot;).click();
英文:

I would recommend creating a unique id for each item making use of the index, and then you can select it with Cypress like the following:

&lt;ng-container *ngFor=&quot;let item of listItems; let i = index&quot;&gt;
 &lt;li&gt;
   &lt;a [attr.cy-data]=&quot;&#39;myLink-&#39; + i&quot; [data-test]=&quot;item.routerLink&quot;&gt;&lt;/a&gt;
 &lt;/li&gt;
&lt;/ng-container&gt;
// * specify the index, here I&#39;m using index 2, &quot;select the 3rd link&quot;
cy.get(&quot;[data-cy=&#39;myLink-2&#39;]&quot;).click();

huangapple
  • 本文由 发表于 2023年3月31日 23:38:14
  • 转载请务必保留本文链接:https://go.coder-hub.com/75900356.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定