【问题标题】:How to pass numbers to an element如何将数字传递给元素
【发布时间】:2018-12-24 11:00:28
【问题描述】:

我是在 Protractor 中编写测试的新手。我希望能够向元素发送一个数字。我不断收到错误“失败:输入必须是字符串”。元素的输入类型是数字。任何帮助/反馈将不胜感激。

这是我的代码:

//spec
describe('Send number', function () {
    var page = require('./page');
    it('Should pass a number to element', function () {
        var num = page.num;
        element(by.id(num)).sendKeys('200');
        expect(num).toBe('200');
    });
});

//page
var page = function(){
    this.num = element(by.model('num'));
}
module.exports = new page();

【问题讨论】:

  • 如果page指的是函数,那么page.num不存在。这取决于您如何导入页面模块。你能提供清楚每个变量是什么的代码吗?
  • 请查看此答案以了解 toBetoEqual 之间的区别。在这种情况下,如果您将数字与字符串进行比较,请考虑使用toEqual。 TLDR; toBe 就像 ===toEqual 就像 ==stackoverflow.com/questions/22413009/…

标签: javascript angularjs protractor


【解决方案1】:

你的 '200' 是一个字符串,一个数字是否存在的快速测试

it('should be a number', () => {
    let x = 1234;
    let y = [];
    y.push(x);
    expect(y[0]).toEqual(jasmine.any(Number));
  });

你可以做更多,但重点是使用引号将转换为字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-04
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2022-06-10
    • 1970-01-01
    • 2011-07-15
    相关资源
    最近更新 更多