赛普拉斯:如何比较与从表中读出的字符串/文本连接的不同数据类型

     2023-03-16     12

关键词:

【中文标题】赛普拉斯:如何比较与从表中读出的字符串/文本连接的不同数据类型【英文标题】:Cypress: how to compare diffrent datatypes concatinated with String/ text read out from tables 【发布时间】:2021-12-21 09:53:27 【问题描述】:

我想比较与文本混合的双值 (75.999):75.999 & 编辑

我从表中获取了这些值并尝试将其解析为字符串,以替换除数字之外的所有符号和字符,但没有任何效果。

HTML-SNIPET:

<td data-cy="project.chanceOrder" class="text-right editableRow" aria-label="project.chanceOrder: NCDd_3wB0UC4Ud30l6iP">
    <div class="ng-star-inserted">
        <span class="ng-star-inserted">75.999&nbsp;%&nbsp;</span>
        <!---->
        <a class="inlineEditLink" title="Bearbeiten">
            <em class="material-icons">edit</em>
        </a>
    </div>
    <!---->
    <!---->
</td>

赛普拉斯代码(不工作):

cy.get('[data-cy="projectList"]')
.find('[data-cy="project.chanceOrder"]')
.each((MyElement, MyIndex, MyContentOfArray) => 
    if(MyIndex == 0)
    
        // NOT WORKING
        expect(parseFloat(MyElement.text().replace(/[^a-zA-Z0-9 ]/g, ""))).to.equal(project.chanceOrder.replace(/[^a-zA-Z0-9 ]/g, ""))

        // NOT WORKING
        // let tmp = MyElement.text().replace(/[^a-zA-Z0-9 ]/g, "")
        // let OriginValueToCompare = '' + project.chanceOrder
        // let tmpStr = OriginValueToCompare.replace(/[^a-zA-Z0-9 ]/g, "")
        // expect(tmp).to.equal(tmpStr)

        // NOT WORKING
        // expect(MyElement.text().replace(/[^a-zA-Z0-9 ]/g, "")).to.equal(project.chanceOrder.replace(/[^a-zA-Z0-9 ]/g, ""))

        // NOT WORKING
        expect(MyElement.text()).to.equal('' + project.chanceOrder+" % edit")
        
        // NOT WORKING
        let tmp1 = "" + MyElement.text()
        let tmp2 = "" + project.chanceOrder +" % edit"
        if(tmp1 == tmp2)
        
            cy.log("=============== YES =====================================")

        
        
        // NOT WORKING
        cy.wrap(tmp1).should('eq', tmp2);
        
        // NOT WORKING
        cy.wrap(tmp1).should('have.text', tmp2);
)

错误消息(总是):

预期 75.999 % 编辑等于 75.999 % 编辑

如果我将 cypress Log 的输出与 notepad++ 进行比较

75.999 % 编辑 75.999 % 编辑

它总是说这两个文件匹配。

我做错了什么?

【问题讨论】:

【参考方案1】:

你可以用这个:

expect(MyElement.text()).to.contain('75.999')

这将检查字符串75.999 是否存在于您提取的文本中。

【讨论】:

如何验证赛普拉斯中的悬停文本(工具提示)?

】如何验证赛普拉斯中的悬停文本(工具提示)?【英文标题】:Howtoverifythehovertext(tooltip)inCypress?【发布时间】:2021-09-1015:32:00【问题描述】:arrow_back我已尝试使用以下代码,但不起作用。对于chrome,它表示超时。对于边缘,... 查看详情

赛普拉斯 - 如何按顺序运行测试文件

】赛普拉斯-如何按顺序运行测试文件【英文标题】:Cypress-HowcanIruntestfilesinorder【发布时间】:2020-03-1503:22:32【问题描述】:当我按下“运行所有规格”button或使用运行赛普拉斯中所有文件的运行命令时,它会按字母顺序运行所... 查看详情

如何将赛普拉斯的测试运行程序的“控制台日志”(左侧)保存到文件中

】如何将赛普拉斯的测试运行程序的“控制台日志”(左侧)保存到文件中【英文标题】:HowdoIsaveCypress\'stestrunner\'s"consolelog"(lefthandside)toafile【发布时间】:2021-12-0817:05:11【问题描述】:我想将TestRunner左侧的数据保存到... 查看详情

如何使用赛普拉斯测试文件输入?

】如何使用赛普拉斯测试文件输入?【英文标题】:HowtotestfileinputswithCypress?【发布时间】:2018-04-1421:55:55【问题描述】:如何编写需要与文件输入DOM元素交互的e2e流测试?如果它是文本输入,我可以将其作为DOM组件与之交互(... 查看详情

单击赛普拉斯中的完全匹配文本

】单击赛普拉斯中的完全匹配文本【英文标题】:ClickanexactmatchtextinCypress【发布时间】:2019-10-1923:43:39【问题描述】:在Cypress中,.contains命令会生成所有匹配的元素,因此对于单击带有文本的下拉项,.contains可以正常工作。但... 查看详情

赛普拉斯断言文本

】赛普拉斯断言文本【英文标题】:Cypressasserttext【发布时间】:2021-12-2123:00:33【问题描述】:我需要断言的错误摘要中的这段代码有问题:<divid="#prices-form-wizard_es_"class="errorSummaryformSummary"style="display">==$0<ul><li>::mark... 查看详情

如何使赛普拉斯等待具有多个结果的异步搜索完成而不会导致测试失败

】如何使赛普拉斯等待具有多个结果的异步搜索完成而不会导致测试失败【英文标题】:howtomakecypresswaitforaasyncsearchwithmultipleresultcompletewithoutcausingthetesttofail【发布时间】:2021-11-2814:53:15【问题描述】:我有一个典型的搜索,其... 查看详情

如何查看赛普拉斯测试使用的属性值?

】如何查看赛普拉斯测试使用的属性值?【英文标题】:HowcanIseepropertyvaluewhichisusedbytheCypresstest?【发布时间】:2021-03-0415:11:39【问题描述】:我正在研究页面https://example.cypress.io/commands/querying上显示的赛普拉斯示例:cy.get(\'[data-t... 查看详情

赛普拉斯 - 使 contains() 以不区分大小写的方式工作的方法

...ML级别,并且HTML中的值大小写不一致。如果我只使用小写字符串作为contains()函数的参数,有什么方法可以强制Cypress匹配文本?【问题讨论】:【参考方案1】 查看详情

如何使用赛普拉斯检查可能不存在的元素

】如何使用赛普拉斯检查可能不存在的元素【英文标题】:HowtocheckforanelementthatmaynotexistusingCypress【发布时间】:2018-05-2604:36:25【问题描述】:我正在编写赛普拉斯测试以登录网站。有username和password字段和Submit按钮。大多数登录... 查看详情

在赛普拉斯中,如何计算选择的项目并获得长度?

】在赛普拉斯中,如何计算选择的项目并获得长度?【英文标题】:InCypresshowtocountaselectionofitemsandgetthelength?【发布时间】:2018-04-0117:15:47【问题描述】:我开始学习赛普拉斯。我有一个4行表(带有一类数据表)。我可以通过这... 查看详情

赛普拉斯:如何计算按钮数量

】赛普拉斯:如何计算按钮数量【英文标题】:Cypress:Howtocountnumberofbuttons【发布时间】:2021-05-2110:37:58【问题描述】:您好,我想计算特定标签内的按钮数量如何打印按钮的总和?我试过了cy.log(cy.get(\'dropdown\').find(\'button\').count(... 查看详情

赛普拉斯:我们如何在赛普拉斯中使用不记名令牌编写 GET 请求?

】赛普拉斯:我们如何在赛普拉斯中使用不记名令牌编写GET请求?【英文标题】:Cypress:HowcanwewriteGETrequestinwithbearertokenincypress?【发布时间】:2020-08-1713:18:06【问题描述】:我有两个请求:一个是POST请求,另一个是get。首先,我... 查看详情

从表中选择*与从表中选择col1,col2,col3 [重复]

】从表中选择*与从表中选择col1,col2,col3[重复]【英文标题】:Select*fromtablevsSelectcol1,col2,col3fromtable[duplicate]【发布时间】:2013-01-2117:58:23【问题描述】:可能重复:select*vsselectcolumn我刚刚和我的一位同事讨论了在存储过程中指... 查看详情

如何在赛普拉斯的所有测试套件之前执行代码?

】如何在赛普拉斯的所有测试套件之前执行代码?【英文标题】:HowcanIexecutecodebeforealltestssuitewithCypress?【发布时间】:2018-06-1501:38:44【问题描述】:基本上,我想在所有文件中的所有测试执行之前登录一次。我应该使用before钩... 查看详情

如何期望日期包含赛普拉斯中的另一个日期?

】如何期望日期包含赛普拉斯中的另一个日期?【英文标题】:HowtoexpectthedatetocontainanotherdateinCypress?【发布时间】:2022-01-0704:30:32【问题描述】:这将是我在这里提出的最愚蠢的问题。我正在经历赛普拉斯自动化并正在研究其中... 查看详情

如何在赛普拉斯中选择一个数组?

】如何在赛普拉斯中选择一个数组?【英文标题】:HowtoselectanarrayinCypress?【发布时间】:2021-09-2121:06:44【问题描述】:我正在尝试使用cypress选择一个数组。我有这个元素"cy.get(".link.nav-link")[0]"当我尝试单击元素时,cypress向我返... 查看详情

赛普拉斯 - 如何验证文件是不是已下载?

】赛普拉斯-如何验证文件是不是已下载?【英文标题】:Cypress-Howtoverifyifafileisdownloaded?赛普拉斯-如何验证文件是否已下载?【发布时间】:2021-03-0415:23:54【问题描述】:我想检查一个文件是否在我的测试中被下载。我只需要在... 查看详情