如何解决赛普拉斯的问题具有价值并进行比较范围变量
我有这个HTML结构:
id = cy.get('tbody#the-list td').first().invoke('val')
我必须获取ID的值,然后在另一个网站上进行比较:
我必须获取第一个表ID,我可以通过以下cypress命令获取它:
describe('Registration',() => {
const email = 'nedo@go.br'
const password = 'pedhu'
var id
it('create new Nedo',() => {
cy.visit('https://test.nedo/wp-admin')
cy.get('input[name=log]').type(email)
cy.get('input[name=pwd]').type(password)
cy.get('input#wp-submit').click()
cy.visit('https://test.nedo/edit.php?post_type=nedo')
id = cy.get('tbody#the-list td').first().invoke('val')
})
it('id',() => {
cy.visit('https://nedostaging.z.hu/login')
cy.get('input[name=email]').type('team@nedo.hi')
cy.get('input[name=password]').type('nedo')
cy.get('button').contains('Login').click()
cy.get('#hometable > tbody > tr > td:nth-child(4)').each(($e,index,$list) => {
const text = $e.text()
cy.log(id)
if (text.includes(id)) {//if I put a number instead of id it works
assert.strictEqual(text,'{"id":'+id+'}','id nedo ok')
}
})
})
仅当我去比较变量id的值时。它永远不会进入if分支。如果我输入7156之类的值,则会进入if分支并进行比较。
下面的测试代码:
{{1}}
cy.log(id):
解决方法
要处理同源策略,可以在"chromeWebSecurity": false
文件中写入cypress.json
。但这仅适用于chrome浏览器。
describe('Registration',() => {
const email = 'nedo@go.br'
const password = 'pedhu'
before(() => {
cy.visit('https://test.nedo/wp-admin')
cy.get('input[name=log]').type(email)
cy.get('input[name=pwd]').type(password)
cy.get('input#wp-submit').click()
cy.visit('https://test.nedo/edit.php?post_type=nedo')
cy.get('tbody#the-list td').first().invoke('val').as('id')
})
it('id',() => {
cy.visit('https://nedostaging.z.hu/login')
cy.get('input[name=email]').type('team@nedo.hi')
cy.get('input[name=password]').type('nedo')
cy.get('button').contains('Login').click()
cy.get('@id').then((id) => {
cy.get('#hometable > tbody > tr > td:nth-child(4)').each(($e,index,$list) => {
const text = $e.text()
cy.log(id)
if (text.includes(id)) { //if I put a number instead of id it works
assert.strictEqual(text,'{"id":' + id + '}','id nedo ok')
}
})
})
})
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。