WebdriverIO - webelements 上的 Chai 断言


Chai 是一个节点断言库。主要应用于BDD和TDD框架中。它可以轻松地与任何 JavaScript 测试框架集成。Chai 的官方文档可在以下链接中找到 -

www.npmjs.com/package/chai

要安装 Chai 并将其条目添加到 package.json 文件中,请运行以下命令 -

npm install --save-dev chai

有关 package.json 文件的详细信息,请参阅标题为 Package.json 的章节。

您的计算机上将出现以下屏幕 -

断言库

安装后,我们必须添加以下语句以在代码中添加预期的 Chai 样式。

require('chai').expect

句法

Chai 断言的语法如下 -

const c = require('chai').expect
c(p.getValue()).to.equal('subject')

让我们实现 Chai 断言并验证在下面的下拉列表中选择的选项是否符合预期结果。

柴断言

有关如何处理下拉菜单的详细信息将在“处理下拉菜单”一章中详细讨论。

首先,按照标题为“使用 WebdriverIO 的快乐路径流”一章中的步骤 1 到 5 进行操作,如下所示 -

步骤 1 - 安装 NodeJS。有关如何执行此安装的详细信息,请参阅标题为 NodeJS 入门的章节。

步骤 2 - 安装 NPM。有关如何执行此安装的详细信息,请参阅标题为“NPM 安装”的章节。

步骤 3 - 安装 VS Code。有关如何执行此安装的详细信息,请参阅标题为 VS Code 安装的章节。

步骤 4 - 创建配置文件。有关如何执行此安装的详细信息,请参阅标题为“配置文件生成”的章节。

步骤 5 - 创建规格文件。有关如何执行此安装的详细信息,请参阅标题为“Mocha 安装”的章节。

步骤 6 - 在创建的 Mocha 规范文件中添加以下代码。

require('chai').expect
//import chai library
const c = require('chai').expect
describe('Tutorialspoint application', function(){
   //test case
   it('Drodowns with Chai Assertion', function(){    
      // launch url
      browser.url('https://www.tutorialspoint.com/tutor_connect/index.php')  
      //identify dropdown 
      const p = $("select[name='selType']") 
      //select by index
      p.selectByIndex(1)
      //get option selected
      console.log(p.getValue() + ' - option selected by index')
      //verify option selected with chai assertion
      c(p.getValue()).to.equal('name')
      //select by visible text
      p.selectByVisibleText('By Subject')
      //get option selected
      console.log(p.getValue() + ' - option selected by visible text')
      //verify option selected with chai assertion
      c(p.getValue()).to.equal('subject')
      //select by value attribute
      p.selectByAttribute('value', 'name')
      //get option selected
      console.log(p.getValue() + ' - option selected by attribute value')
      //verify option selected with chai assertion
      c(p.getValue()).to.equal('name')
   });
});

使用以下命令运行配置文件 - wdio.conf.js 文件 -

npx wdio run wdio.conf.js

有关如何创建配置文件的详细信息将在标题为 Wdio.conf.js 文件的章节和标题为配置文件生成的章节中详细讨论。

您的计算机上将出现以下屏幕 -

Chai 断言屏幕

命令成功执行后,首先在控制台中打印通过选项索引 - 名称选择的选项的值。然后,使用选项可见文本 - 主题选择的选项的值将打印在控制台中。最后,在控制台中打印通过选项属性值-名称选择的选项的值。

此外,我们得到了 PASSED 结果,表明应用于下拉列表的所有 Chai 断言都已通过。

让我们实现另一个 Chai 断言并验证获得的警报文本是否符合预期结果。

柴断言的应用

有关如何处理警报的详细信息将在标题为“警报”的章节中详细讨论。

首先,按照标题为“使用 WebdriverIO 的快乐路径流”一章中的步骤 1 到 5 进行操作,如下所示 -

步骤 1 - 安装 NodeJS。有关如何执行此安装的详细信息,请参阅标题为 NodeJS 入门的章节。

步骤 2 - 安装 NPM。有关如何执行此安装的详细信息,请参阅标题为“NPM 安装”的章节。

步骤 3 - 安装 VS Code。有关如何执行此安装的详细信息,请参阅标题为 VS Code 安装的章节。

步骤 4 - 创建配置文件。有关如何执行此安装的详细信息,请参阅标题为“配置文件生成”的章节。

步骤 5 - 创建规格文件。有关如何执行此安装的详细信息,请参阅标题为“Mocha 安装”的章节。

步骤 6 - 在创建的 Mocha 规范文件中添加以下代码。

//import chai library
const c = require('chai').expect
// test suite name
describe('Tutorialspoint application', function(){
   //test case
   it('Alerts with Chai Assertion', function(){    
      // launch url
      browser.url('https://the-internet.herokuapp.com/javascript_alerts')  
      //identify element with xpath then click
      $("//*[text()='Click for JS Prompt']").click()
      //check if Alert is open
      console.log(browser.isAlertOpen())   
      //get Alert Text
      console.log(browser.getAlertText() + ' - Alert Text') 
      //verify Alert text with Chai assertion
      c(browser.getAlertText()).to.equal("I am a JS prompt")
      //accept Alert
      browser.acceptAlert()
   });
});

使用以下命令运行配置文件 - wdio.conf.js 文件 -

npx wdio run wdio.conf.js 

有关如何创建配置文件的详细信息将在标题为 Wdio.conf.js 文件的章节和标题为配置文件生成的章节中详细讨论。

您的计算机上将出现以下屏幕 -

Chai 断言配置

命令成功执行后,首先在控制台中打印 true,因为它是由 browser.isAlertOpen() 方法返回的。然后,控制台中会打印出Alert文本-我是JS提示。

此外,我们还得到了 PASSED 结果,表明应用于警报文本的 Chai 断言已经通过。