Я новичок в написании тестов в транспортире. Я хотел бы иметь возможность отправлять число элементу. Я все время получаю сообщение об ошибке «Ошибка: ввод должен быть строкой». Тип ввода для элемента - число. Любая помощь / обратная связь будут очень благодарны.
Вот мой код:
//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();
Пожалуйста, ознакомьтесь с этим ответом, чтобы узнать о различиях между toBe и toEqual. В этой ситуации, если вы сравниваете число со строкой, подумайте об использовании toEqual. TL; DR; toBe подобен ===, а toEqual подобен ==. stackoverflow.com/questions/22413009/…



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваш '200' - строка, быстрая проверка, присутствует ли число
it('should be a number', () => {
let x = 1234;
let y = [];
y.push(x);
expect(y[0]).toEqual(jasmine.any(Number));
});
Вы можете сделать больше, но дело в том, что кавычки будут преобразованы в строку.
если
pageотносится к функции, тоpage.numне существует. Это зависит от того, как вы импортируете модуль страницы. Не могли бы вы предоставить код, который поясняет, что такое каждая переменная?