Yte*_*Yte 3 javascript string variables sign protractor
我用以下代码制作代码
element(by.className('charge')).getText()
.then(function(text){
var blabla = "Is this my string?";
expect(text.match(blabla)).toBe(true);
console.log(text);
});
Run Code Online (Sandbox Code Playgroud)
甚至我的控制台的输出等于我的blabla变量,我得到的结果:
预期['这是我的字符串']是真的.
没有任何"?" 标志.
这怎么可能?
论证match是:
正则表达式对象.如果传递了非RegExp对象obj,则使用新的RegExp(obj)将其隐式转换为RegExp.
所以不要传递一个字符串.明确地将它传递给一个正则表达式对象(因为这会将字符串转换为正则表达式并且必须处理两级语法以逃避).
正则表达式?视为一个特殊字符(在代码的上下文中,它表示" g应该出现0或1次".如果要匹配它们,则需要转义问号.
var blabla = /Is this my string\?/;
Run Code Online (Sandbox Code Playgroud)
也就是说,如果你想匹配整个字符串,那么测试就更容易了:
var blabla = "Is this my string?";
expect(text).toBe(blabla);
Run Code Online (Sandbox Code Playgroud)