【问题标题】:How to Detect Partial Text within a Selector using CasperJS如何使用 CasperJS 检测选择器中的部分文本
【发布时间】:2018-03-14 16:05:51
【问题描述】:

我正在使用 CasperJS 进行功能测试,我想检查页面中是否显示错误消息。

我正在使用:

test.assertSelectorHasText('#iccid-error', 'CC-ICCID-01');

这很好,但前提是我使用整个文本(不是其中的一部分)。

【问题讨论】:

    标签: javascript casperjs


    【解决方案1】:

    根据documentation,CasperJS函数assertSelectorHasText()

    断言给定文本存在于与提供的selector expression 匹配的元素中。

    换句话说,这个函数对完整和部分字符串都有效,如果字符串存在于元素中,则测试通过。

    我运行了一个简单的测试来验证函数的准确性。

    命令行:

    casperjs casperjs.js
    

    结果:

    # How to Detect Partial Text within a Selector using CasperJS
    PASS Find "CC" within the selector "#iccid-error"
    PASS Find "CC-ICCID" within the selector "#iccid-error"
    PASS Find "CC-ICCID-01" within the selector "#iccid-error"
    PASS How to Detect Partial Text within a Selector using CasperJS (3 tests)
    

    casperjs.js:

    phantom.casperTest = true;
    
    var casper = require('casper').create();
    
    casper.test.begin('How to Detect Partial Text within a Selector using CasperJS', 3, function (test) {
      casper.start('https://example.com/test.php', function () {
        test.assertSelectorHasText('#iccid-error', 'CC');
        test.assertSelectorHasText('#iccid-error', 'CC-ICCID');
        test.assertSelectorHasText('#iccid-error', 'CC-ICCID-01');
      }).run(function () {
        test.done();
      });
    });
    
    casper.on('run.complete', function () {
      this.exit();
    });
    

    example.com/test.php:

    <!DOCTYPE html>
    <html>
    <body>
      <div id="iccid-error">CC-ICCID-01</div>
    </body>
    </html>
    

    因此,我可以得出结论,函数 assertSelectorHasText() 实际上会在与给定选择器匹配的元素中搜索部分字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多