赛普拉斯无法识别Xpath功能

时间:2020-09-25 18:42:36

标签: xpath automation cypress

我正在本地计算机上运行赛普拉斯。在线关注一些教程。我在Cypress中遇到了使用xpath的问题,并且正在尝试.js文件中的以下代码。

/// <reference types = "cypress" />
describe ("Test Contact us form",()=>{
    it("Should be able to submit the form", ()=>{
        cy.visit('some uurl');
        cy.xpath('//a[contains (@href, "contact")]').click();
     });
})

这是我的xpath node_modules目录路径的样子

\Projects\node_modules\xpath

这是我的index.js

// Alternatively you can use CommonJS syntax:
// require('./commands')
require('xpath')

这是我的package.json

{
  "name": "projects",
  "version": "1.0.0",
  "description": "test",
  "main": "index.js",
  "scripts": {
    "test": "Thisistest"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "cypress": "^5.2.0",
    "xpath": "0.0.29"
  }
}

这是package-lock.json的代码段

"xpath": {
      "version": "0.0.29",
      "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.29.tgz",
      "integrity": "some key",
      "dev": true
    },

运行测试后,出现以下编译错误。
它是TypeError。
cy.xpath不是函数

enter image description here

我敢肯定,这应该是一个小的配置。但是,我尝试按照https://github.com/cypress-io/cypress-xpath#readme给出的确切步骤操作。

致谢
MeBhiAutomationTester

1 个答案:

答案 0 :(得分:1)

我通过git bash使用npm删除并重新设置了cypress和xpath,并且有效。

以前,我使用node.js命令提示符进行设置。使用相同的npm命令安装xpath之后,xpath已成功下载,但是,node_modules中的目录名称仅为xpath而不是cypress-xpath。现在,即使我在index.json文件下有require('xpath'),它仍然无法检测到xpath。