NoSuchElementError:使用定位器找不到任何元素不会使量角器规格不合格,但可以完美地通过

时间:2019-02-06 20:53:09

标签: javascript typescript protractor e2e-testing

这是一个使用页面对象模型的自动化框架。我对诺言使用异步/等待方法。我正在使用TS,将其编译为JS(量角器),然后执行脚本。

页面对象:

 async addProjectDetails(): Promise<void> {

        expect(await this.currentStep.getText()).toBe("Records"); //There is  no element like this, which I know.
        await this.projectTitle.sendKeys("Project Feb 1");
        await this.projectDescription.sendKeys("Project Description");
}

规格:

it('should create a project successfully', async () => {
        try {
            await dashboard.createNewProject();
            await dashboard.addProjectDetails();
}

页面已加载,该元素不存在。我收到错误消息:

NoSuchElementError: No element found using locator: By(xpath, //custom-expandable-title[@class='not-completed active']//span[@class='child-title'])

但是,通过规范并没有失败。它不应该失败。这不是误报吗?

1 个答案:

答案 0 :(得分:0)

try中引发的错误不会影响最终结果,它们将停止执行try块并开始执行catch块。如果您希望测试的行为像这样,则必须将addProjectDetails的调用移出try块。