下面的代码做了我需要做的事情,但实际上我也想提高可读性.因为目前,"%s"获得了整个"data-Cy"部分,正如您从下面的屏幕截图中所看到的那样.

我怎么才能显示"验证主要产品组的鞋子和滤镜",而不是显示"验证主要产品组([data-cy="main-group-tab.hoats"])和滤镜"?

我try 使用.Split()方法,但不起作用. 我是否应该创建另一个数组,如;ProductNames=[‘Shoes’,‘Apparel’,‘Accessors’]并对其进行映射?

你会怎么做?

提前谢谢!

const productTabs = ['[data-cy="main-group-tab.shoes"]', '[data-cy="main-group-tab.apparel"]', '[data-cy="main-group-tab.accessories"]']
it.each(productTabs)(`verifies the main product groups (%s) and filters`, (productTabs) => {

  cy.get(productTabs)
    .click();

  availabilityPage.productGroups()
                  .should('be.visible');

  availabilityPage.searchBar()
                  .should('be.visible');
});

The result

推荐答案

从Products列表中运行测试,并从其中构建 Select 器(因为它们具有相同的形式)

const products = ['shoes', 'apparel', 'accessories']
it.each(products)(`verifies the main product groups (%s) and filters`, (product) => {

  const productTab = `[data-cy="main-group-tab.${product}"]`
  cy.get(productTab)
    .click();

  availabilityPage.productGroups()
                  .should('be.visible');

  availabilityPage.searchBar()
                  .should('be.visible');
});

Javascript相关问答推荐

格式值未保存在redux持久切片中

基于变量切换隐藏文本

扫描qr code后出错whatter—web.js

在react js中使用react—router—dom中的Link组件,分配的右侧不能被 destruct ''

将本机导航路由react 到导航栏中未列出的屏幕?

无法使用单击按钮时的useState将数据从一个页面传递到另一个页面

Angular 订阅部分相互依赖并返回数组多个异步Http调用

检索相加到点的子项

在FAQ Accodion应用程序中使用React useState时出现问题

如何限制显示在分页中的可见页面的数量

更新Redux存储中的对象数组

如何使本地html页面在重新加载时保持当前可隐藏部分的打开状态?

ReferenceError:无法在初始化之前访问setData

如何在每隔2分钟刷新OKTA令牌后停止页面刷新

重新渲染过多(&Q).REACT限制渲染次数以防止无限循环.使用REACT下拉菜单时

如何在Web项目中同步语音合成和文本 colored颜色 更改

脚本语法错误只是一个字符串,而不是一个对象?

使用静态函数保存 node 前的钩子

在一次操作中使用多个addToSet不适用于多个数组

使用Java脚本的响应页面