在TestCafe中断言空文本框。

huangapple go评论148阅读模式
英文:

Assert empty textbox in testcafe

问题

我正在验证文本框是否为空。我不确定我在这里做错了什么。

页面对象方法
async getTextVal(){
  await this.t.selectText(this.editor) //选择文本框
  return this.editor.innerText; //获取文本框中的值      
}
测试用例
await t.expect(element.getTextVal()).eql(''); //断言语句

如果存在值,getTextVal 就能正常工作。但是在检查空值时,它会失败。

英文:

I am validating if the text box is empty or not. I am not sure what am I doing wrong here.

Page Object method
async getTextVal(){
  await this.t.selectText(this.editor) //selecting the text box
  return this.editor.innerText; //fetching the value in the textbox      
}
TestCase
await t.expect(element.getTextVal()).eql(''); //assert statement

the getTextVal works fine if there is a value present. But checking empty value it fails

答案1

得分: 0

尝试
Page Object 方法
async getTextVal(){
  await this.t.selectText(this.editor) // 选择文本框
  return await this.editor.innerText; // 获取文本框中的值
}
测试用例
await t.expect(await element.getTextVal()).eql(''); // 断言语句
英文:

try

Page Object method
async getTextVal(){
  await this.t.selectText(this.editor) //selecting the text box
  return await this.editor.innerText; //fetching the value in the textbox      
}
TestCase
await t.expect(await element.getTextVal()).eql(''); //assert statement

答案2

得分: 0

另外,如果没有方法,只有一个选择器,可以像这样完成:

await t.expect(selector.innerText).eql('');

您还可以在页面对象文件中设置您的选择器:

import { Selector, t } from "testcafe";

class PageObjectFile {
    constructor() {
        // 输入字段,可以是许多不同样式的选择器/框架
        this.inputField = Selector('.class-input-element');
        this.inputFieldTwo = Selector('#id-input-element');
    }
}

export default PageObjectFile;

并且您的测试文件如下所示:

import PageObjectFile from "/PageObjectFile";

let pageObjectFile = new PageObjectFile();

fixture `测试输入字段是否为空`
    .page(`https://examplepage.com`)

test(`用户看到空的输入字段`, async t => {
     await t.expect(pageObjectFile.inputField.innerText).eql('');
});
英文:

Also, without a method just a selector this can be done like so:

await t.expect(selector.innerText).eql('');

You can also setup your selector in a page object file:

import { Selector, t } from "testcafe";

class PageObjectFile {
    constructor() {
        // input field, this could be many different styles of selectors / frameworks
        this.inputField = Selector('.class-input-element');
        this.inputFieldTwo = Selector('#id-input-element');
    }
}

export default PageObjectFile;

And your test file like this:

import PageObjectFile from "/PageObjectFile";

let pageObjectFile = new PageObjectFile();

fixture `Tests input field is empty`
    .page(`https://examplepage.com`)


test(`User see's an empty input field`, async t => {
     await t.expect(pageObjectFile.inputField.innerText).eql('');
});

huangapple
  • 本文由 发表于 2020年4月9日 08:00:09
  • 转载请务必保留本文链接:https://go.coder-hub.com/61111899.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定