想要验证字符串的一部分不应该为空
Want to validate the part of a string shouldn't be null
我有以下元素,其中包含 Practitioner
的字符串,其值为 1- zzz
。如何在 -
之后验证它不应该是 null
。即使有字符串或空。它不应该打印 null
。还想selectPractitioner
下的值(目前硬编码元素的位置为2
)
<div class="styles__container___BfTYi">
<div class="styles__subHeader___18Yg1">Practitioner</div>
<div class="styles__data___1senX">1- zzz</div>
</div>
我有以下代码来检索文本,
cy.get(pageSelector.practitionerValidator).eq(2).then(function($getText) {
let practitionerName = $getText.text();
var validateLastName = practitionerName.split(' ');
cy.log(validateLastName[1]);
expect(validateLastName[1]).to.not.equal('null');
})
可以直接检查整个字符串是不是null
这样的:
cy.get('.styles__data___1senX').then(($ele) => {
expect($ele.text()).to.not.be.null
})
或者如果你想检查你的内部文本是否为空,你可以这样做:
cy.get('.styles__data___1senX').then(($ele) => {
expect($ele.text()).to.not.be.empty
})
您可以从文本 Practitioner
中找到选择器,如下所示:
cy.contains('Practitioner')
.parent()
.within(() => {
cy.get('div[class*="styles__data__"]').then(($ele) => {
expect($ele.text()).to.not.be.null
})
})
感谢您提供的详细程度。
我将放弃这个假设。
Practitioner
字符串将是随机的,在 -
之后可以有 space 或没有 space(即 34- sdfwe
、3-
, 1-
)
我会使用正则表达式来检查字符串的格式,以检查字符串是否以数字开头,后跟破折号和 space 以及字符串、spaces 或什么都没有. /\d+\-\s(\w+|\s+)?/
您的代码看起来有点像这样。
cy.get(pageSelector.practitionerValidator)
.eq(2)
.invoke('text') // get text
.should('match', /\d+\-\s(\w+|\s+)?/) // use regex assertion
我有以下元素,其中包含 Practitioner
的字符串,其值为 1- zzz
。如何在 -
之后验证它不应该是 null
。即使有字符串或空。它不应该打印 null
。还想selectPractitioner
下的值(目前硬编码元素的位置为2
)
<div class="styles__container___BfTYi">
<div class="styles__subHeader___18Yg1">Practitioner</div>
<div class="styles__data___1senX">1- zzz</div>
</div>
我有以下代码来检索文本,
cy.get(pageSelector.practitionerValidator).eq(2).then(function($getText) {
let practitionerName = $getText.text();
var validateLastName = practitionerName.split(' ');
cy.log(validateLastName[1]);
expect(validateLastName[1]).to.not.equal('null');
})
可以直接检查整个字符串是不是null
这样的:
cy.get('.styles__data___1senX').then(($ele) => {
expect($ele.text()).to.not.be.null
})
或者如果你想检查你的内部文本是否为空,你可以这样做:
cy.get('.styles__data___1senX').then(($ele) => {
expect($ele.text()).to.not.be.empty
})
您可以从文本 Practitioner
中找到选择器,如下所示:
cy.contains('Practitioner')
.parent()
.within(() => {
cy.get('div[class*="styles__data__"]').then(($ele) => {
expect($ele.text()).to.not.be.null
})
})
感谢您提供的详细程度。
我将放弃这个假设。
Practitioner
字符串将是随机的,在-
之后可以有 space 或没有 space(即34- sdfwe
、3-
,1-
)
我会使用正则表达式来检查字符串的格式,以检查字符串是否以数字开头,后跟破折号和 space 以及字符串、spaces 或什么都没有. /\d+\-\s(\w+|\s+)?/
您的代码看起来有点像这样。
cy.get(pageSelector.practitionerValidator)
.eq(2)
.invoke('text') // get text
.should('match', /\d+\-\s(\w+|\s+)?/) // use regex assertion