我一直在浏览我正在使用的Angular应用程序,使用Protractor为应用程序的所有不同部分测试CRUD功能。所有CRUD页面都有创建/编辑按钮,无论您使用哪个页面,按钮都会打开相同的模式,无论是创建还是编辑。
我不一致地遇到上述问题。我确实会运行测试并且它会给我这个错误而不打开模态,然后我再次运行它,它将打开模态并且相同的精确测试将通过。然后再次尝试确保它再次失败。 ETC
让测试的唯一问题似乎是浏览器/测试套件的问题,而不是实际的代码,这真令人讨厌。为了清楚起见,我在Chrome中对此进行了测试。
处理此类问题的方法是什么,问题是传递和失败的不一致?我不清楚究竟需要修复什么设置。
答案 0 :(得分:6)
很难说没有看到并运行您的实际测试,但这里有一些尝试:
最大化浏览器窗口:
browser.driver.manage().window().maximize();
使用elementToBeClickable
内置的预期条件:
var EC = protractor.ExpectedConditions;
var elm = element(by.id("myelement"));
browser.wait(EC.elementToBeClickable(elm), 5000);
browser.executeScript("arguments[0].scrollIntoView();", elm.getWebElement());
browser.actions().mouseMove(elm).click(elm).perform();
点击通过javascript :
browser.executeScript("arguments[0].click();", elm.getWebElement());