Protractor 量角器测试没有完成,似乎一直循环,直到jasmine超时错误出现

Protractor 量角器测试没有完成,似乎一直循环,直到jasmine超时错误出现,protractor,Protractor,我觉得自己很笨,因为我无法进行最基本的量角器测试。给定量角器5.4.1,我有一个规范js describe('my example tests', () => { const EC = protractor.ExpectedConditions; it('tests google', async () => { await browser.waitForAngularEnabled(false); await browser.get("https:

我觉得自己很笨,因为我无法进行最基本的量角器测试。给定量角器5.4.1,我有一个规范js

describe('my example tests', () => {
  const EC = protractor.ExpectedConditions;
    it('tests google', async () => {
      await browser.waitForAngularEnabled(false);
      await browser.get("https://google.com");
      await browser.wait(EC.visibilityOf($('input')));
      await element(by.css("input")).click();});});
还有一个

exports.config = {

  directConnect: true,
  specs: ['tests/**/*.js'],
  capabilities: {
    browserName: 'chrome',
  },

  SELENIUM_PROMISE_MANAGER: false,

  jasmineNodeOpts: {
    defaultTimeoutInterval: 40000
  }
};
当运行
gragrator conf.js
时,浏览器会打开,转到页面,然后在40秒jasmine超时到来之前不会发生任何事情。我每秒收到约25次警告
W/元素-通过(css选择器,输入)为定位器找到多个元素-将使用第一个结果

好像某个命令在无休止的循环中运行,直到我得到一个错误
错误:超时-异步回调没有在jasmine指定的超时内调用。默认的\u Timeout \u INTERVAL.
这不会告诉我太多,很难用谷歌搜索


有人遇到过这个问题吗?

在谷歌页面上,定位器$('input')匹配许多元素,这就是为什么会出现警告。第一个被使用了,但不幸的是,第一个被隐藏了。所以
wait browser.wait(EC.visibilityOf($('input'))失败,导致超时错误。
使用定位器在页面上定位唯一且不隐藏的输入元素,比如
element(by.name('q'))
应该工作得更好


我喜欢,它提供了waitToBeDisplayed之类的包装器,如果我没记错的话,它的错误报告就不那么通用了(我已经有一段时间没有使用它了)。

在谷歌页面上,定位器$('input')匹配许多元素,这就是为什么会出现警告。第一个被使用了,但不幸的是,第一个被隐藏了。所以
wait browser.wait(EC.visibilityOf($('input'))失败,导致超时错误。
使用定位器在页面上定位唯一且不隐藏的输入元素,比如
element(by.name('q'))
应该工作得更好


我喜欢,它提供了waitToBeDisplayed之类的包装器,如果我没记错的话,它的错误报告就不那么通用了(我使用它已经有一段时间了)。

页面上的第一个输入字段看起来是隐藏的,这可以解释为什么等待它的可见性失败。尝试查找名为“q”的元素,以便等待browser.wait(EC.visibilityOf(element)(by.name('q'));并等待元素(按.name('q'))。单击();等等,你完全正确,这是对可视性的等待。。。wtf我是否只收到这样一条一般性的错误消息,而不是“等待元素可见超时”--是否要创建一个我可以接受的答案?页面上的第一个输入字段看起来是隐藏的,这可以解释为什么等待其可见性失败。尝试查找名为“q”的元素,以便等待browser.wait(EC.visibilityOf(element)(by.name('q'));并等待元素(按.name('q'))。单击();等等,你完全正确,这是对可视性的等待。。。wtf我是否只收到这样一个一般性的错误消息,而不是“等待元素可见超时”--是否要创建一个我可以接受的答案?