我正在本地计算机上运行赛普拉斯。在线关注一些教程。我在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不是函数
我敢肯定,这应该是一个小的配置。但是,我尝试按照https://github.com/cypress-io/cypress-xpath#readme给出的确切步骤操作。
致谢
MeBhiAutomationTester
答案 0 :(得分:1)
我通过git bash使用npm删除并重新设置了cypress和xpath,并且有效。
以前,我使用node.js命令提示符进行设置。使用相同的npm命令安装xpath之后,xpath已成功下载,但是,node_modules中的目录名称仅为xpath而不是cypress-xpath。现在,即使我在index.json文件下有require('xpath'),它仍然无法检测到xpath。