我有一个角度页面,根据radioButton的值显示或隐藏国家dropDownList。如果rb为真,则ddl被隐藏,如果ddl为假,则显示ddl。这是直接在ddl HTML中完成的,将以下属性添加到select标记:String
。
除了以下量角器测试外,所有工作都按预期进行:
ng-show="!vm.inscriptor.isLocalCountry"
正如预期的那样,当点击真值的单选按钮时,ddl会被隐藏,但是" isDisplayed" expect会抛出以下错误:
预计是假的。
我能想到的唯一原因是在单击完成处理之前正在执行expect语句。我尝试按以下方式重构测试:
it(testNumber++ + " ddl de países debería estar oculto", function () {
pages.register.rbdLocalCountryTrue.click();
expect(pages.register.ddlCountries.isPresent()).toBeTruthy();
expect(pages.register.ddlCountries.isDisplayed()).toBeFalsy();
});
但我仍然会得到随意的结果。
如果我添加一个browser.sleep(5000),那么期望结果会正确显示,但我读过的所有地方都说browser.sleep是最后的手段。
还有其他方法告诉量角器等待点击完成处理吗?还有其他建议吗?
THX
答案 0 :(得分:1)
您可以使用click()
在Click()
之后隐藏元素。另外,你不需要将expect()
和it(testNumber++ + " ddl de países debería estar oculto", function () {
pages.register.rbdLocalCountryTrue.click();
browser.wait(protractor.ExpectedConditions.invisibilityOf(pages.register.ddlCountries), 10000);
expect(pages.register.ddlCountries.isPresent()).toBeTruthy();
expect(pages.register.ddlCountries.isDisplayed()).toBeFalsy();
});
的承诺链接起来,因为量角器控制流为你做了
你可以有这样的东西
awk -F ',' 'BEGIN{IGNORECASE=1}{sub("-"$NF"$","",$1);print "str1="$1}' YourFile