在我们的项目中,有不同的URL分配给不同的产品类别。如果产品类别为“Cat1”,则单击“编辑”按钮应将用户带到“Cat1”页面,而“Cat2”应将用户带到“Cat2”页面。但是,这些类别位于动态表中,因此我们不能对编辑按钮使用修复引用,我正在尝试使其成为动态的。下面是我的代码段:
it('should take the user to appropriate page', function () {
expect(globalVariables.Edit_Button_1.isDisplayed());
// get rows
var row_1 = globalVariables.tableData_Dashboard.all(by.tagName("tr")).get(1);
// get cell values
var cells = row_1.all(by.tagName("td"));
var Cetegory = cells.get(3).getText().then(function (GL) {
// console.log(GL)
return GL;
});
globalVariables.Edit_Button_1.click();
browser.wait(EC.invisibilityOf(globalVariables.Edit_Button_1), 25000, 'Edit button is not disappearing yet');
if (Cetegory.endsWith('Cat1')){
expect(browser.getCurrentUrl()).toEndWith("Cat1");
}
else {
expect(browser.getCurrentUrl()).toEndWith("Cat2")
}
测试失败,日志为“failed:cetegories.endswith不是函数。”。
如何解决这个问题?