Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 如何使用jasmine expect(check).toContain(value)用空格验证动态值?_User Interface_Selenium Webdriver_Protractor_Ui Automation - Fatal编程技术网

User interface 如何使用jasmine expect(check).toContain(value)用空格验证动态值?

User interface 如何使用jasmine expect(check).toContain(value)用空格验证动态值?,user-interface,selenium-webdriver,protractor,ui-automation,User Interface,Selenium Webdriver,Protractor,Ui Automation,我想验证一个值,它是动态的,可以从一个页面检索到另一个页面。该元素上也有空间。 下面是我的代码 第1页 var PerAge = element(by.css("h1 > span.ng-binding")).getText(); 此元素上有空格,如->name 第2页->其他页面中显示的相同值。此元素上没有空间 var HumAge = element(by.repeater("slide in ctrl.slides track by $index")).getText(); 现

我想验证一个值,它是动态的,可以从一个页面检索到另一个页面。该元素上也有空间。 下面是我的代码

第1页

var PerAge = element(by.css("h1 > span.ng-binding")).getText(); 
此元素上有空格,如->
name

第2页->其他页面中显示的相同值。此元素上没有空间

var HumAge = element(by.repeater("slide in ctrl.slides track by $index")).getText();
现在,我想验证第2页上的值是否相同。因为中继器有很多其他的值,所以我使用.toContain来验证这些值。 这里的问题是,PerAge有空间

var HumAge = element(by.repeater("slide in ctrl.slides track by $index")).getText();
我检查了这个堆栈溢出问题,但它不起作用。

它返回以下错误

预期“Shane”包含“Shane”

我尝试了
trim
,但它无法识别trim。 我不能像下面那样使用
.ToEqual
,因为元素有很多其他东西

expect(PerAge).toEqual('\xA0HumAge')

如果我理解正确,您可以在第1页检索如下值:

var PerAge = element(by.css("h1 > span.ng-binding")).getText(); 
并在第2页上使用它进行比较:

var HumAge = element(by.repeater("slide in ctrl.slides track by $index")).getText()
expect(HumAge).toEqual(PerAge);
由于存在空格,此操作失败

无法使用
.trim()
的原因是
.getText()
返回承诺。在使用
.trim()
之前,首先需要解决承诺问题

你能做的就是举个例子。如果您使用像Babel这样的transpiler或使用都支持Async/Await的TypeScript,您还可以找到一个代码示例

var PerAge,HumAge;
元素(by.css(“h1>span.ng绑定”)).getText()
.然后(函数(文本){
PerAge=text.trim();
});
//转到第2页
元素(by.repeater(“slide in ctrl.slides track by$index”)).getText()
.然后(函数(文本){
HumAge=text.trim();
});
期望值(HumAge)、toEqual(PerAge);
//如果您可以使用async Wait,因为您可以使用Babel进行传输,或者使用typescript,那么您可以这样做来整理代码
//$是“css”-定位器的量角器缩写
const PerAge=(wait$('h1>span.ng binding').getText()).trim();
const HumAge=(wait$('[ng repeater=“slide in ctrl.slides track by$index”]').getText()).trim();
期望值(HumAge)、toEqual(PerAge)