typescript - 类型 'By' 的参数不可分配给类型 'ProtractorBy | WebElement' 的参数

标签 typescript protractor

我正在尝试学习 Protractor ,并且我有一个包含以下代码的项目设置:

var elementToWaitFor = by.id(controlIdToWaitFor);
browser.wait(x=> browser.isElementPresent(elementToWaitFor));

这给出了 typescript 错误:

Argument of type 'By' is not assignable to parameter of type 'ProtractorBy | WebElement'

但是,如果我这样做:

var elementToWaitFor = $('#' + controlIdToWaitFor);
browser.wait(x=> browser.isElementPresent(elementToWaitFor));

错误消失。

我认为那些应该是相同的。我猜我遇到了 Protractor 与 Selenium 的问题,但我不确定解决方法是什么。

注意:我的 typescript 文件顶部有此内容(如果相关):

import {browser, element, by, By, $, $$, ExpectedConditions, protractor} from 'protractor';

最佳答案

这些是相同的:

var elementToWaitFor = element(by.id(controlIdToWaitFor));
var elementToWaitFor = $('#' + controlIdToWaitFor);

关于typescript - 类型 'By' 的参数不可分配给类型 'ProtractorBy | WebElement' 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727646/

相关文章:

javascript - Protractor 是否以任何方式依赖于 AngularJS 版本?

selenium - 离线机器上的 Protractor

javascript - Protractor-检索函数中全局数组的值

Typescript - 共享方法但不是从共享基类派生的类

javascript - 单击具有与文本匹配的相同类的元素并退出 Protractor

Protractor 清除下拉菜单

javascript - 如何使用 Typescript 和 Material UI 将处理程序传递给 onClick

javascript - 嵌套的 Promise 结构顺序

javascript - 在单元测试中模拟 Angular 2 组件依赖

javascript - 倒数计时器不循环工作和休息时间